All functions:
  Elements:
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: mhd_pool_destroy
      Src: /src/connection_helper.cpp:40,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 41
      start: 39
    functionDepth: 1
    functionLinenumber: 39
    functionLinenumberEnd: 41
    functionName: destroy_global_pool
    functionSourceFile: /src/connection_helper.cpp
    functionUses: 0
    functionsReached:
    - mhd_pool_destroy
    linkageType: ''
    returnType: void
    signature: void destroy_global_pool()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: insert
      Src: /src/connection_helper.cpp:46,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' c'
    argTypes:
    - MHD_Connection
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 47
      start: 45
    functionDepth: 0
    functionLinenumber: 45
    functionLinenumberEnd: 47
    functionName: mark_post_parse_ready
    functionSourceFile: /src/connection_helper.cpp
    functionUses: 0
    functionsReached:
    - insert
    linkageType: ''
    returnType: void
    signature: void mark_post_parse_ready(MHD_Connection& c)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: find
      Src: /src/connection_helper.cpp:51,1
    - Dst: end
      Src: /src/connection_helper.cpp:51,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' c'
    argTypes:
    - MHD_Connection
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 52
      start: 50
    functionDepth: 0
    functionLinenumber: 50
    functionLinenumberEnd: 52
    functionName: is_post_parse_ready
    functionSourceFile: /src/connection_helper.cpp
    functionUses: 0
    functionsReached:
    - end
    - find
    linkageType: ''
    returnType: bool
    signature: bool is_post_parse_ready(const MHD_Connection& c)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: erase
      Src: /src/connection_helper.cpp:56,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' c'
    argTypes:
    - MHD_Connection
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 57
      start: 55
    functionDepth: 0
    functionLinenumber: 55
    functionLinenumberEnd: 57
    functionName: clear_post_parse_ready
    functionSourceFile: /src/connection_helper.cpp
    functionUses: 0
    functionsReached:
    - erase
    linkageType: ''
    returnType: void
    signature: void clear_post_parse_ready(const MHD_Connection& c)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: MHD_response_destroy
      Src: /src/connection_helper.cpp:62,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 1
    argNames:
    - c
    argTypes:
    - MHD_Connection
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 68
      start: 60
    functionDepth: 1
    functionLinenumber: 60
    functionLinenumberEnd: 68
    functionName: destroy_error_response
    functionSourceFile: /src/connection_helper.cpp
    functionUses: 0
    functionsReached:
    - MHD_response_destroy
    linkageType: ''
    returnType: bool
    signature: bool destroy_error_response(MHD_Connection c)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::string
      Src: /src/connection_helper.cpp:75,1
    - Dst: PickValueInArray
      Src: /src/connection_helper.cpp:75,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' fdp'
    argTypes:
    - FuzzedDataProvider
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 76
      start: 71
    functionDepth: 0
    functionLinenumber: 71
    functionLinenumberEnd: 76
    functionName: pick_method
    functionSourceFile: /src/connection_helper.cpp
    functionUses: 0
    functionsReached:
    - PickValueInArray
    - std::string
    linkageType: ''
    returnType: std::string
    signature: std::string pick_method(FuzzedDataProvider& fdp)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: ConsumeIntegralInRange
      Src: /src/connection_helper.cpp:81,1
    - Dst: std::string::push_back
      Src: /src/connection_helper.cpp:89,1
    - Dst: ConsumeIntegralInRange
      Src: /src/connection_helper.cpp:89,1
    - Dst: std::string::push_back
      Src: /src/connection_helper.cpp:90,1
    - Dst: std::string::push_back
      Src: /src/connection_helper.cpp:91,1
    - Dst: ConsumeIntegralInRange
      Src: /src/connection_helper.cpp:91,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 19
    argCount: 1
    argNames:
    - ' fdp'
    argTypes:
    - FuzzedDataProvider
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 95
      start: 79
    functionDepth: 0
    functionLinenumber: 79
    functionLinenumberEnd: 95
    functionName: pick_http_version
    functionSourceFile: /src/connection_helper.cpp
    functionUses: 0
    functionsReached:
    - std::string::push_back
    - ConsumeIntegralInRange
    linkageType: ''
    returnType: std::string
    signature: std::string pick_http_version(FuzzedDataProvider& fdp)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: mhd_daemon_extend_lbuf_up_to
      Src: /src/connection_helper.cpp:109,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 11
    argCount: 2
    argNames:
    - ' c'
    - min_needed
    argTypes:
    - MHD_Connection
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 112
      start: 98
    functionDepth: 1
    functionLinenumber: 98
    functionLinenumberEnd: 112
    functionName: ensure_lbuf_capacity
    functionSourceFile: /src/connection_helper.cpp
    functionUses: 0
    functionsReached:
    - mhd_daemon_extend_lbuf_up_to
    linkageType: ''
    returnType: bool
    signature: bool ensure_lbuf_capacity(MHD_Connection& c, size_t min_needed)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 132
      start: 126
    functionDepth: 0
    functionLinenumber: 126
    functionLinenumberEnd: 132
    functionName: dummy_reader
    functionSourceFile: /src/connection_helper.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: struct MHD_UploadAction
    signature: "struct MHD_UploadAction *\ndummy_reader(struct MHD_Request*, void*,
      const struct MHD_String*,\n             const struct MHD_StringNullable*, const
      struct MHD_StringNullable*,\n             const struct MHD_StringNullable*,
      size_t, const void*,\n             uint_fast64_t, enum MHD_Bool)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 138
      start: 135
    functionDepth: 0
    functionLinenumber: 135
    functionLinenumberEnd: 138
    functionName: dummy_done
    functionSourceFile: /src/connection_helper.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: struct MHD_UploadAction
    signature: 'struct MHD_UploadAction *

      dummy_done(struct MHD_Request*, void*, enum MHD_PostParseResult)'
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 5
    argNames:
    - cls
    - request
    - path
    - method
    - upload_size
    argTypes:
    - void*
    - struct MHD_Request*
    - struct MHD_String*
    - enum MHD_HTTP_Method
    - uint_fast64_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 148
      start: 141
    functionDepth: 0
    functionLinenumber: 141
    functionLinenumberEnd: 148
    functionName: dummy_request_cb
    functionSourceFile: /src/connection_helper.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: struct MHD_Action
    signature: "struct MHD_Action *\ndummy_request_cb(void* cls,\n                 struct
      MHD_Request* request,\n                 const struct MHD_String* path,\n                 enum
      MHD_HTTP_Method method,\n                 uint_fast64_t upload_size)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: ConsumeIntegralInRange
      Src: /src/connection_helper.cpp:163,1
    - Dst: static_cast<enum MHD_ProtocolStrictLevel>
      Src: /src/connection_helper.cpp:164,1
    - Dst: ConsumeIntegralInRange
      Src: /src/connection_helper.cpp:165,1
    - Dst: ConsumeBool
      Src: /src/connection_helper.cpp:168,1
    - Dst: ConsumeIntegralInRange
      Src: /src/connection_helper.cpp:169,1
    - Dst: ConsumeIntegralInRange
      Src: /src/connection_helper.cpp:177,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 19
    argCount: 3
    argNames:
    - ' fdp'
    - ' d'
    - ' c'
    argTypes:
    - FuzzedDataProvider
    - MHD_Daemon
    - MHD_Connection
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 183
      start: 150
    functionDepth: 0
    functionLinenumber: 150
    functionLinenumberEnd: 183
    functionName: init_daemon_connection
    functionSourceFile: /src/connection_helper.cpp
    functionUses: 0
    functionsReached:
    - ConsumeIntegralInRange
    - static_cast<enum MHD_ProtocolStrictLevel>
    - ConsumeBool
    linkageType: ''
    returnType: void
    signature: "void init_daemon_connection(FuzzedDataProvider& fdp,\n                                   MHD_Daemon&
      d, MHD_Connection& c)"
  - BBCount: 25
    BranchProfiles: []
    Callsites:
    - Dst: ConsumeIntegralInRange
      Src: /src/connection_helper.cpp:188,1
    - Dst: static_cast<char*>
      Src: /src/connection_helper.cpp:189,1
    - Dst: mhd_pool_try_alloc
      Src: /src/connection_helper.cpp:189,1
    - Dst: pick_method
      Src: /src/connection_helper.cpp:199,1
    - Dst: pick_http_version
      Src: /src/connection_helper.cpp:200,1
    - Dst: ConsumeBool
      Src: /src/connection_helper.cpp:201,1
    - Dst: ConsumeBool
      Src: /src/connection_helper.cpp:204,1
    - Dst: ConsumeBool
      Src: /src/connection_helper.cpp:205,1
    - Dst: std::string
      Src: /src/connection_helper.cpp:208,1
    - Dst: std::string
      Src: /src/connection_helper.cpp:211,1
    - Dst: std::string
      Src: /src/connection_helper.cpp:214,1
    - Dst: EOL
      Src: /src/connection_helper.cpp:216,1
    - Dst: ConsumeIntegralInRange
      Src: /src/connection_helper.cpp:221,1
    - Dst: ConsumeIntegralInRange
      Src: /src/connection_helper.cpp:223,1
    - Dst: ConsumeBool
      Src: /src/connection_helper.cpp:227,1
    - Dst: std::to_string
      Src: /src/connection_helper.cpp:228,1
    - Dst: EOL
      Src: /src/connection_helper.cpp:228,1
    - Dst: ConsumeBool
      Src: /src/connection_helper.cpp:229,1
    - Dst: std::to_string
      Src: /src/connection_helper.cpp:230,1
    - Dst: EOL
      Src: /src/connection_helper.cpp:230,1
    - Dst: std::to_string
      Src: /src/connection_helper.cpp:232,1
    - Dst: EOL
      Src: /src/connection_helper.cpp:232,1
    - Dst: ConsumeBool
      Src: /src/connection_helper.cpp:237,1
    - Dst: ConsumeBool
      Src: /src/connection_helper.cpp:238,1
    - Dst: PickValueInArray
      Src: /src/connection_helper.cpp:239,1
    - Dst: EOL
      Src: /src/connection_helper.cpp:241,1
    - Dst: ConsumeIntegralInRange
      Src: /src/connection_helper.cpp:245,1
    - Dst: std::to_string
      Src: /src/connection_helper.cpp:247,1
    - Dst: ConsumeIntegralInRange
      Src: /src/connection_helper.cpp:247,1
    - Dst: EOL
      Src: /src/connection_helper.cpp:252,1
    - Dst: ConsumeBool
      Src: /src/connection_helper.cpp:256,1
    - Dst: ConsumeBool
      Src: /src/connection_helper.cpp:257,1
    - Dst: EOL
      Src: /src/connection_helper.cpp:257,1
    - Dst: std::to_string
      Src: /src/connection_helper.cpp:263,1
    - Dst: ConsumeIntegral
      Src: /src/connection_helper.cpp:263,1
    - Dst: EOL
      Src: /src/connection_helper.cpp:264,1
    - Dst: EOL
      Src: /src/connection_helper.cpp:267,1
    - Dst: EOL
      Src: /src/connection_helper.cpp:270,1
    - Dst: ConsumeBool
      Src: /src/connection_helper.cpp:273,1
    - Dst: std::to_string
      Src: /src/connection_helper.cpp:275,1
    - Dst: ConsumeIntegral
      Src: /src/connection_helper.cpp:275,1
    - Dst: EOL
      Src: /src/connection_helper.cpp:276,1
    - Dst: std::string
      Src: /src/connection_helper.cpp:278,1
    - Dst: ConsumeBool
      Src: /src/connection_helper.cpp:279,1
    - Dst: EOL
      Src: /src/connection_helper.cpp:279,1
    - Dst: ConsumeBool
      Src: /src/connection_helper.cpp:285,1
    - Dst: EOL
      Src: /src/connection_helper.cpp:287,1
    - Dst: ConsumeBool
      Src: /src/connection_helper.cpp:289,1
    - Dst: ConsumeIntegralInRange
      Src: /src/connection_helper.cpp:290,1
    - Dst: std::to_string
      Src: /src/connection_helper.cpp:291,1
    - Dst: EOL
      Src: /src/connection_helper.cpp:291,1
    - Dst: ConsumeBool
      Src: /src/connection_helper.cpp:293,1
    - Dst: ConsumeBool
      Src: /src/connection_helper.cpp:294,1
    - Dst: EOL
      Src: /src/connection_helper.cpp:295,1
    - Dst: EOL
      Src: /src/connection_helper.cpp:297,1
    - Dst: ConsumeBool
      Src: /src/connection_helper.cpp:299,1
    - Dst: ConsumeBool
      Src: /src/connection_helper.cpp:300,1
    - Dst: EOL
      Src: /src/connection_helper.cpp:300,1
    - Dst: EOL
      Src: /src/connection_helper.cpp:304,1
    - Dst: EOL
      Src: /src/connection_helper.cpp:305,1
    - Dst: EOL
      Src: /src/connection_helper.cpp:305,1
    - Dst: std::string::size
      Src: /src/connection_helper.cpp:309,1
    - Dst: std::string::size
      Src: /src/connection_helper.cpp:309,1
    - Dst: memcpy
      Src: /src/connection_helper.cpp:310,1
    - Dst: std::string::data
      Src: /src/connection_helper.cpp:310,1
    CyclomaticComplexity: 28
    EdgeCount: 28
    ICount: 94
    argCount: 2
    argNames:
    - ' fdp'
    - ' c'
    argTypes:
    - FuzzedDataProvider
    - MHD_Connection
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 315
      start: 185
    functionDepth: 1
    functionLinenumber: 185
    functionLinenumberEnd: 315
    functionName: init_connection_buffer
    functionSourceFile: /src/connection_helper.cpp
    functionUses: 0
    functionsReached:
    - std::string::data
    - ConsumeIntegralInRange
    - ConsumeIntegral
    - PickValueInArray
    - std::to_string
    - EOL
    - mhd_pool_try_alloc
    - ConsumeBool
    - std::string
    - static_cast<char*>
    - std::string::size
    - pick_http_version
    - memcpy
    - pick_method
    linkageType: ''
    returnType: void
    signature: void init_connection_buffer(FuzzedDataProvider& fdp, MHD_Connection&
      c)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: ConsumeBool
      Src: /src/connection_helper.cpp:321,1
    - Dst: ConsumeBool
      Src: /src/connection_helper.cpp:326,1
    - Dst: ConsumeBool
      Src: /src/connection_helper.cpp:328,1
    - Dst: ConsumeBool
      Src: /src/connection_helper.cpp:330,1
    - Dst: ConsumeIntegralInRange
      Src: /src/connection_helper.cpp:337,1
    - Dst: ConsumeIntegralInRange
      Src: /src/connection_helper.cpp:339,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 24
    argCount: 2
    argNames:
    - ' fdp'
    - ' c'
    argTypes:
    - FuzzedDataProvider
    - MHD_Connection
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 347
      start: 317
    functionDepth: 0
    functionLinenumber: 317
    functionLinenumberEnd: 347
    functionName: init_parsing_configuration
    functionSourceFile: /src/connection_helper.cpp
    functionUses: 0
    functionsReached:
    - ConsumeIntegralInRange
    - ConsumeBool
    linkageType: ''
    returnType: void
    signature: void init_parsing_configuration(FuzzedDataProvider& fdp, MHD_Connection&
      c)
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: strlen
      Src: /src/connection_helper.cpp:352,1
    - Dst: size
      Src: /src/connection_helper.cpp:353,1
    - Dst: static_cast<char*>
      Src: /src/connection_helper.cpp:354,1
    - Dst: mhd_stream_alloc_memory
      Src: /src/connection_helper.cpp:354,1
    - Dst: static_cast<char*>
      Src: /src/connection_helper.cpp:355,1
    - Dst: mhd_stream_alloc_memory
      Src: /src/connection_helper.cpp:355,1
    - Dst: memcpy
      Src: /src/connection_helper.cpp:359,1
    - Dst: memcpy
      Src: /src/connection_helper.cpp:360,1
    - Dst: data
      Src: /src/connection_helper.cpp:360,1
    - Dst: mhd_stream_add_field
      Src: /src/connection_helper.cpp:367,1
    - Dst: add_hdr
      Src: /src/connection_helper.cpp:369,1
    - Dst: add_hdr
      Src: /src/connection_helper.cpp:371,1
    - Dst: add_hdr
      Src: /src/connection_helper.cpp:374,1
    - Dst: empty
      Src: /src/connection_helper.cpp:383,1
    - Dst: std::to_string
      Src: /src/connection_helper.cpp:384,1
    - Dst: add_hdr
      Src: /src/connection_helper.cpp:387,1
    - Dst: mhd_stream_get_request_line
      Src: /src/connection_helper.cpp:392,1
    - Dst: destroy_error_response
      Src: /src/connection_helper.cpp:393,1
    - Dst: mhd_stream_switch_to_rq_headers_proc
      Src: /src/connection_helper.cpp:397,1
    - Dst: mhd_stream_parse_request_headers
      Src: /src/connection_helper.cpp:399,1
    - Dst: destroy_error_response
      Src: /src/connection_helper.cpp:402,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 39
    argCount: 2
    argNames:
    - ' connection'
    - size
    argTypes:
    - MHD_Connection
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 403
      start: 349
    functionDepth: 2
    functionLinenumber: 349
    functionLinenumberEnd: 403
    functionName: prepare_headers_and_parse
    functionSourceFile: /src/connection_helper.cpp
    functionUses: 0
    functionsReached:
    - mhd_stream_parse_request_headers
    - data
    - empty
    - std::to_string
    - destroy_error_response
    - add_hdr
    - mhd_stream_add_field
    - mhd_stream_switch_to_rq_headers_proc
    - mhd_stream_get_request_line
    - static_cast<char*>
    - mhd_stream_alloc_memory
    - strlen
    - size
    - memcpy
    linkageType: ''
    returnType: void
    signature: void prepare_headers_and_parse(MHD_Connection& connection, size_t size)
  - BBCount: 11
    BranchProfiles: []
    Callsites:
    - Dst: empty
      Src: /src/connection_helper.cpp:407,1
    - Dst: std::string::reserve
      Src: /src/connection_helper.cpp:409,1
    - Dst: size
      Src: /src/connection_helper.cpp:409,1
    - Dst: size
      Src: /src/connection_helper.cpp:409,1
    - Dst: swap
      Src: /src/connection_helper.cpp:415,1
    - Dst: size
      Src: /src/connection_helper.cpp:416,1
    - Dst: mhd_stream_prepare_for_post_parse
      Src: /src/connection_helper.cpp:421,1
    - Dst: mhd_stream_post_parse
      Src: /src/connection_helper.cpp:422,1
    - Dst: mark_post_parse_ready
      Src: /src/connection_helper.cpp:423,1
    - Dst: snprintf
      Src: /src/connection_helper.cpp:432,1
    - Dst: std::string::append
      Src: /src/connection_helper.cpp:433,1
    - Dst: std::string::append
      Src: /src/connection_helper.cpp:438,1
    - Dst: append_chunk
      Src: /src/connection_helper.cpp:442,1
    - Dst: data
      Src: /src/connection_helper.cpp:442,1
    - Dst: append_chunk
      Src: /src/connection_helper.cpp:445,1
    - Dst: data
      Src: /src/connection_helper.cpp:445,1
    - Dst: append_chunk
      Src: /src/connection_helper.cpp:446,1
    - Dst: data
      Src: /src/connection_helper.cpp:446,1
    - Dst: std::string::assign
      Src: /src/connection_helper.cpp:456,1
    - Dst: data
      Src: /src/connection_helper.cpp:456,1
    - Dst: std::string::size
      Src: /src/connection_helper.cpp:460,1
    - Dst: memcpy
      Src: /src/connection_helper.cpp:463,1
    - Dst: std::string::data
      Src: /src/connection_helper.cpp:463,1
    - Dst: mhd_pool_try_alloc
      Src: /src/connection_helper.cpp:468,1
    - Dst: memcpy
      Src: /src/connection_helper.cpp:470,1
    - Dst: std::string::data
      Src: /src/connection_helper.cpp:470,1
    - Dst: ensure_lbuf_capacity
      Src: /src/connection_helper.cpp:481,1
    - Dst: mhd_stream_prepare_for_post_parse
      Src: /src/connection_helper.cpp:486,1
    - Dst: mhd_stream_process_request_body
      Src: /src/connection_helper.cpp:487,1
    - Dst: mark_post_parse_ready
      Src: /src/connection_helper.cpp:488,1
    - Dst: mhd_stream_prepare_for_post_parse
      Src: /src/connection_helper.cpp:492,1
    - Dst: mhd_stream_post_parse
      Src: /src/connection_helper.cpp:493,1
    - Dst: data
      Src: /src/connection_helper.cpp:493,1
    - Dst: mark_post_parse_ready
      Src: /src/connection_helper.cpp:494,1
    - Dst: mhd_stream_prepare_for_post_parse
      Src: /src/connection_helper.cpp:498,1
    - Dst: mhd_stream_post_parse
      Src: /src/connection_helper.cpp:499,1
    - Dst: mark_post_parse_ready
      Src: /src/connection_helper.cpp:500,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 77
    argCount: 4
    argNames:
    - ' connection'
    - ' body'
    - body_size
    - use_stream_body
    argTypes:
    - MHD_Connection
    - std::string
    - size_t
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 503
      start: 405
    functionDepth: 2
    functionLinenumber: 405
    functionLinenumberEnd: 503
    functionName: prepare_body_and_process
    functionSourceFile: /src/connection_helper.cpp
    functionUses: 0
    functionsReached:
    - std::string::data
    - std::string::assign
    - ensure_lbuf_capacity
    - std::string::append
    - mhd_stream_prepare_for_post_parse
    - std::string::reserve
    - data
    - empty
    - append_chunk
    - mhd_pool_try_alloc
    - mhd_stream_post_parse
    - std::string::size
    - mhd_stream_process_request_body
    - snprintf
    - size
    - memcpy
    - mark_post_parse_ready
    - swap
    linkageType: ''
    returnType: void
    signature: void prepare_body_and_process(MHD_Connection& connection, std::string&
      body, size_t body_size, bool use_stream_body)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: mhd_stream_switch_from_recv_to_send
      Src: /src/connection_helper.cpp:507,1
    - Dst: mhd_stream_process_req_recv_finished
      Src: /src/connection_helper.cpp:508,1
    - Dst: mhd_stream_release_write_buffer
      Src: /src/connection_helper.cpp:509,1
    - Dst: mhd_daemon_free_lbuf
      Src: /src/connection_helper.cpp:513,1
    - Dst: clear_post_parse_ready
      Src: /src/connection_helper.cpp:517,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 2
    argNames:
    - ' connection'
    - ' daemon'
    argTypes:
    - MHD_Connection
    - MHD_Daemon
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 518
      start: 505
    functionDepth: 1
    functionLinenumber: 505
    functionLinenumberEnd: 518
    functionName: final_cleanup
    functionSourceFile: /src/connection_helper.cpp
    functionUses: 0
    functionsReached:
    - mhd_stream_release_write_buffer
    - mhd_stream_process_req_recv_finished
    - mhd_daemon_free_lbuf
    - clear_post_parse_ready
    - mhd_stream_switch_from_recv_to_send
    linkageType: ''
    returnType: void
    signature: void final_cleanup(MHD_Connection& connection, MHD_Daemon& daemon)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 3
    argNames:
    - cls
    - data
    - request_app_context
    argTypes:
    - void*
    - struct MHD_RequestEndedData*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 30
      start: 26
    functionDepth: 0
    functionLinenumber: 26
    functionLinenumberEnd: 30
    functionName: request_ended_cb
    functionSourceFile: /src/fuzz_response.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: "void request_ended_cb(void *cls,\n                             const
      struct MHD_RequestEndedData *data,\n                             void *request_app_context)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: FuzzedDataProvider::ConsumeBool
      Src: /src/fuzz_response.cpp:34,1
    - Dst: FuzzedDataProvider::PickValueInArray
      Src: /src/fuzz_response.cpp:35,1
    - Dst: FuzzedDataProvider::ConsumeIntegralInRange
      Src: /src/fuzz_response.cpp:40,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - fdp
    argTypes:
    - FuzzedDataProvider
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 41
      start: 32
    functionDepth: 0
    functionLinenumber: 32
    functionLinenumberEnd: 41
    functionName: pick_status_code
    functionSourceFile: /src/fuzz_response.cpp
    functionUses: 0
    functionsReached:
    - FuzzedDataProvider::ConsumeIntegralInRange
    - FuzzedDataProvider::ConsumeBool
    - FuzzedDataProvider::PickValueInArray
    linkageType: ''
    returnType: enum MHD_HTTP_StatusCode
    signature: enum MHD_HTTP_StatusCode pick_status_code(FuzzedDataProvider &fdp)
  - BBCount: 15
    BranchProfiles: []
    Callsites:
    - Dst: FuzzedDataProvider::ConsumeIntegralInRange
      Src: /src/fuzz_response.cpp:48,1
    - Dst: std::min<size_t>
      Src: /src/fuzz_response.cpp:49,1
    - Dst: FuzzedDataProvider::remaining_bytes
      Src: /src/fuzz_response.cpp:49,1
    - Dst: FuzzedDataProvider::ConsumeBytesAsString
      Src: /src/fuzz_response.cpp:50,1
    - Dst: FuzzedDataProvider::PickValueInArray
      Src: /src/fuzz_response.cpp:57,1
    - Dst: MHD_response_from_empty
      Src: /src/fuzz_response.cpp:64,1
    - Dst: MHD_response_from_buffer_static
      Src: /src/fuzz_response.cpp:69,1
    - Dst: std::string::size
      Src: /src/fuzz_response.cpp:69,1
    - Dst: std::string::c_str
      Src: /src/fuzz_response.cpp:69,1
    - Dst: MHD_response_from_buffer_copy
      Src: /src/fuzz_response.cpp:74,1
    - Dst: std::string::size
      Src: /src/fuzz_response.cpp:74,1
    - Dst: std::string::data
      Src: /src/fuzz_response.cpp:74,1
    - Dst: FuzzedDataProvider::ConsumeIntegralInRange
      Src: /src/fuzz_response.cpp:79,1
    - Dst: std::vector::reserve
      Src: /src/fuzz_response.cpp:81,1
    - Dst: std::vector::push_back
      Src: /src/fuzz_response.cpp:83,1
    - Dst: FuzzedDataProvider::ConsumeBytesAsString
      Src: /src/fuzz_response.cpp:83,1
    - Dst: FuzzedDataProvider::ConsumeIntegralInRange
      Src: /src/fuzz_response.cpp:84,1
    - Dst: std::vector::back
      Src: /src/fuzz_response.cpp:85,1
    - Dst: std::vector::back
      Src: /src/fuzz_response.cpp:86,1
    - Dst: MHD_response_from_iovec
      Src: /src/fuzz_response.cpp:88,1
    - Dst: std::vector::data
      Src: /src/fuzz_response.cpp:88,1
    - Dst: mkstemp
      Src: /src/fuzz_response.cpp:94,1
    - Dst: unlink
      Src: /src/fuzz_response.cpp:96,1
    - Dst: std::string::empty
      Src: /src/fuzz_response.cpp:97,1
    - Dst: ::write
      Src: /src/fuzz_response.cpp:97,1
    - Dst: std::string::data
      Src: /src/fuzz_response.cpp:97,1
    - Dst: std::string::size
      Src: /src/fuzz_response.cpp:97,1
    - Dst: std::string::size
      Src: /src/fuzz_response.cpp:98,1
    - Dst: FuzzedDataProvider::ConsumeBool
      Src: /src/fuzz_response.cpp:100,1
    - Dst: std::min<uint64_t>
      Src: /src/fuzz_response.cpp:101,1
    - Dst: FuzzedDataProvider::ConsumeIntegral
      Src: /src/fuzz_response.cpp:101,1
    - Dst: FuzzedDataProvider::ConsumeIntegral
      Src: /src/fuzz_response.cpp:103,1
    - Dst: MHD_response_from_fd
      Src: /src/fuzz_response.cpp:104,1
    - Dst: close
      Src: /src/fuzz_response.cpp:106,1
    - Dst: pipe
      Src: /src/fuzz_response.cpp:114,1
    - Dst: FuzzedDataProvider::ConsumeBytesAsString
      Src: /src/fuzz_response.cpp:115,1
    - Dst: FuzzedDataProvider::ConsumeIntegralInRange
      Src: /src/fuzz_response.cpp:116,1
    - Dst: std::string::empty
      Src: /src/fuzz_response.cpp:117,1
    - Dst: ::write
      Src: /src/fuzz_response.cpp:118,1
    - Dst: std::string::data
      Src: /src/fuzz_response.cpp:118,1
    - Dst: std::string::size
      Src: /src/fuzz_response.cpp:118,1
    - Dst: close
      Src: /src/fuzz_response.cpp:120,1
    - Dst: MHD_response_from_pipe
      Src: /src/fuzz_response.cpp:121,1
    - Dst: close
      Src: /src/fuzz_response.cpp:123,1
    CyclomaticComplexity: 15
    EdgeCount: 15
    ICount: 55
    argCount: 2
    argNames:
    - fdp
    - sc
    argTypes:
    - FuzzedDataProvider
    - enum MHD_HTTP_StatusCode
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 131
      start: 43
    functionDepth: 1
    functionLinenumber: 43
    functionLinenumberEnd: 131
    functionName: create_response
    functionSourceFile: /src/fuzz_response.cpp
    functionUses: 0
    functionsReached:
    - std::string::c_str
    - std::vector::back
    - pipe
    - MHD_response_from_buffer_static
    - MHD_response_from_empty
    - unlink
    - ::write
    - std::min<size_t>
    - MHD_response_from_iovec
    - std::string::size
    - close
    - std::vector::push_back
    - MHD_response_from_fd
    - std::string::data
    - FuzzedDataProvider::ConsumeBytesAsString
    - MHD_response_from_buffer_copy
    - mkstemp
    - FuzzedDataProvider::ConsumeIntegral
    - std::vector::reserve
    - std::min<uint64_t>
    - std::string::empty
    - FuzzedDataProvider::ConsumeBool
    - FuzzedDataProvider::remaining_bytes
    - MHD_response_from_pipe
    - FuzzedDataProvider::PickValueInArray
    - std::vector::data
    - FuzzedDataProvider::ConsumeIntegralInRange
    linkageType: ''
    returnType: MHD_Response
    signature: "MHD_Response * create_response(FuzzedDataProvider &fdp,\n                                     enum
      MHD_HTTP_StatusCode sc)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: FuzzedDataProvider::ConsumeBool
      Src: /src/fuzz_response.cpp:134,1
    - Dst: MHD_response_add_header
      Src: /src/fuzz_response.cpp:135,1
    - Dst: FuzzedDataProvider::ConsumeIntegralInRange
      Src: /src/fuzz_response.cpp:138,1
    - Dst: safe_ascii
      Src: /src/fuzz_response.cpp:140,1
    - Dst: FuzzedDataProvider::ConsumeRandomLengthString
      Src: /src/fuzz_response.cpp:140,1
    - Dst: safe_ascii
      Src: /src/fuzz_response.cpp:141,1
    - Dst: FuzzedDataProvider::ConsumeRandomLengthString
      Src: /src/fuzz_response.cpp:141,1
    - Dst: MHD_response_add_header
      Src: /src/fuzz_response.cpp:142,1
    - Dst: std::string::c_str
      Src: /src/fuzz_response.cpp:142,1
    - Dst: std::string::c_str
      Src: /src/fuzz_response.cpp:142,1
    - Dst: FuzzedDataProvider::PickValueInArray
      Src: /src/fuzz_response.cpp:147,1
    - Dst: safe_ascii
      Src: /src/fuzz_response.cpp:149,1
    - Dst: FuzzedDataProvider::ConsumeRandomLengthString
      Src: /src/fuzz_response.cpp:149,1
    - Dst: MHD_response_add_predef_header
      Src: /src/fuzz_response.cpp:150,1
    - Dst: std::string::c_str
      Src: /src/fuzz_response.cpp:150,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 2
    argNames:
    - fdp
    - r
    argTypes:
    - FuzzedDataProvider
    - MHD_Response*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 151
      start: 133
    functionDepth: 1
    functionLinenumber: 133
    functionLinenumberEnd: 151
    functionName: add_headers
    functionSourceFile: /src/fuzz_response.cpp
    functionUses: 0
    functionsReached:
    - safe_ascii
    - std::string::c_str
    - FuzzedDataProvider::ConsumeBool
    - FuzzedDataProvider::PickValueInArray
    - MHD_response_add_predef_header
    - MHD_response_add_header
    - FuzzedDataProvider::ConsumeRandomLengthString
    - FuzzedDataProvider::ConsumeIntegralInRange
    linkageType: ''
    returnType: void
    signature: void add_headers(FuzzedDataProvider &fdp, MHD_Response *r)
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: FuzzedDataProvider::ConsumeBool
      Src: /src/fuzz_response.cpp:154,1
    - Dst: MHD_R_OPTION_REUSABLE
      Src: /src/fuzz_response.cpp:155,1
    - Dst: ToMhdBool
      Src: /src/fuzz_response.cpp:155,1
    - Dst: FuzzedDataProvider::ConsumeBool
      Src: /src/fuzz_response.cpp:155,1
    - Dst: MHD_response_set_option
      Src: /src/fuzz_response.cpp:156,1
    - Dst: FuzzedDataProvider::ConsumeBool
      Src: /src/fuzz_response.cpp:158,1
    - Dst: MHD_R_OPTION_HEAD_ONLY_RESPONSE
      Src: /src/fuzz_response.cpp:159,1
    - Dst: ToMhdBool
      Src: /src/fuzz_response.cpp:159,1
    - Dst: FuzzedDataProvider::ConsumeBool
      Src: /src/fuzz_response.cpp:159,1
    - Dst: MHD_response_set_option
      Src: /src/fuzz_response.cpp:160,1
    - Dst: FuzzedDataProvider::ConsumeBool
      Src: /src/fuzz_response.cpp:162,1
    - Dst: MHD_R_OPTION_CHUNKED_ENC
      Src: /src/fuzz_response.cpp:163,1
    - Dst: ToMhdBool
      Src: /src/fuzz_response.cpp:163,1
    - Dst: FuzzedDataProvider::ConsumeBool
      Src: /src/fuzz_response.cpp:163,1
    - Dst: MHD_response_set_option
      Src: /src/fuzz_response.cpp:164,1
    - Dst: FuzzedDataProvider::ConsumeBool
      Src: /src/fuzz_response.cpp:166,1
    - Dst: MHD_R_OPTION_CONN_CLOSE
      Src: /src/fuzz_response.cpp:167,1
    - Dst: ToMhdBool
      Src: /src/fuzz_response.cpp:167,1
    - Dst: FuzzedDataProvider::ConsumeBool
      Src: /src/fuzz_response.cpp:167,1
    - Dst: MHD_response_set_option
      Src: /src/fuzz_response.cpp:168,1
    - Dst: FuzzedDataProvider::ConsumeBool
      Src: /src/fuzz_response.cpp:170,1
    - Dst: MHD_R_OPTION_HTTP_1_0_SERVER
      Src: /src/fuzz_response.cpp:171,1
    - Dst: ToMhdBool
      Src: /src/fuzz_response.cpp:171,1
    - Dst: FuzzedDataProvider::ConsumeBool
      Src: /src/fuzz_response.cpp:171,1
    - Dst: MHD_response_set_option
      Src: /src/fuzz_response.cpp:172,1
    - Dst: FuzzedDataProvider::ConsumeBool
      Src: /src/fuzz_response.cpp:174,1
    - Dst: MHD_R_OPTION_HTTP_1_0_COMPATIBLE_STRICT
      Src: /src/fuzz_response.cpp:175,1
    - Dst: ToMhdBool
      Src: /src/fuzz_response.cpp:175,1
    - Dst: FuzzedDataProvider::ConsumeBool
      Src: /src/fuzz_response.cpp:175,1
    - Dst: MHD_response_set_option
      Src: /src/fuzz_response.cpp:176,1
    - Dst: FuzzedDataProvider::ConsumeBool
      Src: /src/fuzz_response.cpp:178,1
    - Dst: MHD_R_OPTION_INSANITY_HEADER_CONTENT_LENGTH
      Src: /src/fuzz_response.cpp:179,1
    - Dst: ToMhdBool
      Src: /src/fuzz_response.cpp:179,1
    - Dst: FuzzedDataProvider::ConsumeBool
      Src: /src/fuzz_response.cpp:179,1
    - Dst: MHD_response_set_option
      Src: /src/fuzz_response.cpp:180,1
    - Dst: FuzzedDataProvider::ConsumeBool
      Src: /src/fuzz_response.cpp:182,1
    - Dst: MHD_R_OPTION_TERMINATION_CALLBACK
      Src: /src/fuzz_response.cpp:183,1
    - Dst: MHD_response_set_option
      Src: /src/fuzz_response.cpp:184,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 25
    argCount: 2
    argNames:
    - fdp
    - r
    argTypes:
    - FuzzedDataProvider
    - MHD_Response*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 186
      start: 153
    functionDepth: 1
    functionLinenumber: 153
    functionLinenumberEnd: 186
    functionName: randomise_response_options
    functionSourceFile: /src/fuzz_response.cpp
    functionUses: 0
    functionsReached:
    - MHD_R_OPTION_HTTP_1_0_SERVER
    - ToMhdBool
    - MHD_R_OPTION_INSANITY_HEADER_CONTENT_LENGTH
    - MHD_R_OPTION_TERMINATION_CALLBACK
    - MHD_R_OPTION_HEAD_ONLY_RESPONSE
    - FuzzedDataProvider::ConsumeBool
    - MHD_R_OPTION_HTTP_1_0_COMPATIBLE_STRICT
    - MHD_response_set_option
    - MHD_R_OPTION_CONN_CLOSE
    - MHD_R_OPTION_CHUNKED_ENC
    - MHD_R_OPTION_REUSABLE
    linkageType: ''
    returnType: void
    signature: void randomise_response_options(FuzzedDataProvider &fdp, MHD_Response
      *r)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: FuzzedDataProvider::ConsumeBool
      Src: /src/fuzz_response.cpp:192,1
    - Dst: safe_ascii
      Src: /src/fuzz_response.cpp:194,1
    - Dst: FuzzedDataProvider::ConsumeRandomLengthString
      Src: /src/fuzz_response.cpp:194,1
    - Dst: MHD_response_add_auth_basic_challenge
      Src: /src/fuzz_response.cpp:195,1
    - Dst: std::string::c_str
      Src: /src/fuzz_response.cpp:195,1
    - Dst: ToMhdBool
      Src: /src/fuzz_response.cpp:195,1
    - Dst: FuzzedDataProvider::ConsumeBool
      Src: /src/fuzz_response.cpp:195,1
    - Dst: FuzzedDataProvider::ConsumeBool
      Src: /src/fuzz_response.cpp:196,1
    - Dst: safe_ascii
      Src: /src/fuzz_response.cpp:197,1
    - Dst: FuzzedDataProvider::ConsumeRandomLengthString
      Src: /src/fuzz_response.cpp:197,1
    - Dst: FuzzedDataProvider::ConsumeBool
      Src: /src/fuzz_response.cpp:198,1
    - Dst: FuzzedDataProvider::ConsumeBool
      Src: /src/fuzz_response.cpp:199,1
    - Dst: FuzzedDataProvider::ConsumeBool
      Src: /src/fuzz_response.cpp:201,1
    - Dst: FuzzedDataProvider::ConsumeBool
      Src: /src/fuzz_response.cpp:203,1
    - Dst: MHD_response_add_auth_digest_challenge
      Src: /src/fuzz_response.cpp:204,1
    - Dst: std::string::c_str
      Src: /src/fuzz_response.cpp:205,1
    - Dst: ToMhdBool
      Src: /src/fuzz_response.cpp:205,1
    - Dst: FuzzedDataProvider::ConsumeBool
      Src: /src/fuzz_response.cpp:205,1
    - Dst: ToMhdBool
      Src: /src/fuzz_response.cpp:206,1
    - Dst: FuzzedDataProvider::ConsumeBool
      Src: /src/fuzz_response.cpp:206,1
    - Dst: ToMhdBool
      Src: /src/fuzz_response.cpp:206,1
    - Dst: FuzzedDataProvider::ConsumeBool
      Src: /src/fuzz_response.cpp:206,1
    - Dst: safe_ascii
      Src: /src/fuzz_response.cpp:210,1
    - Dst: FuzzedDataProvider::ConsumeRandomLengthString
      Src: /src/fuzz_response.cpp:210,1
    - Dst: FuzzedDataProvider::ConsumeBool
      Src: /src/fuzz_response.cpp:211,1
    - Dst: FuzzedDataProvider::ConsumeBool
      Src: /src/fuzz_response.cpp:212,1
    - Dst: FuzzedDataProvider::ConsumeBool
      Src: /src/fuzz_response.cpp:214,1
    - Dst: FuzzedDataProvider::ConsumeBool
      Src: /src/fuzz_response.cpp:216,1
    - Dst: MHD_response_add_auth_digest_challenge
      Src: /src/fuzz_response.cpp:217,1
    - Dst: std::string::c_str
      Src: /src/fuzz_response.cpp:218,1
    - Dst: ToMhdBool
      Src: /src/fuzz_response.cpp:218,1
    - Dst: FuzzedDataProvider::ConsumeBool
      Src: /src/fuzz_response.cpp:218,1
    - Dst: ToMhdBool
      Src: /src/fuzz_response.cpp:219,1
    - Dst: FuzzedDataProvider::ConsumeBool
      Src: /src/fuzz_response.cpp:219,1
    - Dst: ToMhdBool
      Src: /src/fuzz_response.cpp:220,1
    - Dst: FuzzedDataProvider::ConsumeBool
      Src: /src/fuzz_response.cpp:220,1
    - Dst: FuzzedDataProvider::ConsumeBool
      Src: /src/fuzz_response.cpp:221,1
    - Dst: safe_ascii
      Src: /src/fuzz_response.cpp:222,1
    - Dst: FuzzedDataProvider::ConsumeRandomLengthString
      Src: /src/fuzz_response.cpp:222,1
    - Dst: MHD_response_add_auth_basic_challenge
      Src: /src/fuzz_response.cpp:223,1
    - Dst: std::string::c_str
      Src: /src/fuzz_response.cpp:223,1
    - Dst: ToMhdBool
      Src: /src/fuzz_response.cpp:223,1
    - Dst: FuzzedDataProvider::ConsumeBool
      Src: /src/fuzz_response.cpp:223,1
    - Dst: FuzzedDataProvider::ConsumeBool
      Src: /src/fuzz_response.cpp:230,1
    - Dst: safe_ascii
      Src: /src/fuzz_response.cpp:231,1
    - Dst: FuzzedDataProvider::ConsumeRandomLengthString
      Src: /src/fuzz_response.cpp:231,1
    - Dst: MHD_response_add_auth_basic_challenge
      Src: /src/fuzz_response.cpp:232,1
    - Dst: std::string::c_str
      Src: /src/fuzz_response.cpp:232,1
    - Dst: ToMhdBool
      Src: /src/fuzz_response.cpp:232,1
    - Dst: FuzzedDataProvider::ConsumeBool
      Src: /src/fuzz_response.cpp:232,1
    - Dst: FuzzedDataProvider::ConsumeBool
      Src: /src/fuzz_response.cpp:236,1
    - Dst: safe_ascii
      Src: /src/fuzz_response.cpp:237,1
    - Dst: FuzzedDataProvider::ConsumeRandomLengthString
      Src: /src/fuzz_response.cpp:237,1
    - Dst: FuzzedDataProvider::ConsumeBool
      Src: /src/fuzz_response.cpp:238,1
    - Dst: FuzzedDataProvider::ConsumeBool
      Src: /src/fuzz_response.cpp:239,1
    - Dst: FuzzedDataProvider::ConsumeBool
      Src: /src/fuzz_response.cpp:241,1
    - Dst: FuzzedDataProvider::ConsumeBool
      Src: /src/fuzz_response.cpp:243,1
    - Dst: MHD_response_add_auth_digest_challenge
      Src: /src/fuzz_response.cpp:244,1
    - Dst: std::string::c_str
      Src: /src/fuzz_response.cpp:245,1
    - Dst: ToMhdBool
      Src: /src/fuzz_response.cpp:245,1
    - Dst: FuzzedDataProvider::ConsumeBool
      Src: /src/fuzz_response.cpp:245,1
    - Dst: ToMhdBool
      Src: /src/fuzz_response.cpp:246,1
    - Dst: FuzzedDataProvider::ConsumeBool
      Src: /src/fuzz_response.cpp:246,1
    - Dst: ToMhdBool
      Src: /src/fuzz_response.cpp:246,1
    - Dst: FuzzedDataProvider::ConsumeBool
      Src: /src/fuzz_response.cpp:246,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 21
    argCount: 3
    argNames:
    - fdp
    - r
    - sc
    argTypes:
    - FuzzedDataProvider
    - MHD_Response*
    - enum MHD_HTTP_StatusCode
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 249
      start: 188
    functionDepth: 1
    functionLinenumber: 188
    functionLinenumberEnd: 249
    functionName: add_auth
    functionSourceFile: /src/fuzz_response.cpp
    functionUses: 0
    functionsReached:
    - safe_ascii
    - ToMhdBool
    - std::string::c_str
    - MHD_response_add_auth_digest_challenge
    - FuzzedDataProvider::ConsumeBool
    - MHD_response_add_auth_basic_challenge
    - FuzzedDataProvider::ConsumeRandomLengthString
    linkageType: ''
    returnType: void
    signature: "void add_auth(FuzzedDataProvider &fdp, MHD_Response *r,\n                     enum
      MHD_HTTP_StatusCode sc)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: pick_status_code
      Src: /src/fuzz_response.cpp:258,1
    - Dst: create_response
      Src: /src/fuzz_response.cpp:261,1
    - Dst: add_headers
      Src: /src/fuzz_response.cpp:267,1
    - Dst: randomise_response_options
      Src: /src/fuzz_response.cpp:270,1
    - Dst: add_auth
      Src: /src/fuzz_response.cpp:273,1
    - Dst: MHD_HTTP_status_code_to_string
      Src: /src/fuzz_response.cpp:276,1
    - Dst: MHD_status_code_to_string
      Src: /src/fuzz_response.cpp:277,1
    - Dst: MHD_response_destroy
      Src: /src/fuzz_response.cpp:280,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 14
    argCount: 2
    argNames:
    - data
    - size
    argTypes:
    - uint8_t*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 282
      start: 251
    functionDepth: 2
    functionLinenumber: 251
    functionLinenumberEnd: 282
    functionName: LLVMFuzzerTestOneInput
    functionSourceFile: /src/fuzz_response.cpp
    functionUses: 0
    functionsReached:
    - add_auth
    - MHD_HTTP_status_code_to_string
    - MHD_response_destroy
    - create_response
    - randomise_response_options
    - MHD_status_code_to_string
    - add_headers
    - pick_status_code
    linkageType: ''
    returnType: int
    signature: int LLVMFuzzerTestOneInput(const uint8_t *data, size_t size)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: std::string::size
      Src: /src/mhd_helper.cpp:37,1
    - Dst: std::string::push_back
      Src: /src/mhd_helper.cpp:41,1
    - Dst: std::string::push_back
      Src: /src/mhd_helper.cpp:42,1
    - Dst: std::string::push_back
      Src: /src/mhd_helper.cpp:43,1
    - Dst: std::string::push_back
      Src: /src/mhd_helper.cpp:44,1
    - Dst: std::string::size
      Src: /src/mhd_helper.cpp:47,1
    - Dst: std::string::push_back
      Src: /src/mhd_helper.cpp:49,1
    - Dst: std::string::push_back
      Src: /src/mhd_helper.cpp:50,1
    - Dst: std::string::push_back
      Src: /src/mhd_helper.cpp:51,1
    - Dst: std::string::push_back
      Src: /src/mhd_helper.cpp:52,1
    - Dst: std::string::size
      Src: /src/mhd_helper.cpp:53,1
    - Dst: std::string::push_back
      Src: /src/mhd_helper.cpp:56,1
    - Dst: std::string::push_back
      Src: /src/mhd_helper.cpp:57,1
    - Dst: std::string::push_back
      Src: /src/mhd_helper.cpp:58,1
    - Dst: std::string::push_back
      Src: /src/mhd_helper.cpp:59,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 20
    argCount: 1
    argNames:
    - in
    argTypes:
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 62
      start: 32
    functionDepth: 0
    functionLinenumber: 32
    functionLinenumberEnd: 62
    functionName: b64encode
    functionSourceFile: /src/mhd_helper.cpp
    functionUses: 0
    functionsReached:
    - std::string::push_back
    - std::string::size
    linkageType: ''
    returnType: std::string
    signature: std::string b64encode(const std::string &in)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - b
    argTypes:
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 66
      start: 64
    functionDepth: 0
    functionLinenumber: 64
    functionLinenumberEnd: 66
    functionName: ToMhdBool
    functionSourceFile: /src/mhd_helper.cpp
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: enum MHD_Bool
    signature: enum MHD_Bool ToMhdBool(bool b)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: std::string::reserve
      Src: /src/mhd_helper.cpp:69,1
    - Dst: size
      Src: /src/mhd_helper.cpp:69,1
    - Dst: std::string::push_back
      Src: /src/mhd_helper.cpp:74,1
    - Dst: std::string::empty
      Src: /src/mhd_helper.cpp:76,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 11
    argCount: 2
    argNames:
    - ' in'
    - allow_space
    argTypes:
    - std::string
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 81
      start: 68
    functionDepth: 0
    functionLinenumber: 68
    functionLinenumberEnd: 81
    functionName: safe_ascii
    functionSourceFile: /src/mhd_helper.cpp
    functionUses: 2
    functionsReached:
    - std::string::push_back
    - std::string::empty
    - size
    - std::string::reserve
    linkageType: ''
    returnType: std::string
    signature: std::string safe_ascii(const std::string& in, bool allow_space)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 86
      start: 84
    functionDepth: 0
    functionLinenumber: 84
    functionLinenumberEnd: 86
    functionName: kv_cb
    functionSourceFile: /src/mhd_helper.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: enum MHD_Bool
    signature: enum MHD_Bool kv_cb(void*, enum MHD_ValueKind, const struct MHD_NameAndValue*)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - pf
    argTypes:
    - struct MHD_PostField*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 89
      start: 87
    functionDepth: 0
    functionLinenumber: 87
    functionLinenumberEnd: 89
    functionName: post_cb
    functionSourceFile: /src/mhd_helper.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: enum MHD_Bool
    signature: enum MHD_Bool post_cb(void*, const struct MHD_PostField* pf)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: socket
      Src: /src/mhd_helper.cpp:93,1
    - Dst: fcntl
      Src: /src/mhd_helper.cpp:99,1
    - Dst: fcntl
      Src: /src/mhd_helper.cpp:101,1
    - Dst: setsockopt
      Src: /src/mhd_helper.cpp:104,1
    - Dst: htons
      Src: /src/mhd_helper.cpp:109,1
    - Dst: htonl
      Src: /src/mhd_helper.cpp:110,1
    - Dst: connect
      Src: /src/mhd_helper.cpp:113,1
    - Dst: close
      Src: /src/mhd_helper.cpp:120,1
    - Dst: poll
      Src: /src/mhd_helper.cpp:124,1
    - Dst: close
      Src: /src/mhd_helper.cpp:125,1
    - Dst: getsockopt
      Src: /src/mhd_helper.cpp:130,1
    - Dst: close
      Src: /src/mhd_helper.cpp:131,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 27
    argCount: 1
    argNames:
    - port
    argTypes:
    - uint16_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 137
      start: 92
    functionDepth: 0
    functionLinenumber: 92
    functionLinenumberEnd: 137
    functionName: create_socket
    functionSourceFile: /src/mhd_helper.cpp
    functionUses: 0
    functionsReached:
    - close
    - fcntl
    - setsockopt
    - htonl
    - getsockopt
    - htons
    - poll
    - socket
    - connect
    linkageType: ''
    returnType: int
    signature: int create_socket(uint16_t port)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: ConsumeBool
      Src: /src/mhd_helper.cpp:146,1
    - Dst: ConsumeBool
      Src: /src/mhd_helper.cpp:147,1
    - Dst: ConsumeBool
      Src: /src/mhd_helper.cpp:147,1
    - Dst: ConsumeBool
      Src: /src/mhd_helper.cpp:148,1
    - Dst: ConsumeBool
      Src: /src/mhd_helper.cpp:149,1
    - Dst: ConsumeBool
      Src: /src/mhd_helper.cpp:150,1
    - Dst: ConsumeBool
      Src: /src/mhd_helper.cpp:151,1
    - Dst: ConsumeBool
      Src: /src/mhd_helper.cpp:152,1
    - Dst: ConsumeRandomLengthString
      Src: /src/mhd_helper.cpp:153,1
    - Dst: realm_hint::empty
      Src: /src/mhd_helper.cpp:154,1
    - Dst: empty
      Src: /src/mhd_helper.cpp:158,1
    - Dst: ConsumeBool
      Src: /src/mhd_helper.cpp:158,1
    - Dst: ConsumeBool
      Src: /src/mhd_helper.cpp:159,1
    - Dst: ConsumeBool
      Src: /src/mhd_helper.cpp:160,1
    - Dst: ConsumeBool
      Src: /src/mhd_helper.cpp:161,1
    - Dst: safe_ascii
      Src: /src/mhd_helper.cpp:162,1
    - Dst: ConsumeRandomLengthString
      Src: /src/mhd_helper.cpp:162,1
    - Dst: boundary::empty
      Src: /src/mhd_helper.cpp:163,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 24
    argCount: 2
    argNames:
    - ' method'
    - ' opts'
    argTypes:
    - std::string
    - DaemonOpts
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 166
      start: 139
    functionDepth: 1
    functionLinenumber: 139
    functionLinenumberEnd: 166
    functionName: generate_daemon_options
    functionSourceFile: /src/mhd_helper.cpp
    functionUses: 0
    functionsReached:
    - safe_ascii
    - empty
    - ConsumeBool
    - realm_hint::empty
    - boundary::empty
    - ConsumeRandomLengthString
    linkageType: ''
    returnType: void
    signature: void generate_daemon_options(const std::string& method, DaemonOpts&
      opts)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: b64encode
      Src: /src/mhd_helper.cpp:178,1
    - Dst: empty
      Src: /src/mhd_helper.cpp:186,1
    - Dst: std::string
      Src: /src/mhd_helper.cpp:188,1
    - Dst: empty
      Src: /src/mhd_helper.cpp:193,1
    - Dst: empty
      Src: /src/mhd_helper.cpp:195,1
    - Dst: std::string::empty
      Src: /src/mhd_helper.cpp:196,1
    - Dst: empty
      Src: /src/mhd_helper.cpp:216,1
    - Dst: std::string
      Src: /src/mhd_helper.cpp:219,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 21
    argCount: 6
    argNames:
    - ' opts'
    - ' method'
    - ' path'
    - ' auth_user'
    - ' auth_pass'
    - garble_auth
    argTypes:
    - DaemonOpts
    - std::string
    - std::string
    - std::string
    - std::string
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 220
      start: 168
    functionDepth: 1
    functionLinenumber: 168
    functionLinenumberEnd: 220
    functionName: generate_auth_header
    functionSourceFile: /src/mhd_helper.cpp
    functionUses: 0
    functionsReached:
    - std::string::empty
    - std::string
    - empty
    - b64encode
    linkageType: ''
    returnType: std::string
    signature: "std::string generate_auth_header(const DaemonOpts& opts,\n                                        const
      std::string& method,\n                                        const std::string&
      path,\n                                        const std::string& auth_user,\n
      \                                       const std::string& auth_pass,\n                                        bool
      garble_auth)"
  - BBCount: 3
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 11
    argCount: 3
    argNames:
    - ' req'
    - ' opts'
    - ' auth_header'
    argTypes:
    - std::string
    - DaemonOpts
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 240
      start: 222
    functionDepth: 0
    functionLinenumber: 222
    functionLinenumberEnd: 240
    functionName: append_headers
    functionSourceFile: /src/mhd_helper.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: "void append_headers(std::string& req,\n                           const
      DaemonOpts& opts,\n                           const std::string& auth_header)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: clear
      Src: /src/mhd_helper.cpp:247,1
    - Dst: boundary::empty
      Src: /src/mhd_helper.cpp:252,1
    - Dst: empty
      Src: /src/mhd_helper.cpp:256,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 14
    argCount: 3
    argNames:
    - ' opts'
    - ' body'
    - ' content_type_line_out'
    argTypes:
    - DaemonOpts
    - std::string
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 263
      start: 242
    functionDepth: 0
    functionLinenumber: 242
    functionLinenumberEnd: 263
    functionName: make_multipart
    functionSourceFile: /src/mhd_helper.cpp
    functionUses: 0
    functionsReached:
    - clear
    - boundary::empty
    - empty
    linkageType: ''
    returnType: std::string
    signature: "std::string make_multipart(const DaemonOpts& opts,\n                                  const
      std::string& body,\n                                  std::string& content_type_line_out)"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: empty
      Src: /src/mhd_helper.cpp:271,1
    - Dst: std::to_string
      Src: /src/mhd_helper.cpp:283,1
    - Dst: std::to_string
      Src: /src/mhd_helper.cpp:285,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 17
    argCount: 4
    argNames:
    - ' req'
    - ' opts'
    - payload_size
    - ' content_type_line'
    argTypes:
    - std::string
    - DaemonOpts
    - size_t
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 291
      start: 266
    functionDepth: 0
    functionLinenumber: 266
    functionLinenumberEnd: 291
    functionName: append_request_headers
    functionSourceFile: /src/mhd_helper.cpp
    functionUses: 0
    functionsReached:
    - std::to_string
    - empty
    linkageType: ''
    returnType: void
    signature: "void append_request_headers(std::string& req,\n                                   const
      DaemonOpts& opts,\n                                   size_t payload_size,\n
      \                                  const std::string& content_type_line)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: empty
      Src: /src/mhd_helper.cpp:295,1
    - Dst: size
      Src: /src/mhd_helper.cpp:302,1
    - Dst: size
      Src: /src/mhd_helper.cpp:305,1
    - Dst: std::min
      Src: /src/mhd_helper.cpp:306,1
    - Dst: snprintf
      Src: /src/mhd_helper.cpp:308,1
    - Dst: append
      Src: /src/mhd_helper.cpp:310,1
    - Dst: append
      Src: /src/mhd_helper.cpp:312,1
    - Dst: data
      Src: /src/mhd_helper.cpp:312,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 14
    argCount: 2
    argNames:
    - ' req'
    - ' payload'
    argTypes:
    - std::string
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 317
      start: 293
    functionDepth: 0
    functionLinenumber: 293
    functionLinenumberEnd: 317
    functionName: append_chunked_payload
    functionSourceFile: /src/mhd_helper.cpp
    functionUses: 0
    functionsReached:
    - std::min
    - data
    - empty
    - snprintf
    - append
    - size
    linkageType: ''
    returnType: void
    signature: void append_chunked_payload(std::string& req, const std::string& payload)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: size
      Src: /src/mhd_helper.cpp:328,1
    - Dst: send
      Src: /src/mhd_helper.cpp:329,1
    - Dst: data
      Src: /src/mhd_helper.cpp:329,1
    - Dst: size
      Src: /src/mhd_helper.cpp:329,1
    - Dst: poll
      Src: /src/mhd_helper.cpp:337,1
    - Dst: shutdown
      Src: /src/mhd_helper.cpp:348,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 18
    argCount: 2
    argNames:
    - fd
    - ' req'
    argTypes:
    - int
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 349
      start: 320
    functionDepth: 0
    functionLinenumber: 320
    functionLinenumberEnd: 349
    functionName: send_request
    functionSourceFile: /src/mhd_helper.cpp
    functionUses: 0
    functionsReached:
    - data
    - poll
    - size
    - shutdown
    - send
    linkageType: ''
    returnType: void
    signature: void send_request(int fd, const std::string& req)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: poll
      Src: /src/mhd_helper.cpp:362,1
    - Dst: recv
      Src: /src/mhd_helper.cpp:373,1
    CyclomaticComplexity: 16
    EdgeCount: 16
    ICount: 23
    argCount: 1
    argNames:
    - fd
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 388
      start: 351
    functionDepth: 0
    functionLinenumber: 351
    functionLinenumberEnd: 388
    functionName: wait_for_response
    functionSourceFile: /src/mhd_helper.cpp
    functionUses: 0
    functionsReached:
    - recv
    - poll
    linkageType: ''
    returnType: void
    signature: void wait_for_response(int fd)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: create_socket
      Src: /src/mhd_helper.cpp:399,1
    - Dst: generate_daemon_options
      Src: /src/mhd_helper.cpp:406,1
    - Dst: std::string::reserve
      Src: /src/mhd_helper.cpp:410,1
    - Dst: size
      Src: /src/mhd_helper.cpp:410,1
    - Dst: empty
      Src: /src/mhd_helper.cpp:411,1
    - Dst: std::string
      Src: /src/mhd_helper.cpp:411,1
    - Dst: empty
      Src: /src/mhd_helper.cpp:414,1
    - Dst: std::string::empty
      Src: /src/mhd_helper.cpp:415,1
    - Dst: generate_auth_header
      Src: /src/mhd_helper.cpp:420,1
    - Dst: append_headers
      Src: /src/mhd_helper.cpp:423,1
    - Dst: make_multipart
      Src: /src/mhd_helper.cpp:427,1
    - Dst: append_request_headers
      Src: /src/mhd_helper.cpp:430,1
    - Dst: std::string::size
      Src: /src/mhd_helper.cpp:430,1
    - Dst: append_chunked_payload
      Src: /src/mhd_helper.cpp:435,1
    - Dst: send_request
      Src: /src/mhd_helper.cpp:441,1
    - Dst: wait_for_response
      Src: /src/mhd_helper.cpp:444,1
    - Dst: close
      Src: /src/mhd_helper.cpp:447,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 23
    argCount: 7
    argNames:
    - port
    - ' method'
    - ' path'
    - ' auth_user'
    - ' auth_pass'
    - ' body'
    - garble_auth
    argTypes:
    - uint16_t
    - std::string
    - std::string
    - std::string
    - std::string
    - std::string
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 448
      start: 391
    functionDepth: 2
    functionLinenumber: 391
    functionLinenumberEnd: 448
    functionName: send_http_request_blocking
    functionSourceFile: /src/mhd_helper.cpp
    functionUses: 0
    functionsReached:
    - close
    - std::string::reserve
    - append_chunked_payload
    - empty
    - std::string::empty
    - make_multipart
    - send_request
    - generate_daemon_options
    - append_headers
    - create_socket
    - std::string
    - append_request_headers
    - std::string::size
    - wait_for_response
    - size
    - generate_auth_header
    linkageType: ''
    returnType: void
    signature: "void send_http_request_blocking(uint16_t port,\n                                const
      std::string& method,\n                                const std::string& path,\n
      \                               const std::string& auth_user,\n                                const
      std::string& auth_pass,\n                                const std::string&
      body,\n                                bool garble_auth)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: ConsumeRandomLengthString
      Src: /src/mhd_helper.cpp:460,1
    - Dst: realm::empty
      Src: /src/mhd_helper.cpp:461,1
    - Dst: ConsumeRandomLengthString
      Src: /src/mhd_helper.cpp:464,1
    - Dst: ConsumeRandomLengthString
      Src: /src/mhd_helper.cpp:465,1
    - Dst: ConsumeBool
      Src: /src/mhd_helper.cpp:466,1
    - Dst: ConsumeBool
      Src: /src/mhd_helper.cpp:467,1
    - Dst: ConsumeBool
      Src: /src/mhd_helper.cpp:468,1
    - Dst: ToMhdBool
      Src: /src/mhd_helper.cpp:469,1
    - Dst: ConsumeBool
      Src: /src/mhd_helper.cpp:469,1
    - Dst: ConsumeBool
      Src: /src/mhd_helper.cpp:470,1
    - Dst: ConsumeBool
      Src: /src/mhd_helper.cpp:472,1
    - Dst: ConsumeBool
      Src: /src/mhd_helper.cpp:474,1
    - Dst: ConsumeBool
      Src: /src/mhd_helper.cpp:477,1
    - Dst: ConsumeBool
      Src: /src/mhd_helper.cpp:478,1
    - Dst: ConsumeBool
      Src: /src/mhd_helper.cpp:479,1
    - Dst: ConsumeIntegralInRange
      Src: /src/mhd_helper.cpp:482,1
    - Dst: ConsumeIntegralInRange
      Src: /src/mhd_helper.cpp:483,1
    - Dst: PickValueInArray
      Src: /src/mhd_helper.cpp:484,1
    - Dst: ConsumeBool
      Src: /src/mhd_helper.cpp:490,1
    - Dst: ConsumeBool
      Src: /src/mhd_helper.cpp:491,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 26
    argCount: 2
    argNames:
    - ' o'
    - method
    argTypes:
    - DaemonReqOpts
    - enum MHD_HTTP_Method
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 492
      start: 451
    functionDepth: 0
    functionLinenumber: 451
    functionLinenumberEnd: 492
    functionName: generate_daemon_req_opts
    functionSourceFile: /src/mhd_helper.cpp
    functionUses: 0
    functionsReached:
    - realm::empty
    - ConsumeIntegralInRange
    - ToMhdBool
    - PickValueInArray
    - ConsumeBool
    - ConsumeRandomLengthString
    linkageType: ''
    returnType: void
    signature: "void generate_daemon_req_opts(DaemonReqOpts& o,\n                                     enum
      MHD_HTTP_Method method)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: MHD_upload_action_continue
      Src: /src/mhd_helper.cpp:496,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - req
    - cls
    - pr
    argTypes:
    - struct MHD_Request*
    - void*
    - enum MHD_PostParseResult
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 497
      start: 494
    functionDepth: 1
    functionLinenumber: 494
    functionLinenumberEnd: 497
    functionName: post_done_cb
    functionSourceFile: /src/mhd_helper.cpp
    functionUses: 0
    functionsReached:
    - MHD_upload_action_continue
    linkageType: ''
    returnType: struct MHD_UploadAction
    signature: 'struct MHD_UploadAction *

      post_done_cb(struct MHD_Request *req, void *cls, enum MHD_PostParseResult pr)'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: MHD_upload_action_continue
      Src: /src/mhd_helper.cpp:510,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 10
    argNames:
    - req
    - cls
    - name
    - filename
    - content_type
    - encoding
    - size
    - data
    - 'off'
    - final_data
    argTypes:
    - struct MHD_Request*
    - void*
    - struct MHD_String*
    - struct MHD_StringNullable*
    - struct MHD_StringNullable*
    - struct MHD_StringNullable*
    - size_t
    - void*
    - uint_fast64_t
    - enum MHD_Bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 511
      start: 499
    functionDepth: 1
    functionLinenumber: 499
    functionLinenumberEnd: 511
    functionName: post_reader
    functionSourceFile: /src/mhd_helper.cpp
    functionUses: 0
    functionsReached:
    - MHD_upload_action_continue
    linkageType: ''
    returnType: struct MHD_UploadAction
    signature: "struct MHD_UploadAction *\npost_reader(struct MHD_Request *req,\n
      \           void *cls,\n            const struct MHD_String *name,\n            const
      struct MHD_StringNullable *filename,\n            const struct MHD_StringNullable
      *content_type,\n            const struct MHD_StringNullable *encoding,\n            size_t
      size,\n            const void *data,\n            uint_fast64_t off,\n            enum
      MHD_Bool final_data)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: MHD_response_from_empty
      Src: /src/mhd_helper.cpp:519,1
    - Dst: MHD_upload_action_from_response
      Src: /src/mhd_helper.cpp:524,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 4
    argNames:
    - upload_cls
    - request
    - content_data_size
    - content_data
    argTypes:
    - void*
    - struct MHD_Request*
    - size_t
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 525
      start: 513
    functionDepth: 1
    functionLinenumber: 513
    functionLinenumberEnd: 525
    functionName: upload_cb
    functionSourceFile: /src/mhd_helper.cpp
    functionUses: 0
    functionsReached:
    - MHD_upload_action_from_response
    - MHD_response_from_empty
    linkageType: ''
    returnType: struct MHD_UploadAction
    signature: "struct MHD_UploadAction *\nupload_cb(void *upload_cls,\n          struct
      MHD_Request *request,\n          size_t content_data_size,\n          void *content_data)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: MHD_action_parse_post
      Src: /src/mhd_helper.cpp:531,1
    - Dst: MHD_request_get_post_data_cb
      Src: /src/mhd_helper.cpp:538,1
    - Dst: ConsumeBool
      Src: /src/mhd_helper.cpp:540,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 2
    argNames:
    - request
    - ' o'
    argTypes:
    - struct MHD_Request*
    - DaemonReqOpts
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 550
      start: 527
    functionDepth: 1
    functionLinenumber: 527
    functionLinenumberEnd: 550
    functionName: request_parsing
    functionSourceFile: /src/mhd_helper.cpp
    functionUses: 0
    functionsReached:
    - MHD_action_parse_post
    - ConsumeBool
    - MHD_request_get_post_data_cb
    linkageType: ''
    returnType: struct MHD_Action
    signature: struct MHD_Action * request_parsing(struct MHD_Request* request, const
      DaemonReqOpts& o)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: MHD_request_get_info_dynamic
      Src: /src/mhd_helper.cpp:571,1
    - Dst: MHD_action_from_response
      Src: /src/mhd_helper.cpp:576,1
    - Dst: MHD_response_from_buffer_static
      Src: /src/mhd_helper.cpp:578,1
    - Dst: realm::c_str
      Src: /src/mhd_helper.cpp:584,1
    - Dst: MHD_action_basic_auth_challenge_a
      Src: /src/mhd_helper.cpp:585,1
    - Dst: MHD_response_from_buffer_static
      Src: /src/mhd_helper.cpp:589,1
    - Dst: MHD_action_abort_request
      Src: /src/mhd_helper.cpp:595,1
    - Dst: allowed_user::size
      Src: /src/mhd_helper.cpp:600,1
    - Dst: memcmp
      Src: /src/mhd_helper.cpp:601,1
    - Dst: allowed_user::data
      Src: /src/mhd_helper.cpp:601,1
    - Dst: allowed_pass::size
      Src: /src/mhd_helper.cpp:604,1
    - Dst: memcmp
      Src: /src/mhd_helper.cpp:605,1
    - Dst: allowed_pass::data
      Src: /src/mhd_helper.cpp:605,1
    - Dst: MHD_action_from_response
      Src: /src/mhd_helper.cpp:617,1
    - Dst: MHD_response_from_buffer_static
      Src: /src/mhd_helper.cpp:619,1
    - Dst: MHD_action_from_response
      Src: /src/mhd_helper.cpp:623,1
    - Dst: MHD_response_from_buffer_static
      Src: /src/mhd_helper.cpp:625,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 17
    argCount: 2
    argNames:
    - request
    - ' o'
    argTypes:
    - struct MHD_Request*
    - DaemonReqOpts
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 627
      start: 567
    functionDepth: 1
    functionLinenumber: 567
    functionLinenumberEnd: 627
    functionName: handle_basic_auth
    functionSourceFile: /src/mhd_helper.cpp
    functionUses: 0
    functionsReached:
    - allowed_user::size
    - allowed_pass::size
    - realm::c_str
    - MHD_action_from_response
    - MHD_request_get_info_dynamic
    - MHD_response_from_buffer_static
    - MHD_action_abort_request
    - allowed_pass::data
    - allowed_user::data
    - memcmp
    - MHD_action_basic_auth_challenge_a
    linkageType: ''
    returnType: struct MHD_Action
    signature: "struct MHD_Action *\nhandle_basic_auth(struct MHD_Request* request,\n
      \                 const DaemonReqOpts& o)"
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: MHD_request_get_info_dynamic
      Src: /src/mhd_helper.cpp:633,1
    - Dst: MHD_action_digest_auth_challenge_a
      Src: /src/mhd_helper.cpp:640,1
    - Dst: realm::c_str
      Src: /src/mhd_helper.cpp:642,1
    - Dst: MHD_response_from_buffer_static
      Src: /src/mhd_helper.cpp:650,1
    - Dst: MHD_action_from_response
      Src: /src/mhd_helper.cpp:656,1
    - Dst: MHD_response_from_buffer_static
      Src: /src/mhd_helper.cpp:658,1
    - Dst: MHD_action_abort_request
      Src: /src/mhd_helper.cpp:664,1
    - Dst: allowed_user::size
      Src: /src/mhd_helper.cpp:669,1
    - Dst: memcmp
      Src: /src/mhd_helper.cpp:670,1
    - Dst: allowed_user::data
      Src: /src/mhd_helper.cpp:670,1
    - Dst: MHD_digest_auth_check
      Src: /src/mhd_helper.cpp:676,1
    - Dst: realm::c_str
      Src: /src/mhd_helper.cpp:677,1
    - Dst: allowed_user::c_str
      Src: /src/mhd_helper.cpp:678,1
    - Dst: allowed_pass::c_str
      Src: /src/mhd_helper.cpp:679,1
    - Dst: MHD_action_from_response
      Src: /src/mhd_helper.cpp:687,1
    - Dst: MHD_response_from_buffer_static
      Src: /src/mhd_helper.cpp:689,1
    - Dst: MHD_action_from_response
      Src: /src/mhd_helper.cpp:692,1
    - Dst: MHD_response_from_buffer_static
      Src: /src/mhd_helper.cpp:694,1
    - Dst: MHD_action_digest_auth_challenge_a
      Src: /src/mhd_helper.cpp:699,1
    - Dst: realm::c_str
      Src: /src/mhd_helper.cpp:701,1
    - Dst: MHD_response_from_buffer_static
      Src: /src/mhd_helper.cpp:709,1
    - Dst: MHD_action_from_response
      Src: /src/mhd_helper.cpp:713,1
    - Dst: MHD_response_from_buffer_static
      Src: /src/mhd_helper.cpp:715,1
    - Dst: MHD_action_from_response
      Src: /src/mhd_helper.cpp:719,1
    - Dst: MHD_response_from_buffer_static
      Src: /src/mhd_helper.cpp:721,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 23
    argCount: 2
    argNames:
    - request
    - ' o'
    argTypes:
    - struct MHD_Request*
    - DaemonReqOpts
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 723
      start: 629
    functionDepth: 1
    functionLinenumber: 629
    functionLinenumberEnd: 723
    functionName: handle_digest_auth
    functionSourceFile: /src/mhd_helper.cpp
    functionUses: 0
    functionsReached:
    - allowed_user::size
    - MHD_digest_auth_check
    - realm::c_str
    - MHD_action_digest_auth_challenge_a
    - MHD_action_from_response
    - MHD_request_get_info_dynamic
    - allowed_pass::c_str
    - MHD_response_from_buffer_static
    - MHD_action_abort_request
    - allowed_user::data
    - memcmp
    - allowed_user::c_str
    linkageType: ''
    returnType: struct MHD_Action
    signature: "struct MHD_Action *\nhandle_digest_auth(struct MHD_Request* request,\n
      \                  const DaemonReqOpts& o)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: generate_daemon_req_opts
      Src: /src/mhd_helper.cpp:734,1
    - Dst: request_parsing
      Src: /src/mhd_helper.cpp:737,1
    - Dst: handle_basic_auth
      Src: /src/mhd_helper.cpp:743,1
    - Dst: handle_digest_auth
      Src: /src/mhd_helper.cpp:745,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 5
    argNames:
    - cls
    - MHD_RESTRICT
    - MHD_RESTRICT
    - method
    - upload_size
    argTypes:
    - void*
    - struct MHD_Request*
    - struct MHD_String*
    - enum MHD_HTTP_Method
    - uint_fast64_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 746
      start: 727
    functionDepth: 2
    functionLinenumber: 727
    functionLinenumberEnd: 746
    functionName: req_cb
    functionSourceFile: /src/mhd_helper.cpp
    functionUses: 0
    functionsReached:
    - handle_basic_auth
    - generate_daemon_req_opts
    - request_parsing
    - handle_digest_auth
    linkageType: ''
    returnType: struct MHD_Action
    signature: "struct MHD_Action *\nreq_cb(void* cls,\n       struct MHD_Request*
      MHD_RESTRICT request,\n       const struct MHD_String* MHD_RESTRICT path,\n
      \      enum MHD_HTTP_Method method,\n       uint_fast64_t upload_size)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: MHD_request_get_value
      Src: /src/mhd_helper.cpp:758,1
    - Dst: MHD_request_get_value
      Src: /src/mhd_helper.cpp:759,1
    - Dst: MHD_request_get_value
      Src: /src/mhd_helper.cpp:760,1
    - Dst: MHD_request_get_value
      Src: /src/mhd_helper.cpp:761,1
    - Dst: MHD_request_get_values_cb
      Src: /src/mhd_helper.cpp:762,1
    - Dst: MHD_request_get_values_cb
      Src: /src/mhd_helper.cpp:763,1
    - Dst: MHD_request_get_values_cb
      Src: /src/mhd_helper.cpp:764,1
    - Dst: MHD_request_get_post_data_cb
      Src: /src/mhd_helper.cpp:767,1
    - Dst: MHD_request_get_info_fixed
      Src: /src/mhd_helper.cpp:772,1
    - Dst: MHD_request_get_info_fixed
      Src: /src/mhd_helper.cpp:773,1
    - Dst: MHD_request_get_info_fixed
      Src: /src/mhd_helper.cpp:774,1
    - Dst: MHD_request_get_info_fixed
      Src: /src/mhd_helper.cpp:775,1
    - Dst: MHD_request_get_info_fixed
      Src: /src/mhd_helper.cpp:776,1
    - Dst: MHD_request_get_info_fixed
      Src: /src/mhd_helper.cpp:777,1
    - Dst: MHD_request_get_info_dynamic
      Src: /src/mhd_helper.cpp:781,1
    - Dst: MHD_request_get_info_dynamic
      Src: /src/mhd_helper.cpp:782,1
    - Dst: MHD_request_get_info_dynamic
      Src: /src/mhd_helper.cpp:783,1
    - Dst: MHD_request_get_info_dynamic
      Src: /src/mhd_helper.cpp:784,1
    - Dst: MHD_request_get_info_dynamic
      Src: /src/mhd_helper.cpp:785,1
    - Dst: MHD_request_get_info_dynamic
      Src: /src/mhd_helper.cpp:786,1
    - Dst: MHD_request_get_info_dynamic
      Src: /src/mhd_helper.cpp:787,1
    - Dst: MHD_request_get_info_dynamic
      Src: /src/mhd_helper.cpp:788,1
    - Dst: MHD_request_get_info_dynamic
      Src: /src/mhd_helper.cpp:789,1
    - Dst: MHD_request_get_info_dynamic
      Src: /src/mhd_helper.cpp:790,1
    - Dst: MHD_response_from_empty
      Src: /src/mhd_helper.cpp:793,1
    - Dst: MHD_action_abort_request
      Src: /src/mhd_helper.cpp:795,1
    - Dst: MHD_response_add_header
      Src: /src/mhd_helper.cpp:799,1
    - Dst: MHD_action_from_response
      Src: /src/mhd_helper.cpp:800,1
    - Dst: MHD_response_destroy
      Src: /src/mhd_helper.cpp:801,1
    - Dst: MHD_action_abort_request
      Src: /src/mhd_helper.cpp:802,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 31
    argCount: 4
    argNames:
    - MHD_RESTRICT
    - MHD_RESTRICT
    - method
    - upload_size
    argTypes:
    - struct MHD_Request*
    - struct MHD_String*
    - enum MHD_HTTP_Method
    - uint_fast64_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 803
      start: 749
    functionDepth: 1
    functionLinenumber: 749
    functionLinenumberEnd: 803
    functionName: req_cb_stream
    functionSourceFile: /src/mhd_helper.cpp
    functionUses: 0
    functionsReached:
    - MHD_request_get_post_data_cb
    - MHD_request_get_info_fixed
    - MHD_response_destroy
    - MHD_action_from_response
    - MHD_request_get_info_dynamic
    - MHD_response_from_empty
    - MHD_response_add_header
    - MHD_request_get_value
    - MHD_action_abort_request
    - MHD_request_get_values_cb
    linkageType: ''
    returnType: struct MHD_Action
    signature: "struct MHD_Action *\nreq_cb_stream(void*,\n              struct MHD_Request*
      MHD_RESTRICT request,\n              const struct MHD_String* MHD_RESTRICT path,\n
      \             enum MHD_HTTP_Method method,\n              uint_fast64_t upload_size)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: MHD_request_get_info_fixed_sz
      Src: /src/mhd_helper.cpp:817,1
    - Dst: MHD_request_get_info_fixed_sz
      Src: /src/mhd_helper.cpp:818,1
    - Dst: MHD_request_get_info_fixed_sz
      Src: /src/mhd_helper.cpp:819,1
    - Dst: MHD_request_get_info_fixed_sz
      Src: /src/mhd_helper.cpp:820,1
    - Dst: MHD_request_get_info_fixed_sz
      Src: /src/mhd_helper.cpp:821,1
    - Dst: MHD_request_get_info_fixed_sz
      Src: /src/mhd_helper.cpp:822,1
    - Dst: MHD_request_get_info_dynamic_sz
      Src: /src/mhd_helper.cpp:825,1
    - Dst: MHD_request_get_info_dynamic_sz
      Src: /src/mhd_helper.cpp:826,1
    - Dst: MHD_request_get_info_dynamic_sz
      Src: /src/mhd_helper.cpp:827,1
    - Dst: MHD_request_get_info_dynamic_sz
      Src: /src/mhd_helper.cpp:828,1
    - Dst: MHD_request_get_info_dynamic_sz
      Src: /src/mhd_helper.cpp:829,1
    - Dst: MHD_request_get_info_dynamic_sz
      Src: /src/mhd_helper.cpp:830,1
    - Dst: MHD_request_get_info_dynamic_sz
      Src: /src/mhd_helper.cpp:831,1
    - Dst: MHD_digest_get_hash_size
      Src: /src/mhd_helper.cpp:845,1
    - Dst: MHD_digest_auth_calc_userdigest
      Src: /src/mhd_helper.cpp:850,1
    - Dst: MHD_digest_auth_check_digest
      Src: /src/mhd_helper.cpp:851,1
    - Dst: MHD_response_from_empty
      Src: /src/mhd_helper.cpp:860,1
    - Dst: MHD_action_from_response
      Src: /src/mhd_helper.cpp:861,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 24
    argCount: 4
    argNames:
    - MHD_RESTRICT
    - MHD_RESTRICT
    - method
    - upload_size
    argTypes:
    - struct MHD_Request*
    - struct MHD_String*
    - enum MHD_HTTP_Method
    - uint_fast64_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 862
      start: 806
    functionDepth: 1
    functionLinenumber: 806
    functionLinenumberEnd: 862
    functionName: req_cb_process
    functionSourceFile: /src/mhd_helper.cpp
    functionUses: 0
    functionsReached:
    - MHD_digest_auth_calc_userdigest
    - MHD_request_get_info_dynamic_sz
    - MHD_request_get_info_fixed_sz
    - MHD_action_from_response
    - MHD_digest_auth_check_digest
    - MHD_response_from_empty
    - MHD_digest_get_hash_size
    linkageType: ''
    returnType: struct MHD_Action
    signature: "struct MHD_Action *\nreq_cb_process(void*,\n               struct
      MHD_Request* MHD_RESTRICT request,\n               const struct MHD_String*
      MHD_RESTRICT path,\n               enum MHD_HTTP_Method method,\n               uint_fast64_t
      upload_size)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - b
    argTypes:
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 32
      start: 30
    functionDepth: 0
    functionLinenumber: 30
    functionLinenumberEnd: 32
    functionName: ToMhdBool
    functionSourceFile: /src/fuzz_mhd2.cpp
    functionUses: 3
    functionsReached: []
    linkageType: ''
    returnType: enum MHD_Bool
    signature: enum MHD_Bool ToMhdBool(bool b)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 36
      start: 34
    functionDepth: 0
    functionLinenumber: 34
    functionLinenumberEnd: 36
    functionName: dummy_log
    functionSourceFile: /src/fuzz_mhd2.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void dummy_log(void*, enum MHD_StatusCode, const char*, va_list)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<const std::string*>
      Src: /src/fuzz_mhd2.cpp:45,1
    - Dst: MHD_response_from_buffer
      Src: /src/fuzz_mhd2.cpp:46,1
    - Dst: std::string*::size
      Src: /src/fuzz_mhd2.cpp:47,1
    - Dst: std::string*::c_str
      Src: /src/fuzz_mhd2.cpp:47,1
    - Dst: MHD_action_from_response
      Src: /src/fuzz_mhd2.cpp:52,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 53
      start: 38
    functionDepth: 1
    functionLinenumber: 38
    functionLinenumberEnd: 53
    functionName: "(2) MHD_FN_PAR_NONNULL_(3)\nconst struct MHD_Action* req_cb(void*
      cls,\n                                struct MHD_Request* request,\n                                const
      struct MHD_String* path,\n                                enum MHD_HTTP_Method
      method,\n                                uint_fast64_t upload_size)"
    functionSourceFile: /src/fuzz_mhd2.cpp
    functionUses: 0
    functionsReached:
    - std::string*::size
    - MHD_response_from_buffer
    - MHD_action_from_response
    - std::string*::c_str
    - static_cast<const std::string*>
    linkageType: ''
    returnType: MHD_FN_PAR_NONNULL_
    signature: "MHD_FN_PAR_NONNULL_ (2) MHD_FN_PAR_NONNULL_(3)\nconst struct MHD_Action*
      req_cb(void* cls,\n                                struct MHD_Request* request,\n
      \                               const struct MHD_String* path,\n                                enum
      MHD_HTTP_Method method,\n                                uint_fast64_t upload_size)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ConsumeRandomLengthString
      Src: /src/fuzz_mhd2.cpp:56,1
    - Dst: ConsumeRandomLengthString
      Src: /src/fuzz_mhd2.cpp:57,1
    - Dst: ConsumeRandomLengthString
      Src: /src/fuzz_mhd2.cpp:58,1
    - Dst: PickValueInArray
      Src: /src/fuzz_mhd2.cpp:61,1
    - Dst: MHD_digest_get_hash_size
      Src: /src/fuzz_mhd2.cpp:66,1
    - Dst: MHD_digest_auth_calc_userhash
      Src: /src/fuzz_mhd2.cpp:71,1
    - Dst: std::string::c_str
      Src: /src/fuzz_mhd2.cpp:71,1
    - Dst: std::string::c_str
      Src: /src/fuzz_mhd2.cpp:71,1
    - Dst: std::vector::size
      Src: /src/fuzz_mhd2.cpp:71,1
    - Dst: std::vector::data
      Src: /src/fuzz_mhd2.cpp:71,1
    - Dst: MHD_digest_auth_calc_userhash_hex
      Src: /src/fuzz_mhd2.cpp:72,1
    - Dst: std::string::c_str
      Src: /src/fuzz_mhd2.cpp:72,1
    - Dst: std::string::c_str
      Src: /src/fuzz_mhd2.cpp:72,1
    - Dst: std::vector::size
      Src: /src/fuzz_mhd2.cpp:72,1
    - Dst: std::vector::data
      Src: /src/fuzz_mhd2.cpp:72,1
    - Dst: MHD_digest_auth_calc_userdigest
      Src: /src/fuzz_mhd2.cpp:73,1
    - Dst: std::string::c_str
      Src: /src/fuzz_mhd2.cpp:73,1
    - Dst: std::string::c_str
      Src: /src/fuzz_mhd2.cpp:73,1
    - Dst: std::string::c_str
      Src: /src/fuzz_mhd2.cpp:73,1
    - Dst: std::vector::size
      Src: /src/fuzz_mhd2.cpp:73,1
    - Dst: std::vector::data
      Src: /src/fuzz_mhd2.cpp:73,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 1
    argNames:
    - ' fdp'
    argTypes:
    - FuzzedDataProvider
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 75
      start: 55
    functionDepth: 1
    functionLinenumber: 55
    functionLinenumberEnd: 75
    functionName: fuzz_digest_auth_calc
    functionSourceFile: /src/fuzz_mhd2.cpp
    functionUses: 0
    functionsReached:
    - MHD_digest_auth_calc_userdigest
    - PickValueInArray
    - std::string::c_str
    - MHD_digest_auth_calc_userhash
    - MHD_digest_auth_calc_userhash_hex
    - std::vector::size
    - ConsumeRandomLengthString
    - std::vector::data
    - MHD_digest_get_hash_size
    linkageType: ''
    returnType: void
    signature: void fuzz_digest_auth_calc(FuzzedDataProvider& fdp)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: ConsumeIntegralInRange
      Src: /src/fuzz_mhd2.cpp:79,1
    - Dst: std::min<size_t>
      Src: /src/fuzz_mhd2.cpp:79,1
    - Dst: remaining_bytes
      Src: /src/fuzz_mhd2.cpp:79,1
    - Dst: ConsumeBytesAsString
      Src: /src/fuzz_mhd2.cpp:80,1
    - Dst: PickValueInArray
      Src: /src/fuzz_mhd2.cpp:84,1
    - Dst: ConsumeBool
      Src: /src/fuzz_mhd2.cpp:91,1
    - Dst: MHD_response_from_buffer
      Src: /src/fuzz_mhd2.cpp:92,1
    - Dst: std::string::size
      Src: /src/fuzz_mhd2.cpp:92,1
    - Dst: std::string::data
      Src: /src/fuzz_mhd2.cpp:92,1
    - Dst: ConsumeBool
      Src: /src/fuzz_mhd2.cpp:93,1
    - Dst: MHD_response_from_buffer_static
      Src: /src/fuzz_mhd2.cpp:94,1
    - Dst: std::string::size
      Src: /src/fuzz_mhd2.cpp:94,1
    - Dst: std::string::c_str
      Src: /src/fuzz_mhd2.cpp:94,1
    - Dst: MHD_response_from_empty
      Src: /src/fuzz_mhd2.cpp:96,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 1
    argNames:
    - ' fdp'
    argTypes:
    - FuzzedDataProvider
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 100
      start: 77
    functionDepth: 1
    functionLinenumber: 77
    functionLinenumberEnd: 100
    functionName: fuzz_response_creation
    functionSourceFile: /src/fuzz_mhd2.cpp
    functionUses: 0
    functionsReached:
    - std::string::data
    - ConsumeIntegralInRange
    - PickValueInArray
    - MHD_response_from_buffer
    - std::string::c_str
    - remaining_bytes
    - ConsumeBool
    - MHD_response_from_buffer_static
    - MHD_response_from_empty
    - std::min<size_t>
    - std::string::size
    - ConsumeBytesAsString
    linkageType: ''
    returnType: struct MHD_Response
    signature: struct MHD_Response * fuzz_response_creation(FuzzedDataProvider& fdp)
  - BBCount: 14
    BranchProfiles: []
    Callsites:
    - Dst: ConsumeRandomLengthString
      Src: /src/fuzz_mhd2.cpp:103,1
    - Dst: std::string::empty
      Src: /src/fuzz_mhd2.cpp:103,1
    - Dst: ConsumeRandomLengthString
      Src: /src/fuzz_mhd2.cpp:104,1
    - Dst: std::string::empty
      Src: /src/fuzz_mhd2.cpp:104,1
    - Dst: ConsumeRandomLengthString
      Src: /src/fuzz_mhd2.cpp:105,1
    - Dst: std::string::empty
      Src: /src/fuzz_mhd2.cpp:105,1
    - Dst: ConsumeRandomLengthString
      Src: /src/fuzz_mhd2.cpp:106,1
    - Dst: std::string::empty
      Src: /src/fuzz_mhd2.cpp:106,1
    - Dst: ConsumeRandomLengthString
      Src: /src/fuzz_mhd2.cpp:107,1
    - Dst: std::string::empty
      Src: /src/fuzz_mhd2.cpp:107,1
    - Dst: ConsumeRandomLengthString
      Src: /src/fuzz_mhd2.cpp:108,1
    - Dst: std::string::empty
      Src: /src/fuzz_mhd2.cpp:108,1
    - Dst: MHD_response_add_header
      Src: /src/fuzz_mhd2.cpp:111,1
    - Dst: ConsumeBool
      Src: /src/fuzz_mhd2.cpp:111,1
    - Dst: MHD_response_add_header
      Src: /src/fuzz_mhd2.cpp:112,1
    - Dst: std::string::c_str
      Src: /src/fuzz_mhd2.cpp:112,1
    - Dst: std::string::c_str
      Src: /src/fuzz_mhd2.cpp:112,1
    - Dst: MHD_response_add_header
      Src: /src/fuzz_mhd2.cpp:113,1
    - Dst: std::string::c_str
      Src: /src/fuzz_mhd2.cpp:113,1
    - Dst: std::string::c_str
      Src: /src/fuzz_mhd2.cpp:113,1
    - Dst: MHD_response_add_header
      Src: /src/fuzz_mhd2.cpp:114,1
    - Dst: std::string::c_str
      Src: /src/fuzz_mhd2.cpp:114,1
    - Dst: std::string::c_str
      Src: /src/fuzz_mhd2.cpp:114,1
    - Dst: MHD_response_add_predef_header
      Src: /src/fuzz_mhd2.cpp:117,1
    - Dst: PickValueInArray
      Src: /src/fuzz_mhd2.cpp:118,1
    - Dst: ConsumeRandomLengthString
      Src: /src/fuzz_mhd2.cpp:119,1
    - Dst: MHD_R_OPTION_REUSABLE
      Src: /src/fuzz_mhd2.cpp:123,1
    - Dst: ToMhdBool
      Src: /src/fuzz_mhd2.cpp:123,1
    - Dst: ConsumeBool
      Src: /src/fuzz_mhd2.cpp:123,1
    - Dst: MHD_response_set_option
      Src: /src/fuzz_mhd2.cpp:123,1
    - Dst: MHD_R_OPTION_HEAD_ONLY_RESPONSE
      Src: /src/fuzz_mhd2.cpp:124,1
    - Dst: ToMhdBool
      Src: /src/fuzz_mhd2.cpp:124,1
    - Dst: ConsumeBool
      Src: /src/fuzz_mhd2.cpp:124,1
    - Dst: MHD_response_set_option
      Src: /src/fuzz_mhd2.cpp:124,1
    - Dst: MHD_R_OPTION_CHUNKED_ENC
      Src: /src/fuzz_mhd2.cpp:125,1
    - Dst: ToMhdBool
      Src: /src/fuzz_mhd2.cpp:125,1
    - Dst: ConsumeBool
      Src: /src/fuzz_mhd2.cpp:125,1
    - Dst: MHD_response_set_option
      Src: /src/fuzz_mhd2.cpp:125,1
    - Dst: MHD_R_OPTION_CONN_CLOSE
      Src: /src/fuzz_mhd2.cpp:126,1
    - Dst: ToMhdBool
      Src: /src/fuzz_mhd2.cpp:126,1
    - Dst: ConsumeBool
      Src: /src/fuzz_mhd2.cpp:126,1
    - Dst: MHD_response_set_option
      Src: /src/fuzz_mhd2.cpp:126,1
    - Dst: mkstemp
      Src: /src/fuzz_mhd2.cpp:130,1
    - Dst: ConsumeRandomLengthString
      Src: /src/fuzz_mhd2.cpp:132,1
    - Dst: std::string::empty
      Src: /src/fuzz_mhd2.cpp:133,1
    - Dst: write
      Src: /src/fuzz_mhd2.cpp:134,1
    - Dst: std::string::data
      Src: /src/fuzz_mhd2.cpp:134,1
    - Dst: std::string::size
      Src: /src/fuzz_mhd2.cpp:134,1
    - Dst: lseek
      Src: /src/fuzz_mhd2.cpp:137,1
    - Dst: ConsumeIntegralInRange
      Src: /src/fuzz_mhd2.cpp:139,1
    - Dst: ConsumeIntegralInRange
      Src: /src/fuzz_mhd2.cpp:140,1
    - Dst: MHD_response_from_fd
      Src: /src/fuzz_mhd2.cpp:141,1
    - Dst: PickValueInArray
      Src: /src/fuzz_mhd2.cpp:142,1
    - Dst: MHD_response_destroy
      Src: /src/fuzz_mhd2.cpp:146,1
    - Dst: close
      Src: /src/fuzz_mhd2.cpp:146,1
    - Dst: close
      Src: /src/fuzz_mhd2.cpp:148,1
    - Dst: unlink
      Src: /src/fuzz_mhd2.cpp:150,1
    - Dst: pipe
      Src: /src/fuzz_mhd2.cpp:155,1
    - Dst: ConsumeRandomLengthString
      Src: /src/fuzz_mhd2.cpp:156,1
    - Dst: std::string::empty
      Src: /src/fuzz_mhd2.cpp:157,1
    - Dst: write
      Src: /src/fuzz_mhd2.cpp:157,1
    - Dst: std::string::data
      Src: /src/fuzz_mhd2.cpp:157,1
    - Dst: std::string::size
      Src: /src/fuzz_mhd2.cpp:157,1
    - Dst: close
      Src: /src/fuzz_mhd2.cpp:158,1
    - Dst: MHD_response_from_pipe
      Src: /src/fuzz_mhd2.cpp:159,1
    - Dst: PickValueInArray
      Src: /src/fuzz_mhd2.cpp:160,1
    - Dst: MHD_response_destroy
      Src: /src/fuzz_mhd2.cpp:165,1
    - Dst: close
      Src: /src/fuzz_mhd2.cpp:167,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 49
    argCount: 2
    argNames:
    - ' fdp'
    - r
    argTypes:
    - FuzzedDataProvider
    - struct MHD_Response*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 170
      start: 102
    functionDepth: 1
    functionLinenumber: 102
    functionLinenumberEnd: 170
    functionName: fuzz_response_config
    functionSourceFile: /src/fuzz_mhd2.cpp
    functionUses: 0
    functionsReached:
    - ConsumeIntegralInRange
    - std::string::c_str
    - MHD_R_OPTION_HEAD_ONLY_RESPONSE
    - MHD_response_set_option
    - pipe
    - unlink
    - MHD_R_OPTION_CHUNKED_ENC
    - std::string::size
    - close
    - ToMhdBool
    - PickValueInArray
    - MHD_response_destroy
    - MHD_response_from_fd
    - MHD_response_add_predef_header
    - MHD_response_add_header
    - std::string::data
    - lseek
    - mkstemp
    - ConsumeBool
    - MHD_R_OPTION_CONN_CLOSE
    - ConsumeRandomLengthString
    - MHD_R_OPTION_REUSABLE
    - std::string::empty
    - MHD_response_from_pipe
    - write
    linkageType: ''
    returnType: void
    signature: void fuzz_response_config(FuzzedDataProvider& fdp, struct MHD_Response*
      r)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: PickValueInArray
      Src: /src/fuzz_mhd2.cpp:177,1
    - Dst: MHD_D_OPTION_POLL_SYSCALL
      Src: /src/fuzz_mhd2.cpp:178,1
    - Dst: MHD_daemon_set_option
      Src: /src/fuzz_mhd2.cpp:179,1
    - Dst: ConsumeIntegralInRange
      Src: /src/fuzz_mhd2.cpp:185,1
    - Dst: PickValueInArray
      Src: /src/fuzz_mhd2.cpp:186,1
    - Dst: MHD_D_OPTION_BIND_PORT
      Src: /src/fuzz_mhd2.cpp:187,1
    - Dst: MHD_daemon_set_option
      Src: /src/fuzz_mhd2.cpp:188,1
    - Dst: MHD_D_OPTION_DEFAULT_TIMEOUT_MILSEC
      Src: /src/fuzz_mhd2.cpp:190,1
    - Dst: ConsumeIntegralInRange
      Src: /src/fuzz_mhd2.cpp:190,1
    - Dst: MHD_daemon_set_option
      Src: /src/fuzz_mhd2.cpp:191,1
    - Dst: MHD_D_OPTION_CONN_MEMORY_LIMIT
      Src: /src/fuzz_mhd2.cpp:193,1
    - Dst: ConsumeIntegralInRange
      Src: /src/fuzz_mhd2.cpp:193,1
    - Dst: MHD_daemon_set_option
      Src: /src/fuzz_mhd2.cpp:194,1
    - Dst: MHD_D_OPTION_LOG_CALLBACK
      Src: /src/fuzz_mhd2.cpp:196,1
    - Dst: MHD_daemon_set_option
      Src: /src/fuzz_mhd2.cpp:197,1
    - Dst: ConsumeBytes
      Src: /src/fuzz_mhd2.cpp:199,1
    - Dst: ConsumeIntegralInRange
      Src: /src/fuzz_mhd2.cpp:199,1
    - Dst: MHD_D_OPTION_RANDOM_ENTROPY
      Src: /src/fuzz_mhd2.cpp:200,1
    - Dst: std::vector::size
      Src: /src/fuzz_mhd2.cpp:200,1
    - Dst: const_cast<void*>
      Src: /src/fuzz_mhd2.cpp:201,1
    - Dst: static_cast<const void*>
      Src: /src/fuzz_mhd2.cpp:201,1
    - Dst: std::vector::data
      Src: /src/fuzz_mhd2.cpp:201,1
    - Dst: MHD_daemon_set_option
      Src: /src/fuzz_mhd2.cpp:203,1
    - Dst: MHD_D_OPTION_REREGISTER_ALL
      Src: /src/fuzz_mhd2.cpp:205,1
    - Dst: ToMhdBool
      Src: /src/fuzz_mhd2.cpp:205,1
    - Dst: ConsumeBool
      Src: /src/fuzz_mhd2.cpp:205,1
    - Dst: MHD_daemon_set_option
      Src: /src/fuzz_mhd2.cpp:206,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    argCount: 2
    argNames:
    - ' fdp'
    - d
    argTypes:
    - FuzzedDataProvider
    - MHD_Daemon*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 207
      start: 172
    functionDepth: 1
    functionLinenumber: 172
    functionLinenumberEnd: 207
    functionName: daemon_configuration
    functionSourceFile: /src/fuzz_mhd2.cpp
    functionUses: 0
    functionsReached:
    - static_cast<const void*>
    - ConsumeIntegralInRange
    - ToMhdBool
    - MHD_D_OPTION_POLL_SYSCALL
    - PickValueInArray
    - MHD_D_OPTION_REREGISTER_ALL
    - MHD_D_OPTION_BIND_PORT
    - ConsumeBool
    - MHD_D_OPTION_LOG_CALLBACK
    - MHD_daemon_set_option
    - ConsumeBytes
    - MHD_D_OPTION_CONN_MEMORY_LIMIT
    - std::vector::size
    - const_cast<void*>
    - MHD_D_OPTION_RANDOM_ENTROPY
    - MHD_D_OPTION_DEFAULT_TIMEOUT_MILSEC
    - std::vector::data
    linkageType: ''
    returnType: void
    signature: void daemon_configuration(FuzzedDataProvider& fdp, MHD_Daemon* d)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ConsumeIntegralInRange
      Src: /src/fuzz_mhd2.cpp:211,1
    - Dst: std::min<size_t>
      Src: /src/fuzz_mhd2.cpp:211,1
    - Dst: remaining_bytes
      Src: /src/fuzz_mhd2.cpp:211,1
    - Dst: ConsumeBytesAsString
      Src: /src/fuzz_mhd2.cpp:212,1
    - Dst: MHD_daemon_create
      Src: /src/fuzz_mhd2.cpp:214,1
    - Dst: ConsumeIntegralInRange
      Src: /src/fuzz_mhd2.cpp:221,1
    - Dst: daemon_configuration
      Src: /src/fuzz_mhd2.cpp:238,1
    - Dst: PickValueInArray
      Src: /src/fuzz_mhd2.cpp:239,1
    - Dst: MHD_daemon_get_info_fixed
      Src: /src/fuzz_mhd2.cpp:240,1
    - Dst: ConsumeIntegralInRange
      Src: /src/fuzz_mhd2.cpp:245,1
    - Dst: daemon_configuration
      Src: /src/fuzz_mhd2.cpp:252,1
    - Dst: PickValueInArray
      Src: /src/fuzz_mhd2.cpp:253,1
    - Dst: MHD_daemon_get_info_dynamic
      Src: /src/fuzz_mhd2.cpp:254,1
    - Dst: MHD_daemon_destroy
      Src: /src/fuzz_mhd2.cpp:257,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 13
    argCount: 1
    argNames:
    - ' fdp'
    argTypes:
    - FuzzedDataProvider
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 258
      start: 209
    functionDepth: 2
    functionLinenumber: 209
    functionLinenumberEnd: 258
    functionName: fuzz_daemon_lifecycle
    functionSourceFile: /src/fuzz_mhd2.cpp
    functionUses: 0
    functionsReached:
    - ConsumeIntegralInRange
    - MHD_daemon_create
    - PickValueInArray
    - MHD_daemon_get_info_fixed
    - daemon_configuration
    - remaining_bytes
    - MHD_daemon_get_info_dynamic
    - std::min<size_t>
    - MHD_daemon_destroy
    - ConsumeBytesAsString
    linkageType: ''
    returnType: void
    signature: void fuzz_daemon_lifecycle(FuzzedDataProvider& fdp)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: fuzz_digest_auth_calc
      Src: /src/fuzz_mhd2.cpp:267,1
    - Dst: fuzz_response_creation
      Src: /src/fuzz_mhd2.cpp:270,1
    - Dst: fuzz_response_config
      Src: /src/fuzz_mhd2.cpp:274,1
    - Dst: MHD_response_destroy
      Src: /src/fuzz_mhd2.cpp:275,1
    - Dst: fuzz_daemon_lifecycle
      Src: /src/fuzz_mhd2.cpp:279,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 11
    argCount: 2
    argNames:
    - data
    - size
    argTypes:
    - uint8_t*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 282
      start: 260
    functionDepth: 3
    functionLinenumber: 260
    functionLinenumberEnd: 282
    functionName: LLVMFuzzerTestOneInput
    functionSourceFile: /src/fuzz_mhd2.cpp
    functionUses: 0
    functionsReached:
    - MHD_response_destroy
    - fuzz_response_creation
    - fuzz_digest_auth_calc
    - fuzz_daemon_lifecycle
    - fuzz_response_config
    linkageType: ''
    returnType: int
    signature: int LLVMFuzzerTestOneInput(const uint8_t* data, size_t size)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ConsumeRandomLengthString
      Src: /src/fuzz_str.cpp:32,1
    - Dst: ConsumeRandomLengthString
      Src: /src/fuzz_str.cpp:33,1
    - Dst: ConsumeRandomLengthString
      Src: /src/fuzz_str.cpp:34,1
    - Dst: std::string::c_str
      Src: /src/fuzz_str.cpp:35,1
    - Dst: std::string::c_str
      Src: /src/fuzz_str.cpp:36,1
    - Dst: std::string::c_str
      Src: /src/fuzz_str.cpp:37,1
    - Dst: std::string::size
      Src: /src/fuzz_str.cpp:38,1
    - Dst: std::string::size
      Src: /src/fuzz_str.cpp:39,1
    - Dst: std::string::size
      Src: /src/fuzz_str.cpp:40,1
    - Dst: mhd_str_equal_caseless
      Src: /src/fuzz_str.cpp:43,1
    - Dst: mhd_str_equal_caseless_n
      Src: /src/fuzz_str.cpp:46,1
    - Dst: ConsumeIntegral
      Src: /src/fuzz_str.cpp:46,1
    - Dst: std::min
      Src: /src/fuzz_str.cpp:49,1
    - Dst: mhd_str_equal_caseless_bin_n
      Src: /src/fuzz_str.cpp:51,1
    - Dst: mhd_str_has_token_caseless
      Src: /src/fuzz_str.cpp:55,1
    - Dst: mhd_str_has_token_caseless
      Src: /src/fuzz_str.cpp:56,1
    - Dst: ConsumeIntegralInRange
      Src: /src/fuzz_str.cpp:59,1
    - Dst: malloc
      Src: /src/fuzz_str.cpp:60,1
    - Dst: mhd_str_remove_token_caseless
      Src: /src/fuzz_str.cpp:61,1
    - Dst: free
      Src: /src/fuzz_str.cpp:63,1
    - Dst: mhd_str_starts_with_token_opt_param
      Src: /src/fuzz_str.cpp:72,1
    - Dst: ConsumeBool
      Src: /src/fuzz_str.cpp:75,1
    - Dst: mhd_str_starts_with_token_req_param
      Src: /src/fuzz_str.cpp:80,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 12
    argCount: 1
    argNames:
    - ' fdp'
    argTypes:
    - FuzzedDataProvider
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 81
      start: 30
    functionDepth: 1
    functionLinenumber: 30
    functionLinenumberEnd: 81
    functionName: fuzz_tokens
    functionSourceFile: /src/fuzz_str.cpp
    functionUses: 0
    functionsReached:
    - ConsumeIntegralInRange
    - mhd_str_equal_caseless_n
    - mhd_str_equal_caseless_bin_n
    - ConsumeIntegral
    - std::string::c_str
    - std::min
    - malloc
    - mhd_str_starts_with_token_req_param
    - ConsumeBool
    - free
    - mhd_str_starts_with_token_opt_param
    - mhd_str_has_token_caseless
    - std::string::size
    - mhd_str_equal_caseless
    - mhd_str_remove_token_caseless
    - ConsumeRandomLengthString
    linkageType: ''
    returnType: void
    signature: void fuzz_tokens(FuzzedDataProvider& fdp)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ConsumeRandomLengthString
      Src: /src/fuzz_str.cpp:85,1
    - Dst: std::string::c_str
      Src: /src/fuzz_str.cpp:86,1
    - Dst: std::string::size
      Src: /src/fuzz_str.cpp:87,1
    - Dst: ConsumeIntegralInRange
      Src: /src/fuzz_str.cpp:92,1
    - Dst: mhd_str_to_uint64
      Src: /src/fuzz_str.cpp:95,1
    - Dst: mhd_str_to_uint64_n
      Src: /src/fuzz_str.cpp:96,1
    - Dst: mhd_strx_to_uint64
      Src: /src/fuzz_str.cpp:97,1
    - Dst: mhd_strx_to_uint64_n
      Src: /src/fuzz_str.cpp:98,1
    - Dst: mhd_uint64_to_str
      Src: /src/fuzz_str.cpp:99,1
    - Dst: ConsumeIntegral
      Src: /src/fuzz_str.cpp:99,1
    - Dst: mhd_uint64_to_str
      Src: /src/fuzz_str.cpp:100,1
    - Dst: ConsumeIntegral
      Src: /src/fuzz_str.cpp:100,1
    - Dst: mhd_strx_to_uint32
      Src: /src/fuzz_str.cpp:103,1
    - Dst: mhd_strx_to_uint32_n
      Src: /src/fuzz_str.cpp:104,1
    - Dst: mhd_uint32_to_strx
      Src: /src/fuzz_str.cpp:105,1
    - Dst: ConsumeIntegral
      Src: /src/fuzz_str.cpp:105,1
    - Dst: mhd_uint32_to_strx
      Src: /src/fuzz_str.cpp:106,1
    - Dst: ConsumeIntegral
      Src: /src/fuzz_str.cpp:106,1
    - Dst: mhd_uint16_to_str
      Src: /src/fuzz_str.cpp:109,1
    - Dst: ConsumeIntegralInRange
      Src: /src/fuzz_str.cpp:109,1
    - Dst: mhd_uint16_to_str
      Src: /src/fuzz_str.cpp:110,1
    - Dst: ConsumeIntegralInRange
      Src: /src/fuzz_str.cpp:110,1
    - Dst: ConsumeIntegralInRange
      Src: /src/fuzz_str.cpp:113,1
    - Dst: mhd_uint8_to_str_pad
      Src: /src/fuzz_str.cpp:114,1
    - Dst: ConsumeIntegral
      Src: /src/fuzz_str.cpp:114,1
    - Dst: mhd_uint8_to_str_pad
      Src: /src/fuzz_str.cpp:115,1
    - Dst: ConsumeIntegral
      Src: /src/fuzz_str.cpp:115,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 15
    argCount: 1
    argNames:
    - ' fdp'
    argTypes:
    - FuzzedDataProvider
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 116
      start: 83
    functionDepth: 1
    functionLinenumber: 83
    functionLinenumberEnd: 116
    functionName: fuzz_conversion
    functionSourceFile: /src/fuzz_str.cpp
    functionUses: 0
    functionsReached:
    - ConsumeIntegralInRange
    - mhd_uint32_to_strx
    - mhd_strx_to_uint64_n
    - std::string::c_str
    - ConsumeIntegral
    - mhd_uint16_to_str
    - mhd_uint8_to_str_pad
    - mhd_strx_to_uint64
    - mhd_str_to_uint64_n
    - mhd_strx_to_uint32_n
    - mhd_str_to_uint64
    - mhd_uint64_to_str
    - std::string::size
    - mhd_strx_to_uint32
    - ConsumeRandomLengthString
    linkageType: ''
    returnType: void
    signature: void fuzz_conversion(FuzzedDataProvider& fdp)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: ConsumeRandomLengthString
      Src: /src/fuzz_str.cpp:121,1
    - Dst: std::string::data
      Src: /src/fuzz_str.cpp:122,1
    - Dst: std::string::size
      Src: /src/fuzz_str.cpp:123,1
    - Dst: malloc
      Src: /src/fuzz_str.cpp:126,1
    - Dst: malloc
      Src: /src/fuzz_str.cpp:127,1
    - Dst: mhd_str_pct_decode_strict_n
      Src: /src/fuzz_str.cpp:129,1
    - Dst: mhd_str_pct_decode_lenient_n
      Src: /src/fuzz_str.cpp:132,1
    - Dst: mhd_str_pct_decode_in_place_strict
      Src: /src/fuzz_str.cpp:136,1
    - Dst: mhd_str_pct_decode_in_place_lenient
      Src: /src/fuzz_str.cpp:137,1
    - Dst: free
      Src: /src/fuzz_str.cpp:139,1
    - Dst: free
      Src: /src/fuzz_str.cpp:140,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 11
    argCount: 1
    argNames:
    - ' fdp'
    argTypes:
    - FuzzedDataProvider
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 141
      start: 118
    functionDepth: 1
    functionLinenumber: 118
    functionLinenumberEnd: 141
    functionName: fuzz_decode
    functionSourceFile: /src/fuzz_str.cpp
    functionUses: 0
    functionsReached:
    - std::string::data
    - mhd_str_pct_decode_strict_n
    - mhd_str_pct_decode_lenient_n
    - malloc
    - free
    - std::string::size
    - mhd_str_pct_decode_in_place_strict
    - mhd_str_pct_decode_in_place_lenient
    - ConsumeRandomLengthString
    linkageType: ''
    returnType: void
    signature: void fuzz_decode(FuzzedDataProvider& fdp)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: ConsumeRandomLengthString
      Src: /src/fuzz_str.cpp:145,1
    - Dst: ConsumeRandomLengthString
      Src: /src/fuzz_str.cpp:146,1
    - Dst: std::string::c_str
      Src: /src/fuzz_str.cpp:147,1
    - Dst: std::string::c_str
      Src: /src/fuzz_str.cpp:148,1
    - Dst: std::string::size
      Src: /src/fuzz_str.cpp:149,1
    - Dst: std::string::size
      Src: /src/fuzz_str.cpp:150,1
    - Dst: mhd_str_equal_quoted_bin_n
      Src: /src/fuzz_str.cpp:153,1
    - Dst: mhd_str_equal_caseless_quoted_bin_n
      Src: /src/fuzz_str.cpp:156,1
    - Dst: malloc
      Src: /src/fuzz_str.cpp:160,1
    - Dst: mhd_str_quote
      Src: /src/fuzz_str.cpp:162,1
    - Dst: mhd_str_unquote
      Src: /src/fuzz_str.cpp:163,1
    - Dst: free
      Src: /src/fuzz_str.cpp:165,1
    - Dst: malloc
      Src: /src/fuzz_str.cpp:168,1
    - Dst: mhd_str_quote
      Src: /src/fuzz_str.cpp:170,1
    - Dst: mhd_str_unquote
      Src: /src/fuzz_str.cpp:171,1
    - Dst: free
      Src: /src/fuzz_str.cpp:173,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 15
    argCount: 1
    argNames:
    - ' fdp'
    argTypes:
    - FuzzedDataProvider
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 174
      start: 143
    functionDepth: 1
    functionLinenumber: 143
    functionLinenumberEnd: 174
    functionName: fuzz_quoted
    functionSourceFile: /src/fuzz_str.cpp
    functionUses: 0
    functionsReached:
    - mhd_str_equal_caseless_quoted_bin_n
    - mhd_str_equal_quoted_bin_n
    - std::string::c_str
    - malloc
    - free
    - mhd_str_quote
    - mhd_str_unquote
    - std::string::size
    - ConsumeRandomLengthString
    linkageType: ''
    returnType: void
    signature: void fuzz_quoted(FuzzedDataProvider& fdp)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ConsumeRandomLengthString
      Src: /src/fuzz_str.cpp:178,1
    - Dst: std::string::data
      Src: /src/fuzz_str.cpp:179,1
    - Dst: std::string::size
      Src: /src/fuzz_str.cpp:180,1
    - Dst: std::string::size
      Src: /src/fuzz_str.cpp:190,1
    - Dst: malloc
      Src: /src/fuzz_str.cpp:191,1
    - Dst: mhd_base64_to_bin_n
      Src: /src/fuzz_str.cpp:193,1
    - Dst: free
      Src: /src/fuzz_str.cpp:194,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 1
    argNames:
    - ' fdp'
    argTypes:
    - FuzzedDataProvider
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 196
      start: 176
    functionDepth: 1
    functionLinenumber: 176
    functionLinenumberEnd: 196
    functionName: fuzz_base64
    functionSourceFile: /src/fuzz_str.cpp
    functionUses: 0
    functionsReached:
    - std::string::data
    - malloc
    - free
    - mhd_base64_to_bin_n
    - std::string::size
    - ConsumeRandomLengthString
    linkageType: ''
    returnType: void
    signature: void fuzz_base64(FuzzedDataProvider& fdp)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ConsumeIntegralInRange
      Src: /src/fuzz_str.cpp:200,1
    - Dst: ConsumeIntegral
      Src: /src/fuzz_str.cpp:202,1
    - Dst: MHD_http_method_to_string
      Src: /src/fuzz_str.cpp:205,1
    - Dst: static_cast<MHD_HTTP_Method>
      Src: /src/fuzz_str.cpp:205,1
    - Dst: MHD_protocol_version_to_string
      Src: /src/fuzz_str.cpp:206,1
    - Dst: static_cast<MHD_HTTP_ProtocolVersion>
      Src: /src/fuzz_str.cpp:206,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - ' fdp'
    argTypes:
    - FuzzedDataProvider
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 208
      start: 198
    functionDepth: 1
    functionLinenumber: 198
    functionLinenumberEnd: 208
    functionName: fuzz_transformation
    functionSourceFile: /src/fuzz_str.cpp
    functionUses: 0
    functionsReached:
    - MHD_protocol_version_to_string
    - static_cast<MHD_HTTP_ProtocolVersion>
    - ConsumeIntegralInRange
    - static_cast<MHD_HTTP_Method>
    - ConsumeIntegral
    - MHD_http_method_to_string
    linkageType: ''
    returnType: void
    signature: void fuzz_transformation(FuzzedDataProvider& fdp)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: ConsumeRandomLengthString
      Src: /src/fuzz_str.cpp:212,1
    - Dst: std::string::data
      Src: /src/fuzz_str.cpp:213,1
    - Dst: std::string::size
      Src: /src/fuzz_str.cpp:214,1
    - Dst: malloc
      Src: /src/fuzz_str.cpp:217,1
    - Dst: mhd_hex_to_bin
      Src: /src/fuzz_str.cpp:219,1
    - Dst: free
      Src: /src/fuzz_str.cpp:220,1
    - Dst: malloc
      Src: /src/fuzz_str.cpp:224,1
    - Dst: std::string::empty
      Src: /src/fuzz_str.cpp:226,1
    - Dst: mhd_bin_to_hex
      Src: /src/fuzz_str.cpp:227,1
    - Dst: free
      Src: /src/fuzz_str.cpp:229,1
    - Dst: malloc
      Src: /src/fuzz_str.cpp:232,1
    - Dst: std::string::empty
      Src: /src/fuzz_str.cpp:234,1
    - Dst: mhd_bin_to_hex_z
      Src: /src/fuzz_str.cpp:235,1
    - Dst: free
      Src: /src/fuzz_str.cpp:237,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 17
    argCount: 1
    argNames:
    - ' fdp'
    argTypes:
    - FuzzedDataProvider
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 239
      start: 210
    functionDepth: 1
    functionLinenumber: 210
    functionLinenumberEnd: 239
    functionName: fuzz_hex_conversion
    functionSourceFile: /src/fuzz_str.cpp
    functionUses: 0
    functionsReached:
    - std::string::data
    - mhd_bin_to_hex
    - malloc
    - mhd_hex_to_bin
    - std::string::empty
    - free
    - mhd_bin_to_hex_z
    - std::string::size
    - ConsumeRandomLengthString
    linkageType: ''
    returnType: void
    signature: void fuzz_hex_conversion(FuzzedDataProvider& fdp)
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: FuzzedDataProvider::ConsumeIntegralInRange
      Src: /src/fuzz_str.cpp:244,1
    - Dst: FuzzedDataProvider::ConsumeIntegralInRange
      Src: /src/fuzz_str.cpp:245,1
    - Dst: fuzz_tokens
      Src: /src/fuzz_str.cpp:246,1
    - Dst: fuzz_conversion
      Src: /src/fuzz_str.cpp:247,1
    - Dst: fuzz_decode
      Src: /src/fuzz_str.cpp:248,1
    - Dst: fuzz_quoted
      Src: /src/fuzz_str.cpp:249,1
    - Dst: fuzz_base64
      Src: /src/fuzz_str.cpp:250,1
    - Dst: fuzz_transformation
      Src: /src/fuzz_str.cpp:251,1
    - Dst: fuzz_hex_conversion
      Src: /src/fuzz_str.cpp:252,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 27
    argCount: 2
    argNames:
    - data
    - size
    argTypes:
    - uint8_t*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 256
      start: 241
    functionDepth: 2
    functionLinenumber: 241
    functionLinenumberEnd: 256
    functionName: LLVMFuzzerTestOneInput
    functionSourceFile: /src/fuzz_str.cpp
    functionUses: 0
    functionsReached:
    - fuzz_quoted
    - fuzz_conversion
    - fuzz_transformation
    - fuzz_tokens
    - fuzz_hex_conversion
    - fuzz_decode
    - fuzz_base64
    - FuzzedDataProvider::ConsumeIntegralInRange
    linkageType: ''
    returnType: int
    signature: int LLVMFuzzerTestOneInput(const uint8_t *data, size_t size)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: mhd_pool_create
      Src: /src/fuzz_daemon_connection.cpp:34,1
    - Dst: atexit
      Src: /src/fuzz_daemon_connection.cpp:35,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 37
      start: 33
    functionDepth: 1
    functionLinenumber: 33
    functionLinenumberEnd: 37
    functionName: LLVMFuzzerInitialize
    functionSourceFile: /src/fuzz_daemon_connection.cpp
    functionUses: 0
    functionsReached:
    - mhd_pool_create
    - atexit
    linkageType: ''
    returnType: int
    signature: int LLVMFuzzerInitialize()
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: mhd_pool_destroy
      Src: /src/fuzz_daemon_connection.cpp:47,1
    - Dst: mhd_pool_create
      Src: /src/fuzz_daemon_connection.cpp:48,1
    - Dst: init_daemon_connection
      Src: /src/fuzz_daemon_connection.cpp:53,1
    - Dst: init_parsing_configuration
      Src: /src/fuzz_daemon_connection.cpp:54,1
    - Dst: init_connection_buffer
      Src: /src/fuzz_daemon_connection.cpp:55,1
    - Dst: prepare_headers_and_parse
      Src: /src/fuzz_daemon_connection.cpp:56,1
    - Dst: FuzzedDataProvider::ConsumeIntegralInRange
      Src: /src/fuzz_daemon_connection.cpp:60,1
    - Dst: std::vector::push_back
      Src: /src/fuzz_daemon_connection.cpp:61,1
    - Dst: FuzzedDataProvider::ConsumeIntegralInRange
      Src: /src/fuzz_daemon_connection.cpp:61,1
    - Dst: FuzzedDataProvider::ConsumeBool
      Src: /src/fuzz_daemon_connection.cpp:65,1
    - Dst: FuzzedDataProvider::ConsumeBool
      Src: /src/fuzz_daemon_connection.cpp:66,1
    - Dst: FuzzedDataProvider::ConsumeBool
      Src: /src/fuzz_daemon_connection.cpp:67,1
    - Dst: FuzzedDataProvider::ConsumeRemainingBytesAsString
      Src: /src/fuzz_daemon_connection.cpp:70,1
    - Dst: std::string::size
      Src: /src/fuzz_daemon_connection.cpp:71,1
    - Dst: prepare_body_and_process
      Src: /src/fuzz_daemon_connection.cpp:75,1
    - Dst: mhd_conn_event_loop_state_update
      Src: /src/fuzz_daemon_connection.cpp:80,1
    - Dst: mhd_stream_call_app_request_cb
      Src: /src/fuzz_daemon_connection.cpp:86,1
    - Dst: is_post_parse_ready
      Src: /src/fuzz_daemon_connection.cpp:93,1
    - Dst: mhd_stream_process_req_recv_finished
      Src: /src/fuzz_daemon_connection.cpp:94,1
    - Dst: mhd_conn_tls_check
      Src: /src/fuzz_daemon_connection.cpp:99,1
    - Dst: final_cleanup
      Src: /src/fuzz_daemon_connection.cpp:105,1
    CyclomaticComplexity: 16
    EdgeCount: 16
    ICount: 43
    argCount: 2
    argNames:
    - data
    - size
    argTypes:
    - uint8_t*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 107
      start: 39
    functionDepth: 3
    functionLinenumber: 39
    functionLinenumberEnd: 107
    functionName: LLVMFuzzerTestOneInput
    functionSourceFile: /src/fuzz_daemon_connection.cpp
    functionUses: 0
    functionsReached:
    - mhd_conn_tls_check
    - prepare_body_and_process
    - init_connection_buffer
    - mhd_stream_process_req_recv_finished
    - final_cleanup
    - std::vector::push_back
    - FuzzedDataProvider::ConsumeBool
    - mhd_conn_event_loop_state_update
    - init_parsing_configuration
    - prepare_headers_and_parse
    - is_post_parse_ready
    - FuzzedDataProvider::ConsumeRemainingBytesAsString
    - mhd_stream_call_app_request_cb
    - mhd_pool_destroy
    - mhd_pool_create
    - init_daemon_connection
    - std::string::size
    - FuzzedDataProvider::ConsumeIntegralInRange
    linkageType: ''
    returnType: int
    signature: int LLVMFuzzerTestOneInput(const uint8_t *data, size_t size)
  - BBCount: 14
    BranchProfiles: []
    Callsites:
    - Dst: mhd_daemon_extend_lbuf_up_to
      Src: /src/fuzz_connection.cpp:41,1
    - Dst: empty
      Src: /src/fuzz_connection.cpp:44,1
    - Dst: size
      Src: /src/fuzz_connection.cpp:45,1
    - Dst: size
      Src: /src/fuzz_connection.cpp:45,1
    - Dst: mhd_daemon_extend_lbuf_up_to
      Src: /src/fuzz_connection.cpp:50,1
    - Dst: memcpy
      Src: /src/fuzz_connection.cpp:53,1
    - Dst: data
      Src: /src/fuzz_connection.cpp:53,1
    - Dst: mhd_stream_prepare_for_post_parse
      Src: /src/fuzz_connection.cpp:62,1
    - Dst: mhd_stream_process_post_finish
      Src: /src/fuzz_connection.cpp:63,1
    - Dst: mhd_daemon_extend_lbuf_up_to
      Src: /src/fuzz_connection.cpp:69,1
    - Dst: mhd_stream_prepare_for_post_parse
      Src: /src/fuzz_connection.cpp:79,1
    - Dst: mhd_stream_process_post_finish
      Src: /src/fuzz_connection.cpp:81,1
    CyclomaticComplexity: 15
    EdgeCount: 15
    ICount: 35
    argCount: 3
    argNames:
    - ' connection'
    - ' daemon'
    - ' body'
    argTypes:
    - MHD_Connection
    - MHD_Daemon
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 83
      start: 34
    functionDepth: 1
    functionLinenumber: 34
    functionLinenumberEnd: 83
    functionName: fuzz_mhd_stream_process_post_finish
    functionSourceFile: /src/fuzz_connection.cpp
    functionUses: 0
    functionsReached:
    - mhd_daemon_extend_lbuf_up_to
    - mhd_stream_prepare_for_post_parse
    - data
    - empty
    - mhd_stream_process_post_finish
    - size
    - memcpy
    linkageType: ''
    returnType: void
    signature: void fuzz_mhd_stream_process_post_finish(MHD_Connection& connection,
      MHD_Daemon& daemon, const std::string& body)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: mhd_pool_create
      Src: /src/fuzz_connection.cpp:88,1
    - Dst: atexit
      Src: /src/fuzz_connection.cpp:89,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 91
      start: 87
    functionDepth: 1
    functionLinenumber: 87
    functionLinenumberEnd: 91
    functionName: LLVMFuzzerInitialize
    functionSourceFile: /src/fuzz_connection.cpp
    functionUses: 0
    functionsReached:
    - mhd_pool_create
    - atexit
    linkageType: ''
    returnType: int
    signature: int LLVMFuzzerInitialize()
  - BBCount: 15
    BranchProfiles: []
    Callsites:
    - Dst: mhd_pool_destroy
      Src: /src/fuzz_connection.cpp:101,1
    - Dst: mhd_pool_create
      Src: /src/fuzz_connection.cpp:102,1
    - Dst: init_daemon_connection
      Src: /src/fuzz_connection.cpp:107,1
    - Dst: init_parsing_configuration
      Src: /src/fuzz_connection.cpp:108,1
    - Dst: init_connection_buffer
      Src: /src/fuzz_connection.cpp:109,1
    - Dst: prepare_headers_and_parse
      Src: /src/fuzz_connection.cpp:110,1
    - Dst: FuzzedDataProvider::ConsumeIntegralInRange
      Src: /src/fuzz_connection.cpp:114,1
    - Dst: std::vector::push_back
      Src: /src/fuzz_connection.cpp:115,1
    - Dst: FuzzedDataProvider::ConsumeIntegralInRange
      Src: /src/fuzz_connection.cpp:115,1
    - Dst: FuzzedDataProvider::ConsumeBool
      Src: /src/fuzz_connection.cpp:119,1
    - Dst: FuzzedDataProvider::ConsumeRemainingBytesAsString
      Src: /src/fuzz_connection.cpp:122,1
    - Dst: std::string::size
      Src: /src/fuzz_connection.cpp:123,1
    - Dst: prepare_body_and_process
      Src: /src/fuzz_connection.cpp:127,1
    - Dst: mhd_conn_is_timeout_expired
      Src: /src/fuzz_connection.cpp:133,1
    - Dst: mhd_stream_switch_to_rq_headers_proc
      Src: /src/fuzz_connection.cpp:137,1
    - Dst: mhd_stream_process_upload_action
      Src: /src/fuzz_connection.cpp:142,1
    - Dst: mhd_stream_process_upload_action
      Src: /src/fuzz_connection.cpp:143,1
    - Dst: mhd_stream_process_upload_action
      Src: /src/fuzz_connection.cpp:144,1
    - Dst: mhd_stream_process_req_recv_finished
      Src: /src/fuzz_connection.cpp:149,1
    - Dst: mhd_stream_reset_rq_hdr_proc_state
      Src: /src/fuzz_connection.cpp:153,1
    - Dst: mhd_stream_alloc_memory
      Src: /src/fuzz_connection.cpp:157,1
    - Dst: mhd_stream_maximize_write_buffer
      Src: /src/fuzz_connection.cpp:165,1
    - Dst: mhd_stream_release_write_buffer
      Src: /src/fuzz_connection.cpp:171,1
    - Dst: mhd_stream_shrink_read_buffer
      Src: /src/fuzz_connection.cpp:179,1
    - Dst: mhd_stream_switch_from_recv_to_send
      Src: /src/fuzz_connection.cpp:183,1
    - Dst: fuzz_mhd_stream_process_post_finish
      Src: /src/fuzz_connection.cpp:190,1
    - Dst: final_cleanup
      Src: /src/fuzz_connection.cpp:193,1
    CyclomaticComplexity: 18
    EdgeCount: 18
    ICount: 73
    argCount: 2
    argNames:
    - data
    - size
    argTypes:
    - uint8_t*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 196
      start: 93
    functionDepth: 3
    functionLinenumber: 93
    functionLinenumberEnd: 196
    functionName: LLVMFuzzerTestOneInput
    functionSourceFile: /src/fuzz_connection.cpp
    functionUses: 0
    functionsReached:
    - mhd_stream_release_write_buffer
    - mhd_stream_shrink_read_buffer
    - prepare_headers_and_parse
    - FuzzedDataProvider::ConsumeRemainingBytesAsString
    - mhd_stream_alloc_memory
    - mhd_pool_create
    - std::string::size
    - mhd_conn_is_timeout_expired
    - mhd_stream_process_req_recv_finished
    - std::vector::push_back
    - mhd_stream_reset_rq_hdr_proc_state
    - init_daemon_connection
    - mhd_stream_switch_from_recv_to_send
    - fuzz_mhd_stream_process_post_finish
    - mhd_stream_maximize_write_buffer
    - prepare_body_and_process
    - init_parsing_configuration
    - mhd_stream_switch_to_rq_headers_proc
    - mhd_pool_destroy
    - mhd_stream_process_upload_action
    - init_connection_buffer
    - final_cleanup
    - FuzzedDataProvider::ConsumeBool
    - FuzzedDataProvider::ConsumeIntegralInRange
    linkageType: ''
    returnType: int
    signature: int LLVMFuzzerTestOneInput(const uint8_t *data, size_t size)
  - BBCount: 15
    BranchProfiles: []
    Callsites:
    - Dst: FuzzedDataProvider::remaining_bytes
      Src: /src/fuzz_crypto_ext.cpp:43,1
    - Dst: FuzzedDataProvider::ConsumeIntegralInRange
      Src: /src/fuzz_crypto_ext.cpp:48,1
    - Dst: FuzzedDataProvider::remaining_bytes
      Src: /src/fuzz_crypto_ext.cpp:48,1
    - Dst: FuzzedDataProvider::ConsumeBytes
      Src: /src/fuzz_crypto_ext.cpp:49,1
    - Dst: FuzzedDataProvider::ConsumeIntegralInRange
      Src: /src/fuzz_crypto_ext.cpp:52,1
    - Dst: init_once
      Src: /src/fuzz_crypto_ext.cpp:56,1
    - Dst: FuzzedDataProvider::ConsumeIntegralInRange
      Src: /src/fuzz_crypto_ext.cpp:60,1
    - Dst: std::vector::size
      Src: /src/fuzz_crypto_ext.cpp:61,1
    - Dst: std::vector::empty
      Src: /src/fuzz_crypto_ext.cpp:62,1
    - Dst: memcpy
      Src: /src/fuzz_crypto_ext.cpp:63,1
    - Dst: std::vector::data
      Src: /src/fuzz_crypto_ext.cpp:63,1
    - Dst: std::vector::data
      Src: /src/fuzz_crypto_ext.cpp:63,1
    - Dst: std::vector::size
      Src: /src/fuzz_crypto_ext.cpp:63,1
    - Dst: std::vector::data
      Src: /src/fuzz_crypto_ext.cpp:67,1
    - Dst: std::vector::size
      Src: /src/fuzz_crypto_ext.cpp:68,1
    - Dst: FuzzedDataProvider::ConsumeIntegralInRange
      Src: /src/fuzz_crypto_ext.cpp:71,1
    - Dst: FuzzedDataProvider::ConsumeIntegralInRange
      Src: /src/fuzz_crypto_ext.cpp:74,1
    - Dst: FuzzedDataProvider::PickValueInArray
      Src: /src/fuzz_crypto_ext.cpp:78,1
    - Dst: std::min
      Src: /src/fuzz_crypto_ext.cpp:85,1
    - Dst: std::min
      Src: /src/fuzz_crypto_ext.cpp:91,1
    - Dst: std::min
      Src: /src/fuzz_crypto_ext.cpp:96,1
    - Dst: FuzzedDataProvider::ConsumeIntegralInRange
      Src: /src/fuzz_crypto_ext.cpp:101,1
    - Dst: std::min
      Src: /src/fuzz_crypto_ext.cpp:102,1
    - Dst: FuzzedDataProvider::ConsumeIntegralInRange
      Src: /src/fuzz_crypto_ext.cpp:107,1
    - Dst: std::max<size_t>
      Src: /src/fuzz_crypto_ext.cpp:117,1
    - Dst: FuzzedDataProvider::ConsumeIntegralInRange
      Src: /src/fuzz_crypto_ext.cpp:117,1
    - Dst: FuzzedDataProvider::ConsumeIntegralInRange
      Src: /src/fuzz_crypto_ext.cpp:118,1
    - Dst: std::min
      Src: /src/fuzz_crypto_ext.cpp:120,1
    - Dst: update_fn
      Src: /src/fuzz_crypto_ext.cpp:121,1
    - Dst: FuzzedDataProvider::ConsumeBool
      Src: /src/fuzz_crypto_ext.cpp:127,1
    - Dst: finish_fn
      Src: /src/fuzz_crypto_ext.cpp:128,1
    - Dst: data
      Src: /src/fuzz_crypto_ext.cpp:128,1
    - Dst: update_fn
      Src: /src/fuzz_crypto_ext.cpp:139,1
    - Dst: finish_fn
      Src: /src/fuzz_crypto_ext.cpp:146,1
    - Dst: data
      Src: /src/fuzz_crypto_ext.cpp:146,1
    - Dst: FuzzedDataProvider::ConsumeBool
      Src: /src/fuzz_crypto_ext.cpp:150,1
    - Dst: FuzzedDataProvider::ConsumeIntegralInRange
      Src: /src/fuzz_crypto_ext.cpp:151,1
    - Dst: FuzzedDataProvider::ConsumeIntegralInRange
      Src: /src/fuzz_crypto_ext.cpp:152,1
    - Dst: FuzzedDataProvider::ConsumeIntegralInRange
      Src: /src/fuzz_crypto_ext.cpp:154,1
    - Dst: FuzzedDataProvider::ConsumeIntegralInRange
      Src: /src/fuzz_crypto_ext.cpp:156,1
    - Dst: update_fn
      Src: /src/fuzz_crypto_ext.cpp:157,1
    - Dst: data
      Src: /src/fuzz_crypto_ext.cpp:157,1
    - Dst: finish_fn
      Src: /src/fuzz_crypto_ext.cpp:158,1
    - Dst: data
      Src: /src/fuzz_crypto_ext.cpp:158,1
    - Dst: deinit_fn
      Src: /src/fuzz_crypto_ext.cpp:164,1
    CyclomaticComplexity: 26
    EdgeCount: 26
    ICount: 69
    argCount: 7
    argNames:
    - fdp
    - block_size
    - init_once
    - update_fn
    - finish_fn
    - deinit_fn
    - digest_size
    argTypes:
    - FuzzedDataProvider
    - size_t
    - InitOnceFn<HashType>
    - UpdateFn<HashType>
    - FinishFn<HashType>
    - DeinitFn<HashType>
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 166
      start: 36
    functionDepth: 0
    functionLinenumber: 36
    functionLinenumberEnd: 166
    functionName: fuzz_hash_ext_multi
    functionSourceFile: /src/fuzz_crypto_ext.cpp
    functionUses: 0
    functionsReached:
    - finish_fn
    - std::min
    - data
    - FuzzedDataProvider::ConsumeBool
    - FuzzedDataProvider::remaining_bytes
    - deinit_fn
    - FuzzedDataProvider::ConsumeBytes
    - FuzzedDataProvider::PickValueInArray
    - std::max<size_t>
    - std::vector::size
    - std::vector::empty
    - update_fn
    - memcpy
    - std::vector::data
    - FuzzedDataProvider::ConsumeIntegralInRange
    - init_once
    linkageType: ''
    returnType: void
    signature: "void fuzz_hash_ext_multi(FuzzedDataProvider &fdp,\n                                size_t
      block_size,\n                                InitOnceFn<HashType> init_once,\n
      \                               UpdateFn<HashType> update_fn,\n                                FinishFn<HashType>
      finish_fn,\n                                DeinitFn<HashType> deinit_fn,\n
      \                               size_t digest_size)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: FuzzedDataProvider::ConsumeIntegralInRange
      Src: /src/fuzz_crypto_ext.cpp:171,1
    - Dst: FuzzedDataProvider::ConsumeBool
      Src: /src/fuzz_crypto_ext.cpp:172,1
    - Dst: fuzz_hash_ext_multi
      Src: /src/fuzz_crypto_ext.cpp:173,1
    - Dst: fuzz_hash_ext_multi
      Src: /src/fuzz_crypto_ext.cpp:178,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 2
    argNames:
    - data
    - size
    argTypes:
    - uint8_t*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 185
      start: 168
    functionDepth: 1
    functionLinenumber: 168
    functionLinenumberEnd: 185
    functionName: LLVMFuzzerTestOneInput
    functionSourceFile: /src/fuzz_crypto_ext.cpp
    functionUses: 0
    functionsReached:
    - FuzzedDataProvider::ConsumeBool
    - FuzzedDataProvider::ConsumeIntegralInRange
    - fuzz_hash_ext_multi
    linkageType: ''
    returnType: int
    signature: int LLVMFuzzerTestOneInput(const uint8_t *data, size_t size)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: FuzzedDataProvider::ConsumeIntegral
      Src: /src/fuzz_libinfo.cpp:29,1
    - Dst: FuzzedDataProvider::ConsumeIntegral
      Src: /src/fuzz_libinfo.cpp:30,1
    - Dst: FuzzedDataProvider::ConsumeRemainingBytes
      Src: /src/fuzz_libinfo.cpp:33,1
    - Dst: MHD_lib_get_info_fixed_sz
      Src: /src/fuzz_libinfo.cpp:36,1
    - Dst: static_cast<MHD_LibInfoFixed>
      Src: /src/fuzz_libinfo.cpp:37,1
    - Dst: std::vector::size
      Src: /src/fuzz_libinfo.cpp:38,1
    - Dst: reinterpret_cast<MHD_LibInfoFixedData*>
      Src: /src/fuzz_libinfo.cpp:38,1
    - Dst: std::vector::data
      Src: /src/fuzz_libinfo.cpp:38,1
    - Dst: std::vector::size
      Src: /src/fuzz_libinfo.cpp:39,1
    - Dst: MHD_lib_get_info_dynamic_sz
      Src: /src/fuzz_libinfo.cpp:42,1
    - Dst: static_cast<MHD_LibInfoDynamic>
      Src: /src/fuzz_libinfo.cpp:43,1
    - Dst: std::vector::size
      Src: /src/fuzz_libinfo.cpp:44,1
    - Dst: reinterpret_cast<MHD_LibInfoDynamicData*>
      Src: /src/fuzz_libinfo.cpp:44,1
    - Dst: std::vector::data
      Src: /src/fuzz_libinfo.cpp:44,1
    - Dst: std::vector::size
      Src: /src/fuzz_libinfo.cpp:45,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 2
    argNames:
    - data
    - size
    argTypes:
    - uint8_t*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 48
      start: 25
    functionDepth: 1
    functionLinenumber: 25
    functionLinenumberEnd: 48
    functionName: LLVMFuzzerTestOneInput
    functionSourceFile: /src/fuzz_libinfo.cpp
    functionUses: 0
    functionsReached:
    - MHD_lib_get_info_dynamic_sz
    - reinterpret_cast<MHD_LibInfoFixedData*>
    - static_cast<MHD_LibInfoDynamic>
    - reinterpret_cast<MHD_LibInfoDynamicData*>
    - FuzzedDataProvider::ConsumeIntegral
    - static_cast<MHD_LibInfoFixed>
    - std::vector::size
    - MHD_lib_get_info_fixed_sz
    - FuzzedDataProvider::ConsumeRemainingBytes
    - std::vector::data
    linkageType: ''
    returnType: int
    signature: int LLVMFuzzerTestOneInput(const uint8_t* data, size_t size)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<uint16_t>
      Src: /src/fuzz_daemon.cpp:39,1
    - Dst: ConsumeBool
      Src: /src/fuzz_daemon.cpp:41,1
    - Dst: MHD_daemon_create
      Src: /src/fuzz_daemon.cpp:42,1
    - Dst: ConsumeBool
      Src: /src/fuzz_daemon.cpp:43,1
    - Dst: MHD_daemon_create
      Src: /src/fuzz_daemon.cpp:44,1
    - Dst: MHD_daemon_create
      Src: /src/fuzz_daemon.cpp:46,1
    - Dst: MHD_DAEMON_SET_OPTIONS
      Src: /src/fuzz_daemon.cpp:53,1
    - Dst: MHD_D_OPTION_BIND_PORT
      Src: /src/fuzz_daemon.cpp:55,1
    - Dst: MHD_D_OPTION_RANDOM_ENTROPY
      Src: /src/fuzz_daemon.cpp:56,1
    - Dst: MHD_daemon_destroy
      Src: /src/fuzz_daemon.cpp:61,1
    - Dst: MHD_daemon_start
      Src: /src/fuzz_daemon.cpp:65,1
    - Dst: MHD_daemon_destroy
      Src: /src/fuzz_daemon.cpp:66,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 32
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 75
      start: 24
    functionDepth: 1
    functionLinenumber: 24
    functionLinenumberEnd: 75
    functionName: start_daemon_once
    functionSourceFile: /src/fuzz_daemon.cpp
    functionUses: 0
    functionsReached:
    - MHD_daemon_create
    - MHD_daemon_start
    - MHD_D_OPTION_BIND_PORT
    - ConsumeBool
    - MHD_DAEMON_SET_OPTIONS
    - static_cast<uint16_t>
    - MHD_daemon_destroy
    - MHD_D_OPTION_RANDOM_ENTROPY
    linkageType: ''
    returnType: void
    signature: void start_daemon_once()
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: std::make_unique<FuzzedDataProvider>
      Src: /src/fuzz_daemon.cpp:83,1
    - Dst: std::call_once
      Src: /src/fuzz_daemon.cpp:87,1
    - Dst: ConsumeIntegralInRange
      Src: /src/fuzz_daemon.cpp:96,1
    - Dst: ConsumeBool
      Src: /src/fuzz_daemon.cpp:110,1
    - Dst: PickValueInArray
      Src: /src/fuzz_daemon.cpp:111,1
    - Dst: ConsumeRandomLengthString
      Src: /src/fuzz_daemon.cpp:113,1
    - Dst: std::string::empty
      Src: /src/fuzz_daemon.cpp:114,1
    - Dst: ConsumeRandomLengthString
      Src: /src/fuzz_daemon.cpp:119,1
    - Dst: ConsumeIntegralInRange
      Src: /src/fuzz_daemon.cpp:120,1
    - Dst: ConsumeRandomLengthString
      Src: /src/fuzz_daemon.cpp:127,1
    - Dst: ConsumeRandomLengthString
      Src: /src/fuzz_daemon.cpp:128,1
    - Dst: ConsumeBool
      Src: /src/fuzz_daemon.cpp:129,1
    - Dst: ConsumeBool
      Src: /src/fuzz_daemon.cpp:131,1
    - Dst: ConsumeRandomLengthString
      Src: /src/fuzz_daemon.cpp:132,1
    - Dst: send_http_request_blocking
      Src: /src/fuzz_daemon.cpp:138,1
    - Dst: remaining_bytes
      Src: /src/fuzz_daemon.cpp:143,1
    - Dst: reset
      Src: /src/fuzz_daemon.cpp:152,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 43
    argCount: 2
    argNames:
    - data
    - size
    argTypes:
    - uint8_t*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 156
      start: 77
    functionDepth: 3
    functionLinenumber: 77
    functionLinenumberEnd: 156
    functionName: LLVMFuzzerTestOneInput
    functionSourceFile: /src/fuzz_daemon.cpp
    functionUses: 0
    functionsReached:
    - send_http_request_blocking
    - ConsumeIntegralInRange
    - std::call_once
    - PickValueInArray
    - std::string::empty
    - ConsumeBool
    - remaining_bytes
    - reset
    - ConsumeRandomLengthString
    - std::make_unique<FuzzedDataProvider>
    linkageType: ''
    returnType: int
    signature: int LLVMFuzzerTestOneInput(const uint8_t* data, size_t size)
  - BBCount: 17
    BranchProfiles: []
    Callsites:
    - Dst: FuzzedDataProvider::remaining_bytes
      Src: /src/fuzz_crypto_int.cpp:42,1
    - Dst: FuzzedDataProvider::ConsumeIntegralInRange
      Src: /src/fuzz_crypto_int.cpp:47,1
    - Dst: FuzzedDataProvider::remaining_bytes
      Src: /src/fuzz_crypto_int.cpp:47,1
    - Dst: FuzzedDataProvider::ConsumeBytes
      Src: /src/fuzz_crypto_int.cpp:48,1
    - Dst: FuzzedDataProvider::ConsumeIntegralInRange
      Src: /src/fuzz_crypto_int.cpp:51,1
    - Dst: init_fn
      Src: /src/fuzz_crypto_int.cpp:55,1
    - Dst: FuzzedDataProvider::ConsumeIntegralInRange
      Src: /src/fuzz_crypto_int.cpp:59,1
    - Dst: std::vector::size
      Src: /src/fuzz_crypto_int.cpp:60,1
    - Dst: std::vector::empty
      Src: /src/fuzz_crypto_int.cpp:61,1
    - Dst: memcpy
      Src: /src/fuzz_crypto_int.cpp:62,1
    - Dst: std::vector::data
      Src: /src/fuzz_crypto_int.cpp:62,1
    - Dst: std::vector::data
      Src: /src/fuzz_crypto_int.cpp:62,1
    - Dst: std::vector::size
      Src: /src/fuzz_crypto_int.cpp:62,1
    - Dst: std::vector::data
      Src: /src/fuzz_crypto_int.cpp:66,1
    - Dst: std::vector::size
      Src: /src/fuzz_crypto_int.cpp:67,1
    - Dst: FuzzedDataProvider::ConsumeIntegralInRange
      Src: /src/fuzz_crypto_int.cpp:70,1
    - Dst: FuzzedDataProvider::ConsumeIntegralInRange
      Src: /src/fuzz_crypto_int.cpp:73,1
    - Dst: FuzzedDataProvider::PickValueInArray
      Src: /src/fuzz_crypto_int.cpp:77,1
    - Dst: std::min
      Src: /src/fuzz_crypto_int.cpp:84,1
    - Dst: std::min
      Src: /src/fuzz_crypto_int.cpp:90,1
    - Dst: std::min
      Src: /src/fuzz_crypto_int.cpp:95,1
    - Dst: FuzzedDataProvider::ConsumeIntegralInRange
      Src: /src/fuzz_crypto_int.cpp:100,1
    - Dst: std::min
      Src: /src/fuzz_crypto_int.cpp:101,1
    - Dst: FuzzedDataProvider::ConsumeIntegralInRange
      Src: /src/fuzz_crypto_int.cpp:106,1
    - Dst: std::max<size_t>
      Src: /src/fuzz_crypto_int.cpp:116,1
    - Dst: FuzzedDataProvider::ConsumeIntegralInRange
      Src: /src/fuzz_crypto_int.cpp:116,1
    - Dst: FuzzedDataProvider::ConsumeIntegralInRange
      Src: /src/fuzz_crypto_int.cpp:117,1
    - Dst: std::min
      Src: /src/fuzz_crypto_int.cpp:119,1
    - Dst: update_fn
      Src: /src/fuzz_crypto_int.cpp:120,1
    - Dst: FuzzedDataProvider::ConsumeBool
      Src: /src/fuzz_crypto_int.cpp:126,1
    - Dst: finish_fn
      Src: /src/fuzz_crypto_int.cpp:127,1
    - Dst: data
      Src: /src/fuzz_crypto_int.cpp:127,1
    - Dst: init_fn
      Src: /src/fuzz_crypto_int.cpp:128,1
    - Dst: FuzzedDataProvider::ConsumeBool
      Src: /src/fuzz_crypto_int.cpp:138,1
    - Dst: init_fn
      Src: /src/fuzz_crypto_int.cpp:139,1
    - Dst: update_fn
      Src: /src/fuzz_crypto_int.cpp:143,1
    - Dst: FuzzedDataProvider::ConsumeBool
      Src: /src/fuzz_crypto_int.cpp:148,1
    - Dst: finish_fn
      Src: /src/fuzz_crypto_int.cpp:149,1
    - Dst: data
      Src: /src/fuzz_crypto_int.cpp:149,1
    - Dst: init_fn
      Src: /src/fuzz_crypto_int.cpp:150,1
    - Dst: finish_fn
      Src: /src/fuzz_crypto_int.cpp:156,1
    - Dst: data
      Src: /src/fuzz_crypto_int.cpp:156,1
    - Dst: FuzzedDataProvider::ConsumeBool
      Src: /src/fuzz_crypto_int.cpp:160,1
    - Dst: FuzzedDataProvider::ConsumeIntegralInRange
      Src: /src/fuzz_crypto_int.cpp:161,1
    - Dst: FuzzedDataProvider::ConsumeIntegralInRange
      Src: /src/fuzz_crypto_int.cpp:162,1
    - Dst: init_fn
      Src: /src/fuzz_crypto_int.cpp:164,1
    - Dst: FuzzedDataProvider::ConsumeIntegralInRange
      Src: /src/fuzz_crypto_int.cpp:165,1
    - Dst: std::min
      Src: /src/fuzz_crypto_int.cpp:166,1
    - Dst: FuzzedDataProvider::ConsumeIntegralInRange
      Src: /src/fuzz_crypto_int.cpp:167,1
    - Dst: update_fn
      Src: /src/fuzz_crypto_int.cpp:168,1
    - Dst: data
      Src: /src/fuzz_crypto_int.cpp:168,1
    - Dst: finish_fn
      Src: /src/fuzz_crypto_int.cpp:169,1
    - Dst: data
      Src: /src/fuzz_crypto_int.cpp:169,1
    CyclomaticComplexity: 27
    EdgeCount: 27
    ICount: 75
    argCount: 6
    argNames:
    - fdp
    - block_size
    - init_fn
    - update_fn
    - finish_fn
    - digest_size
    argTypes:
    - FuzzedDataProvider
    - size_t
    - InitFn<HashType>
    - UpdateFn<HashType>
    - FinishFn<HashType>
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 172
      start: 36
    functionDepth: 0
    functionLinenumber: 36
    functionLinenumberEnd: 172
    functionName: fuzz_hash_int_multi
    functionSourceFile: /src/fuzz_crypto_int.cpp
    functionUses: 0
    functionsReached:
    - finish_fn
    - init_fn
    - std::min
    - data
    - FuzzedDataProvider::ConsumeBool
    - FuzzedDataProvider::remaining_bytes
    - FuzzedDataProvider::ConsumeBytes
    - FuzzedDataProvider::PickValueInArray
    - std::max<size_t>
    - std::vector::size
    - std::vector::empty
    - update_fn
    - memcpy
    - std::vector::data
    - FuzzedDataProvider::ConsumeIntegralInRange
    linkageType: ''
    returnType: void
    signature: "void fuzz_hash_int_multi(FuzzedDataProvider &fdp,\n                                size_t
      block_size,\n                                InitFn<HashType> init_fn,\n                                UpdateFn<HashType>
      update_fn,\n                                FinishFn<HashType> finish_fn,\n
      \                               size_t digest_size)"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: FuzzedDataProvider::ConsumeIntegralInRange
      Src: /src/fuzz_crypto_int.cpp:177,1
    - Dst: FuzzedDataProvider::ConsumeIntegralInRange
      Src: /src/fuzz_crypto_int.cpp:178,1
    - Dst: fuzz_hash_int_multi
      Src: /src/fuzz_crypto_int.cpp:180,1
    - Dst: fuzz_hash_int_multi
      Src: /src/fuzz_crypto_int.cpp:185,1
    - Dst: fuzz_hash_int_multi
      Src: /src/fuzz_crypto_int.cpp:191,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 16
    argCount: 2
    argNames:
    - data
    - size
    argTypes:
    - uint8_t*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 198
      start: 174
    functionDepth: 1
    functionLinenumber: 174
    functionLinenumberEnd: 198
    functionName: LLVMFuzzerTestOneInput
    functionSourceFile: /src/fuzz_crypto_int.cpp
    functionUses: 0
    functionsReached:
    - fuzz_hash_int_multi
    - FuzzedDataProvider::ConsumeIntegralInRange
    linkageType: ''
    returnType: int
    signature: int LLVMFuzzerTestOneInput(const uint8_t *data, size_t size)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: MHD_request_get_info_dynamic
      Src: /src/mhd2/doc/examples/basic-authentication.c:17,1
    - Dst: MHD_response_from_empty
      Src: /src/mhd2/doc/examples/basic-authentication.c:23,1
    - Dst: MHD_response_add_auth_basic_challenge
      Src: /src/mhd2/doc/examples/basic-authentication.c:25,1
    - Dst: MHD_response_destroy
      Src: /src/mhd2/doc/examples/basic-authentication.c:29,1
    - Dst: MHD_action_abort_request
      Src: /src/mhd2/doc/examples/basic-authentication.c:30,1
    - Dst: MHD_action_from_response
      Src: /src/mhd2/doc/examples/basic-authentication.c:32,1
    - Dst: fprintf
      Src: /src/mhd2/doc/examples/basic-authentication.c:35,1
    - Dst: MHD_action_from_response
      Src: /src/mhd2/doc/examples/basic-authentication.c:44,1
    - Dst: MHD_response_from_empty
      Src: /src/mhd2/doc/examples/basic-authentication.c:46,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 11
    argCount: 5
    argNames:
    - cls
    - request
    - path
    - method
    - upload_size
    argTypes:
    - void*
    - struct MHD_Request*
    - struct MHD_String*
    - enum MHD_HTTP_Method
    - uint_fast64_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 47
      start: 7
    functionDepth: 1
    functionLinenumber: 7
    functionLinenumberEnd: 47
    functionName: handle_request
    functionSourceFile: /src/mhd2/doc/examples/basic-authentication.c
    functionUses: 0
    functionsReached:
    - fprintf
    - MHD_response_destroy
    - MHD_action_from_response
    - MHD_request_get_info_dynamic
    - MHD_response_from_empty
    - MHD_response_add_auth_basic_challenge
    - MHD_action_abort_request
    linkageType: ''
    returnType: struct MHD_Action
    signature: "struct MHD_Action *\nhandle_request (void *cls,\n                struct
      MHD_Request *request,\n                const struct MHD_String *path,\n                enum
      MHD_HTTP_Method method,\n                uint_fast64_t upload_size)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: MHD_daemon_create
      Src: /src/mhd2/doc/examples/basic-authentication.c:57,1
    - Dst: MHD_daemon_start
      Src: /src/mhd2/doc/examples/basic-authentication.c:60,1
    - Dst: getchar
      Src: /src/mhd2/doc/examples/basic-authentication.c:62,1
    - Dst: MHD_daemon_stop
      Src: /src/mhd2/doc/examples/basic-authentication.c:64,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 66
      start: 50
    functionDepth: 1
    functionLinenumber: 50
    functionLinenumberEnd: 66
    functionName: main
    functionSourceFile: /src/mhd2/doc/examples/basic-authentication.c
    functionUses: 0
    functionsReached:
    - MHD_daemon_stop
    - MHD_daemon_start
    - getchar
    - MHD_daemon_create
    linkageType: ''
    returnType: int
    signature: int main ()
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/mhd2/doc/examples/host-example.c:18,1
    - Dst: MHD_request_get_value
      Src: /src/mhd2/doc/examples/host-example.c:20,1
    - Dst: fprintf
      Src: /src/mhd2/doc/examples/host-example.c:25,1
    - Dst: fprintf
      Src: /src/mhd2/doc/examples/host-example.c:32,1
    - Dst: MHD_action_abort_request
      Src: /src/mhd2/doc/examples/host-example.c:38,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 5
    argNames:
    - cls
    - request
    - path
    - method
    - upload_size
    argTypes:
    - void*
    - struct MHD_Request*
    - struct MHD_String*
    - enum MHD_HTTP_Method
    - uint_fast64_t
    assertStmts:
    - condition: (NULL == cls)
      pos:
        line_end: 17
        line_start: 17
        source_file: /src/mhd2/doc/examples/host-example.c
    constantsTouched: []
    func_position:
      end: 39
      start: 8
    functionDepth: 1
    functionLinenumber: 8
    functionLinenumberEnd: 39
    functionName: handle_request
    functionSourceFile: /src/mhd2/doc/examples/host-example.c
    functionUses: 0
    functionsReached:
    - MHD_action_abort_request
    - fprintf
    - MHD_request_get_value
    - assert
    linkageType: ''
    returnType: struct MHD_Action
    signature: "struct MHD_Action *\nhandle_request (void *cls,\n                struct
      MHD_Request *request,\n                const struct MHD_String *path,\n                enum
      MHD_HTTP_Method method,\n                uint_fast64_t upload_size)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: MHD_daemon_create
      Src: /src/mhd2/doc/examples/host-example.c:49,1
    - Dst: MHD_daemon_start
      Src: /src/mhd2/doc/examples/host-example.c:52,1
    - Dst: getchar
      Src: /src/mhd2/doc/examples/host-example.c:54,1
    - Dst: MHD_daemon_stop
      Src: /src/mhd2/doc/examples/host-example.c:56,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 58
      start: 42
    functionDepth: 1
    functionLinenumber: 42
    functionLinenumberEnd: 58
    functionName: main
    functionSourceFile: /src/mhd2/doc/examples/host-example.c
    functionUses: 0
    functionsReached:
    - MHD_daemon_stop
    - MHD_daemon_start
    - getchar
    - MHD_daemon_create
    linkageType: ''
    returnType: int
    signature: int main ()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: MHD_action_from_response
      Src: /src/mhd2/doc/examples/simple_reply_fragment.c:6,1
    - Dst: MHD_response_from_buffer_static
      Src: /src/mhd2/doc/examples/simple_reply_fragment.c:8,1
    - Dst: strlen
      Src: /src/mhd2/doc/examples/simple_reply_fragment.c:10,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - request
    argTypes:
    - struct MHD_Request*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 13
      start: 1
    functionDepth: 1
    functionLinenumber: 1
    functionLinenumberEnd: 13
    functionName: simple_reply_to_request
    functionSourceFile: /src/mhd2/doc/examples/simple_reply_fragment.c
    functionUses: 0
    functionsReached:
    - MHD_response_from_buffer_static
    - strlen
    - MHD_action_from_response
    linkageType: ''
    returnType: struct MHD_Action
    signature: 'struct MHD_Action *

      simple_reply_to_request (struct MHD_Request *request)'
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: MHD_create_response_from_buffer_static
      Src: /src/mhd2/doc/examples/largepost.c:95,1
    - Dst: strlen
      Src: /src/mhd2/doc/examples/largepost.c:95,1
    - Dst: MHD_add_response_header
      Src: /src/mhd2/doc/examples/largepost.c:99,1
    - Dst: fprintf
      Src: /src/mhd2/doc/examples/largepost.c:103,1
    - Dst: MHD_queue_response
      Src: /src/mhd2/doc/examples/largepost.c:106,1
    - Dst: MHD_destroy_response
      Src: /src/mhd2/doc/examples/largepost.c:109,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 3
    argNames:
    - connection
    - page
    - status_code
    argTypes:
    - struct MHD_Connection*
    - char*
    - unsigned int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 112
      start: 87
    functionDepth: 0
    functionLinenumber: 87
    functionLinenumberEnd: 112
    functionName: send_page
    functionSourceFile: /src/mhd2/doc/examples/largepost.c
    functionUses: 0
    functionsReached:
    - MHD_create_response_from_buffer_static
    - fprintf
    - MHD_destroy_response
    - MHD_queue_response
    - MHD_add_response_header
    - strlen
    linkageType: ''
    returnType: enum MHD_Result
    signature: "enum MHD_Result send_page (struct MHD_Connection *connection,\n           const
      char *page,\n           unsigned int status_code)"
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: strcmp
      Src: /src/mhd2/doc/examples/largepost.c:133,1
    - Dst: fopen
      Src: /src/mhd2/doc/examples/largepost.c:144,1
    - Dst: fclose
      Src: /src/mhd2/doc/examples/largepost.c:146,1
    - Dst: fopen
      Src: /src/mhd2/doc/examples/largepost.c:154,1
    - Dst: fwrite
      Src: /src/mhd2/doc/examples/largepost.c:165,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 34
    argCount: 9
    argNames:
    - coninfo_cls
    - kind
    - key
    - filename
    - content_type
    - transfer_encoding
    - data
    - 'off'
    - size
    argTypes:
    - void*
    - enum MHD_ValueKind
    - char*
    - char*
    - char*
    - char*
    - char*
    - uint64_t
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 174
      start: 115
    functionDepth: 0
    functionLinenumber: 115
    functionLinenumberEnd: 174
    functionName: iterate_post
    functionSourceFile: /src/mhd2/doc/examples/largepost.c
    functionUses: 0
    functionsReached:
    - fopen
    - fwrite
    - strcmp
    - fclose
    linkageType: ''
    returnType: enum MHD_Result
    signature: "enum MHD_Result iterate_post (void *coninfo_cls,\n              enum
      MHD_ValueKind kind,\n              const char *key,\n              const char
      *filename,\n              const char *content_type,\n              const char
      *transfer_encoding,\n              const char *data,\n              uint64_t
      off,\n              size_t size)"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: MHD_destroy_post_processor
      Src: /src/mhd2/doc/examples/largepost.c:195,1
    - Dst: fclose
      Src: /src/mhd2/doc/examples/largepost.c:200,1
    - Dst: free
      Src: /src/mhd2/doc/examples/largepost.c:203,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 16
    argCount: 4
    argNames:
    - cls
    - connection
    - req_cls
    - toe
    argTypes:
    - void*
    - struct MHD_Connection*
    - void**
    - enum MHD_RequestTerminationCode
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 205
      start: 177
    functionDepth: 0
    functionLinenumber: 177
    functionLinenumberEnd: 205
    functionName: request_completed
    functionSourceFile: /src/mhd2/doc/examples/largepost.c
    functionUses: 0
    functionsReached:
    - free
    - MHD_destroy_post_processor
    - fclose
    linkageType: ''
    returnType: void
    signature: "void request_completed (void *cls,\n                   struct MHD_Connection
      *connection,\n                   void **req_cls,\n                   enum MHD_RequestTerminationCode
      toe)"
  - BBCount: 13
    BranchProfiles: []
    Callsites:
    - Dst: send_page
      Src: /src/mhd2/doc/examples/largepost.c:228,1
    - Dst: malloc
      Src: /src/mhd2/doc/examples/largepost.c:232,1
    - Dst: strcmp
      Src: /src/mhd2/doc/examples/largepost.c:238,1
    - Dst: MHD_create_post_processor
      Src: /src/mhd2/doc/examples/largepost.c:241,1
    - Dst: free
      Src: /src/mhd2/doc/examples/largepost.c:248,1
    - Dst: strcmp
      Src: /src/mhd2/doc/examples/largepost.c:266,1
    - Dst: snprintf
      Src: /src/mhd2/doc/examples/largepost.c:271,1
    - Dst: send_page
      Src: /src/mhd2/doc/examples/largepost.c:275,1
    - Dst: strcmp
      Src: /src/mhd2/doc/examples/largepost.c:280,1
    - Dst: MHD_post_process
      Src: /src/mhd2/doc/examples/largepost.c:294,1
    - Dst: fclose
      Src: /src/mhd2/doc/examples/largepost.c:308,1
    - Dst: send_page
      Src: /src/mhd2/doc/examples/largepost.c:317,1
    - Dst: send_page
      Src: /src/mhd2/doc/examples/largepost.c:323,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 54
    argCount: 8
    argNames:
    - cls
    - connection
    - url
    - method
    - version
    - upload_data
    - upload_data_size
    - req_cls
    argTypes:
    - void*
    - struct MHD_Connection*
    - char*
    - char*
    - char*
    - char*
    - size_t*
    - void**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 326
      start: 208
    functionDepth: 0
    functionLinenumber: 208
    functionLinenumberEnd: 326
    functionName: answer_to_connection
    functionSourceFile: /src/mhd2/doc/examples/largepost.c
    functionUses: 0
    functionsReached:
    - strcmp
    - fclose
    - malloc
    - MHD_post_process
    - send_page
    - MHD_create_post_processor
    - free
    - snprintf
    linkageType: ''
    returnType: enum MHD_Result
    signature: "enum MHD_Result answer_to_connection (void *cls,\n                      struct
      MHD_Connection *connection,\n                      const char *url,\n                      const
      char *method,\n                      const char *version,\n                      const
      char *upload_data,\n                      size_t *upload_data_size,\n                      void
      **req_cls)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: MHD_start_daemon
      Src: /src/mhd2/doc/examples/largepost.c:334,1
    - Dst: fprintf
      Src: /src/mhd2/doc/examples/largepost.c:342,1
    - Dst: getchar
      Src: /src/mhd2/doc/examples/largepost.c:346,1
    - Dst: MHD_stop_daemon
      Src: /src/mhd2/doc/examples/largepost.c:347,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 9
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 349
      start: 329
    functionDepth: 0
    functionLinenumber: 329
    functionLinenumberEnd: 349
    functionName: main
    functionSourceFile: /src/mhd2/doc/examples/largepost.c
    functionUses: 0
    functionsReached:
    - MHD_stop_daemon
    - fprintf
    - getchar
    - MHD_start_daemon
    linkageType: ''
    returnType: int
    signature: int main (void)
  - BBCount: 13
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/mhd2/doc/examples/external-select.c:59,1
    - Dst: free
      Src: /src/mhd2/doc/examples/external-select.c:72,1
    - Dst: malloc
      Src: /src/mhd2/doc/examples/external-select.c:79,1
    - Dst: assert
      Src: /src/mhd2/doc/examples/external-select.c:93,1
    - Dst: FD_SET
      Src: /src/mhd2/doc/examples/external-select.c:101,1
    - Dst: FD_SET
      Src: /src/mhd2/doc/examples/external-select.c:104,1
    - Dst: FD_SET
      Src: /src/mhd2/doc/examples/external-select.c:107,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 37
    argCount: 5
    argNames:
    - cls
    - fd
    - watch_for
    - app_cntx
    - ecb_cntx
    argTypes:
    - void*
    - MHD_Socket
    - enum MHD_FdState
    - MHD_APP_SOCKET_CNTX_TYPE*
    - struct MHD_EventUpdateContext*
    assertStmts:
    - condition: (NULL == cls)
      pos:
        line_end: 58
        line_start: 58
        source_file: /src/mhd2/doc/examples/external-select.c
    - condition: (fd == app_cntx->fd)
      pos:
        line_end: 92
        line_start: 92
        source_file: /src/mhd2/doc/examples/external-select.c
    constantsTouched: []
    func_position:
      end: 112
      start: 51
    functionDepth: 0
    functionLinenumber: 51
    functionLinenumberEnd: 112
    functionName: sock_reg_update_cb
    functionSourceFile: /src/mhd2/doc/examples/external-select.c
    functionUses: 0
    functionsReached:
    - free
    - malloc
    - FD_SET
    - assert
    linkageType: ''
    returnType: MHD_APP_SOCKET_CNTX_TYPE
    signature: "MHD_APP_SOCKET_CNTX_TYPE *\nsock_reg_update_cb (\n  void *cls,\n  MHD_Socket
      fd,\n  enum MHD_FdState watch_for,\n  MHD_APP_SOCKET_CNTX_TYPE *app_cntx,\n
      \ struct MHD_EventUpdateContext *ecb_cntx)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/mhd2/doc/examples/external-select.c:126,1
    - Dst: MHD_action_abort_request
      Src: /src/mhd2/doc/examples/external-select.c:130,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 5
    argNames:
    - cls
    - request
    - path
    - method
    - upload_size
    argTypes:
    - void*
    - struct MHD_Request*
    - struct MHD_String*
    - enum MHD_HTTP_Method
    - uint_fast64_t
    assertStmts:
    - condition: (NULL == cls)
      pos:
        line_end: 125
        line_start: 125
        source_file: /src/mhd2/doc/examples/external-select.c
    constantsTouched: []
    func_position:
      end: 131
      start: 118
    functionDepth: 1
    functionLinenumber: 118
    functionLinenumberEnd: 131
    functionName: handle_request
    functionSourceFile: /src/mhd2/doc/examples/external-select.c
    functionUses: 0
    functionsReached:
    - MHD_action_abort_request
    - assert
    linkageType: ''
    returnType: struct MHD_Action
    signature: "struct MHD_Action *\nhandle_request (void *cls,\n                struct
      MHD_Request *request,\n                const struct MHD_String *path,\n                enum
      MHD_HTTP_Method method,\n                uint_fast64_t upload_size)"
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: MHD_daemon_create
      Src: /src/mhd2/doc/examples/external-select.c:141,1
    - Dst: MHD_daemon_set_options
      Src: /src/mhd2/doc/examples/external-select.c:144,1
    - Dst: MHD_D_OPTION_REREGISTER_ALL
      Src: /src/mhd2/doc/examples/external-select.c:145,1
    - Dst: MHD_D_OPTION_WM_EXTERNAL_EVENT_LOOP_LEVEL
      Src: /src/mhd2/doc/examples/external-select.c:146,1
    - Dst: MHD_daemon_destroy
      Src: /src/mhd2/doc/examples/external-select.c:151,1
    - Dst: MHD_daemon_start
      Src: /src/mhd2/doc/examples/external-select.c:155,1
    - Dst: FD_ZERO
      Src: /src/mhd2/doc/examples/external-select.c:162,1
    - Dst: FD_ZERO
      Src: /src/mhd2/doc/examples/external-select.c:163,1
    - Dst: FD_ZERO
      Src: /src/mhd2/doc/examples/external-select.c:164,1
    - Dst: FD_SET
      Src: /src/mhd2/doc/examples/external-select.c:165,1
    - Dst: MHD_daemon_process_reg_events
      Src: /src/mhd2/doc/examples/external-select.c:169,1
    - Dst: select
      Src: /src/mhd2/doc/examples/external-select.c:174,1
    - Dst: FD_ISSET
      Src: /src/mhd2/doc/examples/external-select.c:179,1
    - Dst: FD_ISSET
      Src: /src/mhd2/doc/examples/external-select.c:188,1
    - Dst: FD_ISSET
      Src: /src/mhd2/doc/examples/external-select.c:191,1
    - Dst: FD_ISSET
      Src: /src/mhd2/doc/examples/external-select.c:194,1
    - Dst: MHD_daemon_event_update
      Src: /src/mhd2/doc/examples/external-select.c:199,1
    - Dst: MHD_daemon_stop
      Src: /src/mhd2/doc/examples/external-select.c:205,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 33
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 207
      start: 134
    functionDepth: 1
    functionLinenumber: 134
    functionLinenumberEnd: 207
    functionName: main
    functionSourceFile: /src/mhd2/doc/examples/external-select.c
    functionUses: 0
    functionsReached:
    - FD_ZERO
    - MHD_daemon_set_options
    - MHD_daemon_create
    - MHD_daemon_event_update
    - MHD_D_OPTION_REREGISTER_ALL
    - MHD_D_OPTION_WM_EXTERNAL_EVENT_LOOP_LEVEL
    - MHD_daemon_start
    - FD_ISSET
    - MHD_daemon_stop
    - MHD_daemon_destroy
    - MHD_daemon_process_reg_events
    - select
    - FD_SET
    linkageType: ''
    returnType: int
    signature: int main ()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/mhd2/doc/examples/init-example.c:14,1
    - Dst: MHD_action_abort_request
      Src: /src/mhd2/doc/examples/init-example.c:18,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 5
    argNames:
    - cls
    - request
    - path
    - method
    - upload_size
    argTypes:
    - void*
    - struct MHD_Request*
    - struct MHD_String*
    - enum MHD_HTTP_Method
    - uint_fast64_t
    assertStmts:
    - condition: (NULL == cls)
      pos:
        line_end: 13
        line_start: 13
        source_file: /src/mhd2/doc/examples/init-example.c
    constantsTouched: []
    func_position:
      end: 19
      start: 6
    functionDepth: 1
    functionLinenumber: 6
    functionLinenumberEnd: 19
    functionName: handle_request
    functionSourceFile: /src/mhd2/doc/examples/init-example.c
    functionUses: 0
    functionsReached:
    - MHD_action_abort_request
    - assert
    linkageType: ''
    returnType: struct MHD_Action
    signature: "struct MHD_Action *\nhandle_request (void *cls,\n                struct
      MHD_Request *request,\n                const struct MHD_String *path,\n                enum
      MHD_HTTP_Method method,\n                uint_fast64_t upload_size)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: MHD_daemon_create
      Src: /src/mhd2/doc/examples/init-example.c:29,1
    - Dst: MHD_daemon_start
      Src: /src/mhd2/doc/examples/init-example.c:32,1
    - Dst: getchar
      Src: /src/mhd2/doc/examples/init-example.c:34,1
    - Dst: MHD_daemon_stop
      Src: /src/mhd2/doc/examples/init-example.c:36,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 38
      start: 22
    functionDepth: 1
    functionLinenumber: 22
    functionLinenumberEnd: 38
    functionName: main
    functionSourceFile: /src/mhd2/doc/examples/init-example.c
    functionUses: 0
    functionsReached:
    - MHD_daemon_stop
    - MHD_daemon_start
    - getchar
    - MHD_daemon_create
    linkageType: ''
    returnType: int
    signature: int main ()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/mhd2/doc/examples/options-example.c:17,1
    - Dst: MHD_action_abort_request
      Src: /src/mhd2/doc/examples/options-example.c:21,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 5
    argNames:
    - cls
    - request
    - path
    - method
    - upload_size
    argTypes:
    - void*
    - struct MHD_Request*
    - struct MHD_String*
    - enum MHD_HTTP_Method
    - uint_fast64_t
    assertStmts:
    - condition: (NULL == cls)
      pos:
        line_end: 16
        line_start: 16
        source_file: /src/mhd2/doc/examples/options-example.c
    constantsTouched: []
    func_position:
      end: 22
      start: 7
    functionDepth: 1
    functionLinenumber: 7
    functionLinenumberEnd: 22
    functionName: handle_request
    functionSourceFile: /src/mhd2/doc/examples/options-example.c
    functionUses: 0
    functionsReached:
    - MHD_action_abort_request
    - assert
    linkageType: ''
    returnType: struct MHD_Action
    signature: "struct MHD_Action *\nhandle_request (void *cls,\n                struct
      MHD_Request *request,\n                const struct MHD_String *path,\n                enum
      MHD_HTTP_Method method,\n                uint_fast64_t upload_size)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: MHD_D_OPTION_BIND_PORT
      Src: /src/mhd2/doc/examples/options-example.c:30,1
    - Dst: MHD_daemon_create
      Src: /src/mhd2/doc/examples/options-example.c:35,1
    - Dst: MHD_DAEMON_SET_OPTIONS
      Src: /src/mhd2/doc/examples/options-example.c:38,1
    - Dst: MHD_D_OPTION_LISTEN_BACKLOG
      Src: /src/mhd2/doc/examples/options-example.c:39,1
    - Dst: MHD_D_OPTION_SUPPRESS_DATE_HEADER
      Src: /src/mhd2/doc/examples/options-example.c:40,1
    - Dst: fprintf
      Src: /src/mhd2/doc/examples/options-example.c:41,1
    - Dst: MHD_daemon_set_option
      Src: /src/mhd2/doc/examples/options-example.c:44,1
    - Dst: fprintf
      Src: /src/mhd2/doc/examples/options-example.c:47,1
    - Dst: MHD_daemon_stop
      Src: /src/mhd2/doc/examples/options-example.c:49,1
    - Dst: MHD_daemon_start
      Src: /src/mhd2/doc/examples/options-example.c:52,1
    - Dst: getchar
      Src: /src/mhd2/doc/examples/options-example.c:54,1
    - Dst: MHD_daemon_stop
      Src: /src/mhd2/doc/examples/options-example.c:56,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 13
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 58
      start: 25
    functionDepth: 1
    functionLinenumber: 25
    functionLinenumberEnd: 58
    functionName: main
    functionSourceFile: /src/mhd2/doc/examples/options-example.c
    functionUses: 0
    functionsReached:
    - fprintf
    - MHD_D_OPTION_SUPPRESS_DATE_HEADER
    - MHD_daemon_create
    - MHD_daemon_stop
    - MHD_daemon_start
    - MHD_D_OPTION_BIND_PORT
    - MHD_daemon_set_option
    - MHD_DAEMON_SET_OPTIONS
    - MHD_D_OPTION_LISTEN_BACKLOG
    - getchar
    linkageType: ''
    returnType: int
    signature: int main ()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: MHD_create_response_from_buffer_static
      Src: /src/mhd2/doc/examples/hellobrowser.c:34,1
    - Dst: strlen
      Src: /src/mhd2/doc/examples/hellobrowser.c:34,1
    - Dst: MHD_queue_response
      Src: /src/mhd2/doc/examples/hellobrowser.c:35,1
    - Dst: MHD_destroy_response
      Src: /src/mhd2/doc/examples/hellobrowser.c:36,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 12
    argCount: 8
    argNames:
    - cls
    - connection
    - url
    - method
    - version
    - upload_data
    - upload_data_size
    - req_cls
    argTypes:
    - void*
    - struct MHD_Connection*
    - char*
    - char*
    - char*
    - char*
    - size_t*
    - void**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 39
      start: 17
    functionDepth: 0
    functionLinenumber: 17
    functionLinenumberEnd: 39
    functionName: answer_to_connection
    functionSourceFile: /src/mhd2/doc/examples/hellobrowser.c
    functionUses: 0
    functionsReached:
    - MHD_queue_response
    - strlen
    - MHD_create_response_from_buffer_static
    - MHD_destroy_response
    linkageType: ''
    returnType: enum MHD_Result
    signature: "enum MHD_Result answer_to_connection (void *cls, struct MHD_Connection
      *connection,\n                      const char *url, const char *method,\n                      const
      char *version, const char *upload_data,\n                      size_t *upload_data_size,
      void **req_cls)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: MHD_start_daemon
      Src: /src/mhd2/doc/examples/hellobrowser.c:47,1
    - Dst: getchar
      Src: /src/mhd2/doc/examples/hellobrowser.c:53,1
    - Dst: MHD_stop_daemon
      Src: /src/mhd2/doc/examples/hellobrowser.c:55,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 57
      start: 42
    functionDepth: 0
    functionLinenumber: 42
    functionLinenumberEnd: 57
    functionName: main
    functionSourceFile: /src/mhd2/doc/examples/hellobrowser.c
    functionUses: 0
    functionsReached:
    - MHD_stop_daemon
    - getchar
    - MHD_start_daemon
    linkageType: ''
    returnType: int
    signature: int main (void)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: MHD_create_response_from_buffer_static
      Src: /src/mhd2/doc/examples/simplepost.c:58,1
    - Dst: strlen
      Src: /src/mhd2/doc/examples/simplepost.c:58,1
    - Dst: MHD_queue_response
      Src: /src/mhd2/doc/examples/simplepost.c:62,1
    - Dst: MHD_destroy_response
      Src: /src/mhd2/doc/examples/simplepost.c:63,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 2
    argNames:
    - connection
    - page
    argTypes:
    - struct MHD_Connection*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 66
      start: 51
    functionDepth: 0
    functionLinenumber: 51
    functionLinenumberEnd: 66
    functionName: send_page
    functionSourceFile: /src/mhd2/doc/examples/simplepost.c
    functionUses: 1
    functionsReached:
    - MHD_queue_response
    - strlen
    - MHD_create_response_from_buffer_static
    - MHD_destroy_response
    linkageType: ''
    returnType: enum MHD_Result
    signature: enum MHD_Result send_page (struct MHD_Connection *connection, const
      char *page)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: strcmp
      Src: /src/mhd2/doc/examples/simplepost.c:82,1
    - Dst: malloc
      Src: /src/mhd2/doc/examples/simplepost.c:87,1
    - Dst: snprintf
      Src: /src/mhd2/doc/examples/simplepost.c:91,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 18
    argCount: 9
    argNames:
    - coninfo_cls
    - kind
    - key
    - filename
    - content_type
    - transfer_encoding
    - data
    - 'off'
    - size
    argTypes:
    - void*
    - enum MHD_ValueKind
    - char*
    - char*
    - char*
    - char*
    - char*
    - uint64_t
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 101
      start: 69
    functionDepth: 0
    functionLinenumber: 69
    functionLinenumberEnd: 101
    functionName: iterate_post
    functionSourceFile: /src/mhd2/doc/examples/simplepost.c
    functionUses: 0
    functionsReached:
    - malloc
    - snprintf
    - strcmp
    linkageType: ''
    returnType: enum MHD_Result
    signature: "enum MHD_Result iterate_post (void *coninfo_cls, enum MHD_ValueKind
      kind, const char *key,\n              const char *filename, const char *content_type,\n
      \             const char *transfer_encoding, const char *data, uint64_t off,\n
      \             size_t size)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: MHD_destroy_post_processor
      Src: /src/mhd2/doc/examples/simplepost.c:118,1
    - Dst: free
      Src: /src/mhd2/doc/examples/simplepost.c:120,1
    - Dst: free
      Src: /src/mhd2/doc/examples/simplepost.c:123,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 13
    argCount: 4
    argNames:
    - cls
    - connection
    - req_cls
    - toe
    argTypes:
    - void*
    - struct MHD_Connection*
    - void**
    - enum MHD_RequestTerminationCode
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 125
      start: 104
    functionDepth: 0
    functionLinenumber: 104
    functionLinenumberEnd: 125
    functionName: request_completed
    functionSourceFile: /src/mhd2/doc/examples/simplepost.c
    functionUses: 0
    functionsReached:
    - free
    - MHD_destroy_post_processor
    linkageType: ''
    returnType: void
    signature: "void request_completed (void *cls, struct MHD_Connection *connection,\n
      \                  void **req_cls, enum MHD_RequestTerminationCode toe)"
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: malloc
      Src: /src/mhd2/doc/examples/simplepost.c:142,1
    - Dst: strcmp
      Src: /src/mhd2/doc/examples/simplepost.c:147,1
    - Dst: MHD_create_post_processor
      Src: /src/mhd2/doc/examples/simplepost.c:150,1
    - Dst: free
      Src: /src/mhd2/doc/examples/simplepost.c:155,1
    - Dst: strcmp
      Src: /src/mhd2/doc/examples/simplepost.c:169,1
    - Dst: send_page
      Src: /src/mhd2/doc/examples/simplepost.c:171,1
    - Dst: strcmp
      Src: /src/mhd2/doc/examples/simplepost.c:174,1
    - Dst: MHD_post_process
      Src: /src/mhd2/doc/examples/simplepost.c:181,1
    - Dst: send_page
      Src: /src/mhd2/doc/examples/simplepost.c:190,1
    - Dst: send_page
      Src: /src/mhd2/doc/examples/simplepost.c:193,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 35
    argCount: 8
    argNames:
    - cls
    - connection
    - url
    - method
    - version
    - upload_data
    - upload_data_size
    - req_cls
    argTypes:
    - void*
    - struct MHD_Connection*
    - char*
    - char*
    - char*
    - char*
    - size_t*
    - void**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 194
      start: 128
    functionDepth: 0
    functionLinenumber: 128
    functionLinenumberEnd: 194
    functionName: answer_to_connection
    functionSourceFile: /src/mhd2/doc/examples/simplepost.c
    functionUses: 0
    functionsReached:
    - strcmp
    - malloc
    - MHD_post_process
    - send_page
    - MHD_create_post_processor
    - free
    linkageType: ''
    returnType: enum MHD_Result
    signature: "enum MHD_Result answer_to_connection (void *cls, struct MHD_Connection
      *connection,\n                      const char *url, const char *method,\n                      const
      char *version, const char *upload_data,\n                      size_t *upload_data_size,
      void **req_cls)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: MHD_start_daemon
      Src: /src/mhd2/doc/examples/simplepost.c:202,1
    - Dst: getchar
      Src: /src/mhd2/doc/examples/simplepost.c:210,1
    - Dst: MHD_stop_daemon
      Src: /src/mhd2/doc/examples/simplepost.c:212,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 215
      start: 197
    functionDepth: 0
    functionLinenumber: 197
    functionLinenumberEnd: 215
    functionName: main
    functionSourceFile: /src/mhd2/doc/examples/simplepost.c
    functionUses: 0
    functionsReached:
    - MHD_stop_daemon
    - getchar
    - MHD_start_daemon
    linkageType: ''
    returnType: int
    signature: int main (void)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: strcmp
      Src: /src/mhd2/doc/examples/responseheaders.c:39,1
    - Dst: open
      Src: /src/mhd2/doc/examples/responseheaders.c:42,1
    - Dst: fstat
      Src: /src/mhd2/doc/examples/responseheaders.c:43,1
    - Dst: close
      Src: /src/mhd2/doc/examples/responseheaders.c:50,1
    - Dst: MHD_create_response_from_buffer_static
      Src: /src/mhd2/doc/examples/responseheaders.c:52,1
    - Dst: strlen
      Src: /src/mhd2/doc/examples/responseheaders.c:52,1
    - Dst: MHD_queue_response
      Src: /src/mhd2/doc/examples/responseheaders.c:56,1
    - Dst: MHD_destroy_response
      Src: /src/mhd2/doc/examples/responseheaders.c:58,1
    - Dst: MHD_create_response_from_fd_at_offset64
      Src: /src/mhd2/doc/examples/responseheaders.c:66,1
    - Dst: MHD_add_response_header
      Src: /src/mhd2/doc/examples/responseheaders.c:70,1
    - Dst: fprintf
      Src: /src/mhd2/doc/examples/responseheaders.c:74,1
    - Dst: MHD_queue_response
      Src: /src/mhd2/doc/examples/responseheaders.c:78,1
    - Dst: MHD_destroy_response
      Src: /src/mhd2/doc/examples/responseheaders.c:81,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 27
    argCount: 8
    argNames:
    - cls
    - connection
    - url
    - method
    - version
    - upload_data
    - upload_data_size
    - req_cls
    argTypes:
    - void*
    - struct MHD_Connection*
    - char*
    - char*
    - char*
    - char*
    - size_t*
    - void**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 84
      start: 22
    functionDepth: 0
    functionLinenumber: 22
    functionLinenumberEnd: 84
    functionName: answer_to_connection
    functionSourceFile: /src/mhd2/doc/examples/responseheaders.c
    functionUses: 0
    functionsReached:
    - close
    - fstat
    - MHD_create_response_from_buffer_static
    - strcmp
    - fprintf
    - open
    - MHD_destroy_response
    - MHD_create_response_from_fd_at_offset64
    - MHD_queue_response
    - MHD_add_response_header
    - strlen
    linkageType: ''
    returnType: enum MHD_Result
    signature: "enum MHD_Result answer_to_connection (void *cls, struct MHD_Connection
      *connection,\n                      const char *url, const char *method,\n                      const
      char *version, const char *upload_data,\n                      size_t *upload_data_size,
      void **req_cls)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: MHD_start_daemon
      Src: /src/mhd2/doc/examples/responseheaders.c:92,1
    - Dst: getchar
      Src: /src/mhd2/doc/examples/responseheaders.c:97,1
    - Dst: MHD_stop_daemon
      Src: /src/mhd2/doc/examples/responseheaders.c:99,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 102
      start: 87
    functionDepth: 0
    functionLinenumber: 87
    functionLinenumberEnd: 102
    functionName: main
    functionSourceFile: /src/mhd2/doc/examples/responseheaders.c
    functionUses: 0
    functionsReached:
    - MHD_stop_daemon
    - getchar
    - MHD_start_daemon
    linkageType: ''
    returnType: int
    signature: int main (void)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: fopen
      Src: /src/mhd2/doc/examples/tlsauthentication.c:31,1
    - Dst: fseek
      Src: /src/mhd2/doc/examples/tlsauthentication.c:36,1
    - Dst: ftell
      Src: /src/mhd2/doc/examples/tlsauthentication.c:36,1
    - Dst: fclose
      Src: /src/mhd2/doc/examples/tlsauthentication.c:39,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 9
    argCount: 1
    argNames:
    - filename
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 45
      start: 26
    functionDepth: 0
    functionLinenumber: 26
    functionLinenumberEnd: 45
    functionName: get_file_size
    functionSourceFile: /src/mhd2/doc/examples/tlsauthentication.c
    functionUses: 0
    functionsReached:
    - ftell
    - fseek
    - fopen
    - fclose
    linkageType: ''
    returnType: size_t
    signature: size_t get_file_size (const char *filename)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: get_file_size
      Src: /src/mhd2/doc/examples/tlsauthentication.c:55,1
    - Dst: fopen
      Src: /src/mhd2/doc/examples/tlsauthentication.c:59,1
    - Dst: malloc
      Src: /src/mhd2/doc/examples/tlsauthentication.c:63,1
    - Dst: fclose
      Src: /src/mhd2/doc/examples/tlsauthentication.c:66,1
    - Dst: fread
      Src: /src/mhd2/doc/examples/tlsauthentication.c:71,1
    - Dst: free
      Src: /src/mhd2/doc/examples/tlsauthentication.c:73,1
    - Dst: fclose
      Src: /src/mhd2/doc/examples/tlsauthentication.c:77,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 19
    argCount: 1
    argNames:
    - filename
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 79
      start: 48
    functionDepth: 1
    functionLinenumber: 48
    functionLinenumberEnd: 79
    functionName: load_file
    functionSourceFile: /src/mhd2/doc/examples/tlsauthentication.c
    functionUses: 0
    functionsReached:
    - fread
    - get_file_size
    - fclose
    - malloc
    - free
    - fopen
    linkageType: ''
    returnType: char
    signature: 'char *

      load_file (const char *filename)'
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: MHD_create_response_empty
      Src: /src/mhd2/doc/examples/tlsauthentication.c:88,1
    - Dst: MHD_queue_basic_auth_required_response3
      Src: /src/mhd2/doc/examples/tlsauthentication.c:92,1
    - Dst: MHD_destroy_response
      Src: /src/mhd2/doc/examples/tlsauthentication.c:96,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 2
    argNames:
    - connection
    - realm
    argTypes:
    - struct MHD_Connection*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 98
      start: 82
    functionDepth: 0
    functionLinenumber: 82
    functionLinenumberEnd: 98
    functionName: ask_for_authentication
    functionSourceFile: /src/mhd2/doc/examples/tlsauthentication.c
    functionUses: 0
    functionsReached:
    - MHD_create_response_empty
    - MHD_destroy_response
    - MHD_queue_basic_auth_required_response3
    linkageType: ''
    returnType: enum MHD_Result
    signature: enum MHD_Result ask_for_authentication (struct MHD_Connection *connection,
      const char *realm)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: MHD_basic_auth_get_username_password3
      Src: /src/mhd2/doc/examples/tlsauthentication.c:109,1
    - Dst: strlen
      Src: /src/mhd2/doc/examples/tlsauthentication.c:113,1
    - Dst: memcmp
      Src: /src/mhd2/doc/examples/tlsauthentication.c:114,1
    - Dst: strlen
      Src: /src/mhd2/doc/examples/tlsauthentication.c:118,1
    - Dst: memcmp
      Src: /src/mhd2/doc/examples/tlsauthentication.c:119,1
    - Dst: MHD_free
      Src: /src/mhd2/doc/examples/tlsauthentication.c:121,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 7
    argCount: 3
    argNames:
    - connection
    - username
    - password
    argTypes:
    - struct MHD_Connection*
    - char*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 124
      start: 101
    functionDepth: 0
    functionLinenumber: 101
    functionLinenumberEnd: 124
    functionName: is_authenticated
    functionSourceFile: /src/mhd2/doc/examples/tlsauthentication.c
    functionUses: 0
    functionsReached:
    - strlen
    - MHD_free
    - MHD_basic_auth_get_username_password3
    - memcmp
    linkageType: ''
    returnType: int
    signature: "int is_authenticated (struct MHD_Connection *connection,\n                  const
      char *username,\n                  const char *password)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: MHD_create_response_from_buffer_static
      Src: /src/mhd2/doc/examples/tlsauthentication.c:134,1
    - Dst: strlen
      Src: /src/mhd2/doc/examples/tlsauthentication.c:134,1
    - Dst: MHD_queue_response
      Src: /src/mhd2/doc/examples/tlsauthentication.c:138,1
    - Dst: MHD_destroy_response
      Src: /src/mhd2/doc/examples/tlsauthentication.c:139,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 1
    argNames:
    - connection
    argTypes:
    - struct MHD_Connection*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 142
      start: 127
    functionDepth: 0
    functionLinenumber: 127
    functionLinenumberEnd: 142
    functionName: secret_page
    functionSourceFile: /src/mhd2/doc/examples/tlsauthentication.c
    functionUses: 0
    functionsReached:
    - MHD_queue_response
    - strlen
    - MHD_create_response_from_buffer_static
    - MHD_destroy_response
    linkageType: ''
    returnType: enum MHD_Result
    signature: enum MHD_Result secret_page (struct MHD_Connection *connection)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: strcmp
      Src: /src/mhd2/doc/examples/tlsauthentication.c:157,1
    - Dst: is_authenticated
      Src: /src/mhd2/doc/examples/tlsauthentication.c:165,1
    - Dst: ask_for_authentication
      Src: /src/mhd2/doc/examples/tlsauthentication.c:166,1
    - Dst: secret_page
      Src: /src/mhd2/doc/examples/tlsauthentication.c:168,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 15
    argCount: 8
    argNames:
    - cls
    - connection
    - url
    - method
    - version
    - upload_data
    - upload_data_size
    - req_cls
    argTypes:
    - void*
    - struct MHD_Connection*
    - char*
    - char*
    - char*
    - char*
    - size_t*
    - void**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 169
      start: 145
    functionDepth: 1
    functionLinenumber: 145
    functionLinenumberEnd: 169
    functionName: answer_to_connection
    functionSourceFile: /src/mhd2/doc/examples/tlsauthentication.c
    functionUses: 0
    functionsReached:
    - ask_for_authentication
    - is_authenticated
    - secret_page
    - strcmp
    linkageType: ''
    returnType: enum MHD_Result
    signature: "enum MHD_Result answer_to_connection (void *cls, struct MHD_Connection
      *connection,\n                      const char *url, const char *method,\n                      const
      char *version, const char *upload_data,\n                      size_t *upload_data_size,
      void **req_cls)"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: load_file
      Src: /src/mhd2/doc/examples/tlsauthentication.c:179,1
    - Dst: load_file
      Src: /src/mhd2/doc/examples/tlsauthentication.c:180,1
    - Dst: printf
      Src: /src/mhd2/doc/examples/tlsauthentication.c:184,1
    - Dst: free
      Src: /src/mhd2/doc/examples/tlsauthentication.c:186,1
    - Dst: free
      Src: /src/mhd2/doc/examples/tlsauthentication.c:188,1
    - Dst: MHD_start_daemon
      Src: /src/mhd2/doc/examples/tlsauthentication.c:193,1
    - Dst: printf
      Src: /src/mhd2/doc/examples/tlsauthentication.c:199,1
    - Dst: free
      Src: /src/mhd2/doc/examples/tlsauthentication.c:201,1
    - Dst: free
      Src: /src/mhd2/doc/examples/tlsauthentication.c:202,1
    - Dst: getchar
      Src: /src/mhd2/doc/examples/tlsauthentication.c:207,1
    - Dst: MHD_stop_daemon
      Src: /src/mhd2/doc/examples/tlsauthentication.c:209,1
    - Dst: free
      Src: /src/mhd2/doc/examples/tlsauthentication.c:210,1
    - Dst: free
      Src: /src/mhd2/doc/examples/tlsauthentication.c:211,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 23
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 214
      start: 172
    functionDepth: 2
    functionLinenumber: 172
    functionLinenumberEnd: 214
    functionName: main
    functionSourceFile: /src/mhd2/doc/examples/tlsauthentication.c
    functionUses: 0
    functionsReached:
    - printf
    - free
    - MHD_stop_daemon
    - load_file
    - getchar
    - MHD_start_daemon
    linkageType: ''
    returnType: int
    signature: int main (void)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: MHD_lookup_connection_value
      Src: /src/mhd2/doc/examples/sessions.c:139,1
    - Dst: strcmp
      Src: /src/mhd2/doc/examples/sessions.c:148,1
    - Dst: calloc
      Src: /src/mhd2/doc/examples/sessions.c:159,1
    - Dst: fprintf
      Src: /src/mhd2/doc/examples/sessions.c:162,1
    - Dst: strerror
      Src: /src/mhd2/doc/examples/sessions.c:162,1
    - Dst: snprintf
      Src: /src/mhd2/doc/examples/sessions.c:167,1
    - Dst: rand
      Src: /src/mhd2/doc/examples/sessions.c:170,1
    - Dst: rand
      Src: /src/mhd2/doc/examples/sessions.c:171,1
    - Dst: rand
      Src: /src/mhd2/doc/examples/sessions.c:172,1
    - Dst: rand
      Src: /src/mhd2/doc/examples/sessions.c:173,1
    - Dst: time
      Src: /src/mhd2/doc/examples/sessions.c:175,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 25
    argCount: 1
    argNames:
    - connection
    argTypes:
    - struct MHD_Connection*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 179
      start: 133
    functionDepth: 0
    functionLinenumber: 133
    functionLinenumberEnd: 179
    functionName: get_session
    functionSourceFile: /src/mhd2/doc/examples/sessions.c
    functionUses: 0
    functionsReached:
    - rand
    - time
    - fprintf
    - strcmp
    - MHD_lookup_connection_value
    - calloc
    - snprintf
    - strerror
    linkageType: ''
    returnType: struct Session
    signature: 'struct Session *

      get_session (struct MHD_Connection *connection)'
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: snprintf
      Src: /src/mhd2/doc/examples/sessions.c:235,1
    - Dst: MHD_add_response_header
      Src: /src/mhd2/doc/examples/sessions.c:241,1
    - Dst: fprintf
      Src: /src/mhd2/doc/examples/sessions.c:245,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 2
    argNames:
    - session
    - response
    argTypes:
    - struct Session*
    - struct MHD_Response*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 248
      start: 230
    functionDepth: 0
    functionLinenumber: 230
    functionLinenumberEnd: 248
    functionName: add_session_cookie
    functionSourceFile: /src/mhd2/doc/examples/sessions.c
    functionUses: 0
    functionsReached:
    - snprintf
    - MHD_add_response_header
    - fprintf
    linkageType: ''
    returnType: void
    signature: "void add_session_cookie (struct Session *session,\n                    struct
      MHD_Response *response)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: MHD_create_response_from_buffer_static
      Src: /src/mhd2/doc/examples/sessions.c:271,1
    - Dst: strlen
      Src: /src/mhd2/doc/examples/sessions.c:271,1
    - Dst: add_session_cookie
      Src: /src/mhd2/doc/examples/sessions.c:272,1
    - Dst: MHD_add_response_header
      Src: /src/mhd2/doc/examples/sessions.c:274,1
    - Dst: fprintf
      Src: /src/mhd2/doc/examples/sessions.c:278,1
    - Dst: MHD_queue_response
      Src: /src/mhd2/doc/examples/sessions.c:282,1
    - Dst: MHD_destroy_response
      Src: /src/mhd2/doc/examples/sessions.c:285,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 9
    argCount: 4
    argNames:
    - cls
    - mime
    - session
    - connection
    argTypes:
    - void*
    - char*
    - struct Session*
    - struct MHD_Connection*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 287
      start: 260
    functionDepth: 1
    functionLinenumber: 260
    functionLinenumberEnd: 287
    functionName: serve_simple_form
    functionSourceFile: /src/mhd2/doc/examples/sessions.c
    functionUses: 0
    functionsReached:
    - add_session_cookie
    - MHD_create_response_from_buffer_static
    - fprintf
    - MHD_destroy_response
    - MHD_queue_response
    - MHD_add_response_header
    - strlen
    linkageType: ''
    returnType: enum MHD_Result
    signature: "enum MHD_Result serve_simple_form (const void *cls,\n                   const
      char *mime,\n                   struct Session *session,\n                   struct
      MHD_Connection *connection)"
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: snprintf
      Src: /src/mhd2/doc/examples/sessions.c:311,1
    - Dst: malloc
      Src: /src/mhd2/doc/examples/sessions.c:315,1
    - Dst: snprintf
      Src: /src/mhd2/doc/examples/sessions.c:319,1
    - Dst: free
      Src: /src/mhd2/doc/examples/sessions.c:324,1
    - Dst: MHD_create_response_from_buffer_with_free_callback
      Src: /src/mhd2/doc/examples/sessions.c:330,1
    - Dst: add_session_cookie
      Src: /src/mhd2/doc/examples/sessions.c:335,1
    - Dst: MHD_add_response_header
      Src: /src/mhd2/doc/examples/sessions.c:337,1
    - Dst: fprintf
      Src: /src/mhd2/doc/examples/sessions.c:341,1
    - Dst: MHD_queue_response
      Src: /src/mhd2/doc/examples/sessions.c:345,1
    - Dst: MHD_destroy_response
      Src: /src/mhd2/doc/examples/sessions.c:348,1
    - Dst: free
      Src: /src/mhd2/doc/examples/sessions.c:352,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 25
    argCount: 4
    argNames:
    - cls
    - mime
    - session
    - connection
    argTypes:
    - void*
    - char*
    - struct Session*
    - struct MHD_Connection*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 356
      start: 298
    functionDepth: 1
    functionLinenumber: 298
    functionLinenumberEnd: 356
    functionName: fill_v1_form
    functionSourceFile: /src/mhd2/doc/examples/sessions.c
    functionUses: 0
    functionsReached:
    - add_session_cookie
    - fprintf
    - malloc
    - MHD_destroy_response
    - free
    - MHD_create_response_from_buffer_with_free_callback
    - MHD_queue_response
    - snprintf
    - MHD_add_response_header
    linkageType: ''
    returnType: enum MHD_Result
    signature: "enum MHD_Result fill_v1_form (const void *cls,\n              const
      char *mime,\n              struct Session *session,\n              struct MHD_Connection
      *connection)"
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: snprintf
      Src: /src/mhd2/doc/examples/sessions.c:380,1
    - Dst: malloc
      Src: /src/mhd2/doc/examples/sessions.c:385,1
    - Dst: snprintf
      Src: /src/mhd2/doc/examples/sessions.c:389,1
    - Dst: free
      Src: /src/mhd2/doc/examples/sessions.c:395,1
    - Dst: MHD_create_response_from_buffer_with_free_callback
      Src: /src/mhd2/doc/examples/sessions.c:401,1
    - Dst: add_session_cookie
      Src: /src/mhd2/doc/examples/sessions.c:406,1
    - Dst: MHD_add_response_header
      Src: /src/mhd2/doc/examples/sessions.c:408,1
    - Dst: fprintf
      Src: /src/mhd2/doc/examples/sessions.c:412,1
    - Dst: MHD_queue_response
      Src: /src/mhd2/doc/examples/sessions.c:416,1
    - Dst: MHD_destroy_response
      Src: /src/mhd2/doc/examples/sessions.c:419,1
    - Dst: free
      Src: /src/mhd2/doc/examples/sessions.c:423,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 25
    argCount: 4
    argNames:
    - cls
    - mime
    - session
    - connection
    argTypes:
    - void*
    - char*
    - struct Session*
    - struct MHD_Connection*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 427
      start: 367
    functionDepth: 1
    functionLinenumber: 367
    functionLinenumberEnd: 427
    functionName: fill_v1_v2_form
    functionSourceFile: /src/mhd2/doc/examples/sessions.c
    functionUses: 0
    functionsReached:
    - add_session_cookie
    - fprintf
    - malloc
    - MHD_destroy_response
    - free
    - MHD_create_response_from_buffer_with_free_callback
    - MHD_queue_response
    - snprintf
    - MHD_add_response_header
    linkageType: ''
    returnType: enum MHD_Result
    signature: "enum MHD_Result fill_v1_v2_form (const void *cls,\n                 const
      char *mime,\n                 struct Session *session,\n                 struct
      MHD_Connection *connection)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: MHD_create_response_from_buffer_static
      Src: /src/mhd2/doc/examples/sessions.c:450,1
    - Dst: strlen
      Src: /src/mhd2/doc/examples/sessions.c:450,1
    - Dst: MHD_queue_response
      Src: /src/mhd2/doc/examples/sessions.c:452,1
    - Dst: MHD_add_response_header
      Src: /src/mhd2/doc/examples/sessions.c:456,1
    - Dst: fprintf
      Src: /src/mhd2/doc/examples/sessions.c:460,1
    - Dst: MHD_destroy_response
      Src: /src/mhd2/doc/examples/sessions.c:464,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 10
    argCount: 4
    argNames:
    - cls
    - mime
    - session
    - connection
    argTypes:
    - void*
    - char*
    - struct Session*
    - struct MHD_Connection*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 466
      start: 438
    functionDepth: 0
    functionLinenumber: 438
    functionLinenumberEnd: 466
    functionName: not_found_page
    functionSourceFile: /src/mhd2/doc/examples/sessions.c
    functionUses: 0
    functionsReached:
    - MHD_create_response_from_buffer_static
    - fprintf
    - MHD_destroy_response
    - MHD_queue_response
    - MHD_add_response_header
    - strlen
    linkageType: ''
    returnType: enum MHD_Result
    signature: "enum MHD_Result not_found_page (const void *cls,\n                const
      char *mime,\n                struct Session *session,\n                struct
      MHD_Connection *connection)"
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: strcmp
      Src: /src/mhd2/doc/examples/sessions.c:516,1
    - Dst: fprintf
      Src: /src/mhd2/doc/examples/sessions.c:518,1
    - Dst: strcmp
      Src: /src/mhd2/doc/examples/sessions.c:525,1
    - Dst: memcpy
      Src: /src/mhd2/doc/examples/sessions.c:531,1
    - Dst: strcmp
      Src: /src/mhd2/doc/examples/sessions.c:538,1
    - Dst: memcpy
      Src: /src/mhd2/doc/examples/sessions.c:544,1
    - Dst: fprintf
      Src: /src/mhd2/doc/examples/sessions.c:551,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 31
    argCount: 9
    argNames:
    - cls
    - kind
    - key
    - filename
    - content_type
    - transfer_encoding
    - data
    - 'off'
    - size
    argTypes:
    - void*
    - enum MHD_ValueKind
    - char*
    - char*
    - char*
    - char*
    - char*
    - uint64_t
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 553
      start: 500
    functionDepth: 0
    functionLinenumber: 500
    functionLinenumberEnd: 553
    functionName: post_iterator
    functionSourceFile: /src/mhd2/doc/examples/sessions.c
    functionUses: 0
    functionsReached:
    - memcpy
    - fprintf
    - strcmp
    linkageType: ''
    returnType: enum MHD_Result
    signature: "enum MHD_Result post_iterator (void *cls,\n               enum MHD_ValueKind
      kind,\n               const char *key,\n               const char *filename,\n
      \              const char *content_type,\n               const char *transfer_encoding,\n
      \              const char *data, uint64_t off, size_t size)"
  - BBCount: 13
    BranchProfiles: []
    Callsites:
    - Dst: calloc
      Src: /src/mhd2/doc/examples/sessions.c:611,1
    - Dst: fprintf
      Src: /src/mhd2/doc/examples/sessions.c:614,1
    - Dst: strerror
      Src: /src/mhd2/doc/examples/sessions.c:614,1
    - Dst: strcmp
      Src: /src/mhd2/doc/examples/sessions.c:618,1
    - Dst: MHD_create_post_processor
      Src: /src/mhd2/doc/examples/sessions.c:620,1
    - Dst: fprintf
      Src: /src/mhd2/doc/examples/sessions.c:624,1
    - Dst: get_session
      Src: /src/mhd2/doc/examples/sessions.c:633,1
    - Dst: fprintf
      Src: /src/mhd2/doc/examples/sessions.c:636,1
    - Dst: time
      Src: /src/mhd2/doc/examples/sessions.c:642,1
    - Dst: strcmp
      Src: /src/mhd2/doc/examples/sessions.c:643,1
    - Dst: MHD_post_process
      Src: /src/mhd2/doc/examples/sessions.c:647,1
    - Dst: MHD_destroy_post_processor
      Src: /src/mhd2/doc/examples/sessions.c:657,1
    - Dst: strcmp
      Src: /src/mhd2/doc/examples/sessions.c:664,1
    - Dst: strcmp
      Src: /src/mhd2/doc/examples/sessions.c:665,1
    - Dst: strcmp
      Src: /src/mhd2/doc/examples/sessions.c:670,1
    - Dst: handler
      Src: /src/mhd2/doc/examples/sessions.c:672,1
    - Dst: fprintf
      Src: /src/mhd2/doc/examples/sessions.c:676,1
    - Dst: MHD_create_response_from_buffer_static
      Src: /src/mhd2/doc/examples/sessions.c:681,1
    - Dst: strlen
      Src: /src/mhd2/doc/examples/sessions.c:681,1
    - Dst: MHD_queue_response
      Src: /src/mhd2/doc/examples/sessions.c:683,1
    - Dst: MHD_destroy_response
      Src: /src/mhd2/doc/examples/sessions.c:686,1
    CyclomaticComplexity: 15
    EdgeCount: 15
    ICount: 55
    argCount: 8
    argNames:
    - cls
    - connection
    - url
    - method
    - version
    - upload_data
    - upload_data_size
    - req_cls
    argTypes:
    - void*
    - struct MHD_Connection*
    - char*
    - char*
    - char*
    - char*
    - size_t*
    - void**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 688
      start: 590
    functionDepth: 1
    functionLinenumber: 590
    functionLinenumberEnd: 688
    functionName: create_response
    functionSourceFile: /src/mhd2/doc/examples/sessions.c
    functionUses: 1
    functionsReached:
    - time
    - fprintf
    - strcmp
    - get_session
    - MHD_create_response_from_buffer_static
    - MHD_destroy_response
    - MHD_post_process
    - MHD_create_post_processor
    - handler
    - calloc
    - MHD_destroy_post_processor
    - MHD_queue_response
    - strlen
    - strerror
    linkageType: ''
    returnType: enum MHD_Result
    signature: "enum MHD_Result create_response (void *cls,\n                 struct
      MHD_Connection *connection,\n                 const char *url,\n                 const
      char *method,\n                 const char *version,\n                 const
      char *upload_data,\n                 size_t *upload_data_size,\n                 void
      **req_cls)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: MHD_destroy_post_processor
      Src: /src/mhd2/doc/examples/sessions.c:716,1
    - Dst: free
      Src: /src/mhd2/doc/examples/sessions.c:717,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 11
    argCount: 4
    argNames:
    - cls
    - connection
    - req_cls
    - toe
    argTypes:
    - void*
    - struct MHD_Connection*
    - void**
    - enum MHD_RequestTerminationCode
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 718
      start: 700
    functionDepth: 0
    functionLinenumber: 700
    functionLinenumberEnd: 718
    functionName: request_completed_callback
    functionSourceFile: /src/mhd2/doc/examples/sessions.c
    functionUses: 0
    functionsReached:
    - free
    - MHD_destroy_post_processor
    linkageType: ''
    returnType: void
    signature: "void request_completed_callback (void *cls,\n                            struct
      MHD_Connection *connection,\n                            void **req_cls,\n                            enum
      MHD_RequestTerminationCode toe)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: time
      Src: /src/mhd2/doc/examples/sessions.c:733,1
    - Dst: free
      Src: /src/mhd2/doc/examples/sessions.c:746,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 15
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 752
      start: 725
    functionDepth: 0
    functionLinenumber: 725
    functionLinenumberEnd: 752
    functionName: expire_sessions
    functionSourceFile: /src/mhd2/doc/examples/sessions.c
    functionUses: 0
    functionsReached:
    - free
    - time
    linkageType: ''
    returnType: void
    signature: void expire_sessions (void)
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: printf
      Src: /src/mhd2/doc/examples/sessions.c:774,1
    - Dst: sscanf
      Src: /src/mhd2/doc/examples/sessions.c:777,1
    - Dst: fprintf
      Src: /src/mhd2/doc/examples/sessions.c:780,1
    - Dst: srand
      Src: /src/mhd2/doc/examples/sessions.c:786,1
    - Dst: time
      Src: /src/mhd2/doc/examples/sessions.c:786,1
    - Dst: MHD_start_daemon
      Src: /src/mhd2/doc/examples/sessions.c:787,1
    - Dst: expire_sessions
      Src: /src/mhd2/doc/examples/sessions.c:800,1
    - Dst: FD_ZERO
      Src: /src/mhd2/doc/examples/sessions.c:802,1
    - Dst: FD_ZERO
      Src: /src/mhd2/doc/examples/sessions.c:803,1
    - Dst: FD_ZERO
      Src: /src/mhd2/doc/examples/sessions.c:804,1
    - Dst: MHD_get_fdset
      Src: /src/mhd2/doc/examples/sessions.c:805,1
    - Dst: MHD_get_timeout64
      Src: /src/mhd2/doc/examples/sessions.c:807,1
    - Dst: select
      Src: /src/mhd2/doc/examples/sessions.c:819,1
    - Dst: fprintf
      Src: /src/mhd2/doc/examples/sessions.c:822,1
    - Dst: strerror
      Src: /src/mhd2/doc/examples/sessions.c:824,1
    - Dst: MHD_run
      Src: /src/mhd2/doc/examples/sessions.c:827,1
    - Dst: MHD_stop_daemon
      Src: /src/mhd2/doc/examples/sessions.c:829,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 37
    argCount: 2
    argNames:
    - argc
    - argv
    argTypes:
    - int
    - char**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 831
      start: 759
    functionDepth: 1
    functionLinenumber: 759
    functionLinenumberEnd: 831
    functionName: main
    functionSourceFile: /src/mhd2/doc/examples/sessions.c
    functionUses: 0
    functionsReached:
    - time
    - FD_ZERO
    - MHD_run
    - fprintf
    - srand
    - printf
    - sscanf
    - expire_sessions
    - MHD_stop_daemon
    - MHD_get_fdset
    - MHD_start_daemon
    - select
    - MHD_get_timeout64
    - strerror
    linkageType: ''
    returnType: int
    signature: int main (int argc, char *const *argv)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: strcmp
      Src: /src/mhd2/doc/examples/basicauthentication.c:35,1
    - Dst: MHD_basic_auth_get_username_password3
      Src: /src/mhd2/doc/examples/basicauthentication.c:42,1
    - Dst: MHD_create_response_from_buffer_static
      Src: /src/mhd2/doc/examples/basicauthentication.c:47,1
    - Dst: strlen
      Src: /src/mhd2/doc/examples/basicauthentication.c:47,1
    - Dst: MHD_queue_basic_auth_required_response3
      Src: /src/mhd2/doc/examples/basicauthentication.c:48,1
    - Dst: strlen
      Src: /src/mhd2/doc/examples/basicauthentication.c:53,1
    - Dst: memcmp
      Src: /src/mhd2/doc/examples/basicauthentication.c:54,1
    - Dst: strlen
      Src: /src/mhd2/doc/examples/basicauthentication.c:59,1
    - Dst: memcmp
      Src: /src/mhd2/doc/examples/basicauthentication.c:60,1
    - Dst: MHD_create_response_from_buffer_static
      Src: /src/mhd2/doc/examples/basicauthentication.c:65,1
    - Dst: strlen
      Src: /src/mhd2/doc/examples/basicauthentication.c:65,1
    - Dst: MHD_queue_basic_auth_required_response3
      Src: /src/mhd2/doc/examples/basicauthentication.c:66,1
    - Dst: MHD_create_response_from_buffer_static
      Src: /src/mhd2/doc/examples/basicauthentication.c:74,1
    - Dst: strlen
      Src: /src/mhd2/doc/examples/basicauthentication.c:74,1
    - Dst: MHD_queue_response
      Src: /src/mhd2/doc/examples/basicauthentication.c:75,1
    - Dst: MHD_free
      Src: /src/mhd2/doc/examples/basicauthentication.c:78,1
    - Dst: MHD_destroy_response
      Src: /src/mhd2/doc/examples/basicauthentication.c:79,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 28
    argCount: 8
    argNames:
    - cls
    - connection
    - url
    - method
    - version
    - upload_data
    - upload_data_size
    - req_cls
    argTypes:
    - void*
    - struct MHD_Connection*
    - char*
    - char*
    - char*
    - char*
    - size_t*
    - void**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 81
      start: 20
    functionDepth: 0
    functionLinenumber: 20
    functionLinenumberEnd: 81
    functionName: answer_to_connection
    functionSourceFile: /src/mhd2/doc/examples/basicauthentication.c
    functionUses: 0
    functionsReached:
    - MHD_free
    - MHD_create_response_from_buffer_static
    - MHD_basic_auth_get_username_password3
    - strcmp
    - MHD_destroy_response
    - MHD_queue_basic_auth_required_response3
    - MHD_queue_response
    - strlen
    - memcmp
    linkageType: ''
    returnType: enum MHD_Result
    signature: "enum MHD_Result answer_to_connection (void *cls, struct MHD_Connection
      *connection,\n                      const char *url, const char *method,\n                      const
      char *version, const char *upload_data,\n                      size_t *upload_data_size,
      void **req_cls)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: MHD_start_daemon
      Src: /src/mhd2/doc/examples/basicauthentication.c:89,1
    - Dst: getchar
      Src: /src/mhd2/doc/examples/basicauthentication.c:94,1
    - Dst: MHD_stop_daemon
      Src: /src/mhd2/doc/examples/basicauthentication.c:96,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 98
      start: 84
    functionDepth: 0
    functionLinenumber: 84
    functionLinenumberEnd: 98
    functionName: main
    functionSourceFile: /src/mhd2/doc/examples/basicauthentication.c
    functionUses: 0
    functionsReached:
    - MHD_stop_daemon
    - getchar
    - MHD_start_daemon
    linkageType: ''
    returnType: int
    signature: int main (void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: printf
      Src: /src/mhd2/doc/examples/logging.c:23,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 4
    argNames:
    - cls
    - kind
    - key
    - value
    argTypes:
    - void*
    - enum MHD_ValueKind
    - char*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 25
      start: 17
    functionDepth: 0
    functionLinenumber: 17
    functionLinenumberEnd: 25
    functionName: print_out_key
    functionSourceFile: /src/mhd2/doc/examples/logging.c
    functionUses: 0
    functionsReached:
    - printf
    linkageType: ''
    returnType: enum MHD_Result
    signature: "enum MHD_Result print_out_key (void *cls, enum MHD_ValueKind kind,
      const char *key,\n               const char *value)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: printf
      Src: /src/mhd2/doc/examples/logging.c:39,1
    - Dst: MHD_get_connection_values
      Src: /src/mhd2/doc/examples/logging.c:41,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 9
    argCount: 8
    argNames:
    - cls
    - connection
    - url
    - method
    - version
    - upload_data
    - upload_data_size
    - req_cls
    argTypes:
    - void*
    - struct MHD_Connection*
    - char*
    - char*
    - char*
    - char*
    - size_t*
    - void**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 45
      start: 28
    functionDepth: 0
    functionLinenumber: 28
    functionLinenumberEnd: 45
    functionName: answer_to_connection
    functionSourceFile: /src/mhd2/doc/examples/logging.c
    functionUses: 0
    functionsReached:
    - MHD_get_connection_values
    - printf
    linkageType: ''
    returnType: enum MHD_Result
    signature: "enum MHD_Result answer_to_connection (void *cls, struct MHD_Connection
      *connection,\n                      const char *url, const char *method,\n                      const
      char *version, const char *upload_data,\n                      size_t *upload_data_size,
      void **req_cls)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: MHD_start_daemon
      Src: /src/mhd2/doc/examples/logging.c:53,1
    - Dst: getchar
      Src: /src/mhd2/doc/examples/logging.c:58,1
    - Dst: MHD_stop_daemon
      Src: /src/mhd2/doc/examples/logging.c:60,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 62
      start: 48
    functionDepth: 0
    functionLinenumber: 48
    functionLinenumberEnd: 62
    functionName: main
    functionSourceFile: /src/mhd2/doc/examples/logging.c
    functionUses: 0
    functionsReached:
    - MHD_stop_daemon
    - getchar
    - MHD_start_daemon
    linkageType: ''
    returnType: int
    signature: int main (void)
  - BBCount: 15
    BranchProfiles: []
    Callsites:
    - Dst: make_blocking
      Src: /src/mhd2/doc/examples/websocket.c:90,1
    - Dst: MHD_websocket_stream_init
      Src: /src/mhd2/doc/examples/websocket.c:94,1
    - Dst: MHD_upgrade_action
      Src: /src/mhd2/doc/examples/websocket.c:102,1
    - Dst: MHD_websocket_stream_is_valid
      Src: /src/mhd2/doc/examples/websocket.c:111,1
    - Dst: recv
      Src: /src/mhd2/doc/examples/websocket.c:113,1
    - Dst: MHD_websocket_decode
      Src: /src/mhd2/doc/examples/websocket.c:130,1
    - Dst: MHD_websocket_free
      Src: /src/mhd2/doc/examples/websocket.c:141,1
    - Dst: printf
      Src: /src/mhd2/doc/examples/websocket.c:159,1
    - Dst: MHD_websocket_free
      Src: /src/mhd2/doc/examples/websocket.c:160,1
    - Dst: MHD_websocket_encode_text
      Src: /src/mhd2/doc/examples/websocket.c:163,1
    - Dst: send_all
      Src: /src/mhd2/doc/examples/websocket.c:172,1
    - Dst: MHD_websocket_free
      Src: /src/mhd2/doc/examples/websocket.c:180,1
    - Dst: MHD_websocket_encode_close
      Src: /src/mhd2/doc/examples/websocket.c:184,1
    - Dst: send_all
      Src: /src/mhd2/doc/examples/websocket.c:192,1
    - Dst: MHD_websocket_encode_pong
      Src: /src/mhd2/doc/examples/websocket.c:204,1
    - Dst: send_all
      Src: /src/mhd2/doc/examples/websocket.c:211,1
    - Dst: MHD_websocket_free
      Src: /src/mhd2/doc/examples/websocket.c:215,1
    - Dst: MHD_websocket_free
      Src: /src/mhd2/doc/examples/websocket.c:231,1
    - Dst: MHD_websocket_stream_free
      Src: /src/mhd2/doc/examples/websocket.c:238,1
    - Dst: MHD_upgrade_action
      Src: /src/mhd2/doc/examples/websocket.c:241,1
    CyclomaticComplexity: 19
    EdgeCount: 19
    ICount: 60
    argCount: 7
    argNames:
    - cls
    - connection
    - req_cls
    - extra_in
    - extra_in_size
    - fd
    - urh
    argTypes:
    - void*
    - struct MHD_Connection*
    - void*
    - char*
    - size_t
    - MHD_socket
    - struct MHD_UpgradeResponseHandle*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 243
      start: 80
    functionDepth: 0
    functionLinenumber: 80
    functionLinenumberEnd: 243
    functionName: upgrade_handler
    functionSourceFile: /src/mhd2/doc/examples/websocket.c
    functionUses: 0
    functionsReached:
    - MHD_websocket_stream_is_valid
    - MHD_websocket_decode
    - MHD_websocket_encode_close
    - MHD_websocket_encode_pong
    - printf
    - MHD_websocket_stream_init
    - MHD_websocket_encode_text
    - make_blocking
    - recv
    - send_all
    - MHD_websocket_stream_free
    - MHD_websocket_free
    - MHD_upgrade_action
    linkageType: ''
    returnType: void
    signature: "void upgrade_handler (void *cls,\n                 struct MHD_Connection
      *connection,\n                 void *req_cls,\n                 const char *extra_in,\n
      \                size_t extra_in_size,\n                 MHD_socket fd,\n                 struct
      MHD_UpgradeResponseHandle *urh)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: send
      Src: /src/mhd2/doc/examples/websocket.c:259,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 13
    argCount: 3
    argNames:
    - fd
    - buf
    - len
    argTypes:
    - MHD_socket
    - char*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 275
      start: 249
    functionDepth: 0
    functionLinenumber: 249
    functionLinenumberEnd: 275
    functionName: send_all
    functionSourceFile: /src/mhd2/doc/examples/websocket.c
    functionUses: 1
    functionsReached:
    - send
    linkageType: ''
    returnType: void
    signature: "void send_all (MHD_socket fd,\n          const char *buf,\n          size_t
      len)"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: fcntl
      Src: /src/mhd2/doc/examples/websocket.c:287,1
    - Dst: abort
      Src: /src/mhd2/doc/examples/websocket.c:289,1
    - Dst: fcntl
      Src: /src/mhd2/doc/examples/websocket.c:291,1
    - Dst: abort
      Src: /src/mhd2/doc/examples/websocket.c:292,1
    - Dst: ioctlsocket
      Src: /src/mhd2/doc/examples/websocket.c:296,1
    - Dst: abort
      Src: /src/mhd2/doc/examples/websocket.c:297,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 9
    argCount: 1
    argNames:
    - fd
    argTypes:
    - MHD_socket
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 299
      start: 281
    functionDepth: 0
    functionLinenumber: 281
    functionLinenumberEnd: 299
    functionName: make_blocking
    functionSourceFile: /src/mhd2/doc/examples/websocket.c
    functionUses: 1
    functionsReached:
    - ioctlsocket
    - abort
    - fcntl
    linkageType: ''
    returnType: void
    signature: void make_blocking (MHD_socket fd)
  - BBCount: 11
    BranchProfiles: []
    Callsites:
    - Dst: strcmp
      Src: /src/mhd2/doc/examples/websocket.c:320,1
    - Dst: strcmp
      Src: /src/mhd2/doc/examples/websocket.c:330,1
    - Dst: MHD_create_response_from_buffer_static
      Src: /src/mhd2/doc/examples/websocket.c:334,1
    - Dst: strlen
      Src: /src/mhd2/doc/examples/websocket.c:334,1
    - Dst: MHD_queue_response
      Src: /src/mhd2/doc/examples/websocket.c:336,1
    - Dst: MHD_destroy_response
      Src: /src/mhd2/doc/examples/websocket.c:339,1
    - Dst: strcmp
      Src: /src/mhd2/doc/examples/websocket.c:341,1
    - Dst: MHD_websocket_check_http_version
      Src: /src/mhd2/doc/examples/websocket.c:347,1
    - Dst: MHD_lookup_connection_value
      Src: /src/mhd2/doc/examples/websocket.c:351,1
    - Dst: MHD_websocket_check_connection_header
      Src: /src/mhd2/doc/examples/websocket.c:354,1
    - Dst: MHD_lookup_connection_value
      Src: /src/mhd2/doc/examples/websocket.c:358,1
    - Dst: MHD_websocket_check_upgrade_header
      Src: /src/mhd2/doc/examples/websocket.c:361,1
    - Dst: MHD_lookup_connection_value
      Src: /src/mhd2/doc/examples/websocket.c:365,1
    - Dst: MHD_websocket_check_version_header
      Src: /src/mhd2/doc/examples/websocket.c:368,1
    - Dst: MHD_lookup_connection_value
      Src: /src/mhd2/doc/examples/websocket.c:372,1
    - Dst: MHD_websocket_create_accept_header
      Src: /src/mhd2/doc/examples/websocket.c:375,1
    - Dst: MHD_create_response_for_upgrade
      Src: /src/mhd2/doc/examples/websocket.c:383,1
    - Dst: MHD_add_response_header
      Src: /src/mhd2/doc/examples/websocket.c:385,1
    - Dst: MHD_add_response_header
      Src: /src/mhd2/doc/examples/websocket.c:388,1
    - Dst: MHD_queue_response
      Src: /src/mhd2/doc/examples/websocket.c:391,1
    - Dst: MHD_destroy_response
      Src: /src/mhd2/doc/examples/websocket.c:394,1
    - Dst: MHD_create_response_from_buffer_static
      Src: /src/mhd2/doc/examples/websocket.c:401,1
    - Dst: strlen
      Src: /src/mhd2/doc/examples/websocket.c:401,1
    - Dst: MHD_queue_response
      Src: /src/mhd2/doc/examples/websocket.c:404,1
    - Dst: MHD_destroy_response
      Src: /src/mhd2/doc/examples/websocket.c:407,1
    - Dst: MHD_create_response_from_buffer_static
      Src: /src/mhd2/doc/examples/websocket.c:414,1
    - Dst: strlen
      Src: /src/mhd2/doc/examples/websocket.c:414,1
    - Dst: MHD_queue_response
      Src: /src/mhd2/doc/examples/websocket.c:416,1
    - Dst: MHD_destroy_response
      Src: /src/mhd2/doc/examples/websocket.c:419,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 53
    argCount: 8
    argNames:
    - cls
    - connection
    - url
    - method
    - version
    - upload_data
    - upload_data_size
    - req_cls
    argTypes:
    - void*
    - struct MHD_Connection*
    - char*
    - char*
    - char*
    - char*
    - size_t*
    - void**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 423
      start: 302
    functionDepth: 0
    functionLinenumber: 302
    functionLinenumberEnd: 423
    functionName: access_handler
    functionSourceFile: /src/mhd2/doc/examples/websocket.c
    functionUses: 0
    functionsReached:
    - MHD_websocket_create_accept_header
    - MHD_create_response_from_buffer_static
    - strcmp
    - MHD_destroy_response
    - MHD_lookup_connection_value
    - MHD_websocket_check_connection_header
    - MHD_websocket_check_upgrade_header
    - MHD_create_response_for_upgrade
    - MHD_websocket_check_http_version
    - MHD_queue_response
    - MHD_add_response_header
    - strlen
    - MHD_websocket_check_version_header
    linkageType: ''
    returnType: enum MHD_Result
    signature: "enum MHD_Result access_handler (void *cls,\n                struct
      MHD_Connection *connection,\n                const char *url,\n                const
      char *method,\n                const char *version,\n                const char
      *upload_data,\n                size_t *upload_data_size,\n                void
      **req_cls)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: MHD_start_daemon
      Src: /src/mhd2/doc/examples/websocket.c:434,1
    - Dst: getc
      Src: /src/mhd2/doc/examples/websocket.c:444,1
    - Dst: MHD_stop_daemon
      Src: /src/mhd2/doc/examples/websocket.c:446,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 9
    argCount: 2
    argNames:
    - argc
    - argv
    argTypes:
    - int
    - char**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 449
      start: 426
    functionDepth: 0
    functionLinenumber: 426
    functionLinenumberEnd: 449
    functionName: main
    functionSourceFile: /src/mhd2/doc/examples/websocket.c
    functionUses: 0
    functionsReached:
    - MHD_stop_daemon
    - getc
    - MHD_start_daemon
    linkageType: ''
    returnType: int
    signature: "int main (int argc,\n      char *const *argv)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - sig
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 7
      start: 3
    functionDepth: 0
    functionLinenumber: 3
    functionLinenumberEnd: 7
    functionName: catcher
    functionSourceFile: /src/mhd2/doc/examples/sigpipe.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void catcher (int sig)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: sigemptyset
      Src: /src/mhd2/doc/examples/sigpipe.c:17,1
    - Dst: sigaction
      Src: /src/mhd2/doc/examples/sigpipe.c:23,1
    - Dst: fprintf
      Src: /src/mhd2/doc/examples/sigpipe.c:26,1
    - Dst: strerror
      Src: /src/mhd2/doc/examples/sigpipe.c:27,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 28
      start: 10
    functionDepth: 0
    functionLinenumber: 10
    functionLinenumberEnd: 28
    functionName: ignore_sigpipe
    functionSourceFile: /src/mhd2/doc/examples/sigpipe.c
    functionUses: 0
    functionsReached:
    - strerror
    - sigaction
    - fprintf
    - sigemptyset
    linkageType: ''
    returnType: void
    signature: void ignore_sigpipe (void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ignore_sigpipe
      Src: /src/mhd2/doc/examples/sigpipe.c:34,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 37
      start: 31
    functionDepth: 0
    functionLinenumber: 31
    functionLinenumberEnd: 37
    functionName: main
    functionSourceFile: /src/mhd2/doc/examples/sigpipe.c
    functionUses: 0
    functionsReached:
    - ignore_sigpipe
    linkageType: ''
    returnType: int
    signature: int main ()
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: strcmp
      Src: /src/mhd2/src/tests/mhdt_has_param.h:68,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 8
    argCount: 3
    argNames:
    - argc
    - argv
    - param
    argTypes:
    - int
    - char*[]
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 73
      start: 59
    functionDepth: 0
    functionLinenumber: 59
    functionLinenumberEnd: 73
    functionName: mhdt_has_param
    functionSourceFile: /src/mhd2/src/tests/mhdt_has_param.h
    functionUses: 0
    functionsReached:
    - strcmp
    linkageType: ''
    returnType: int
    signature: int mhdt_has_param (int argc, char *const argv[], const char *param)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 2
    argNames:
    - (
    - )
    argTypes:
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 78
      start: 74
    functionDepth: 0
    functionLinenumber: 74
    functionLinenumberEnd: 78
    functionName: MHDT_ERR_EXIT
    functionSourceFile: /src/mhd2/src/tests/mhdt_checks.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: MHDT_ERR_EXIT()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - desc
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 82
      start: 78
    functionDepth: 0
    functionLinenumber: 78
    functionLinenumberEnd: 82
    functionName: MHDT_ERR_EXIT_D
    functionSourceFile: /src/mhd2/src/tests/mhdt_checks.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: MHDT_ERR_EXIT_D(desc)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 2
    argNames:
    - (
    - )
    argTypes:
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 87
      start: 83
    functionDepth: 0
    functionLinenumber: 83
    functionLinenumberEnd: 87
    functionName: MHDT_ERR_EXIT
    functionSourceFile: /src/mhd2/src/tests/mhdt_checks.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: MHDT_ERR_EXIT()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - desc
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 91
      start: 87
    functionDepth: 0
    functionLinenumber: 87
    functionLinenumberEnd: 91
    functionName: MHDT_ERR_EXIT_D
    functionSourceFile: /src/mhd2/src/tests/mhdt_checks.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: MHDT_ERR_EXIT_D(desc)
  - 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: mhdt_STR_MACRO
    functionSourceFile: /src/mhd2/src/tests/mhdt_checks.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: mhdt_STR_MACRO(x)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - x
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 101
      start: 100
    functionDepth: 0
    functionLinenumber: 100
    functionLinenumberEnd: 101
    functionName: mhdt_STR_MACRO_EXP
    functionSourceFile: /src/mhd2/src/tests/mhdt_checks.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: mhdt_STR_MACRO_EXP(x)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 132
      start: 128
    functionDepth: 0
    functionLinenumber: 128
    functionLinenumberEnd: 132
    functionName: mhdt_print_check_succeed
    functionSourceFile: /src/mhd2/src/tests/mhdt_checks.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int mhdt_print_check_succeed (void)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 140
      start: 136
    functionDepth: 0
    functionLinenumber: 136
    functionLinenumberEnd: 140
    functionName: mhdt_print_test_succeed
    functionSourceFile: /src/mhd2/src/tests/mhdt_checks.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int mhdt_print_test_succeed (void)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: fprintf
      Src: /src/mhd2/src/tests/mhdt_checks.h:148,1
    - Dst: fflush
      Src: /src/mhd2/src/tests/mhdt_checks.h:149,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 151
      start: 143
    functionDepth: 0
    functionLinenumber: 143
    functionLinenumberEnd: 151
    functionName: mhdt_mark_print_in_test_set
    functionSourceFile: /src/mhd2/src/tests/mhdt_checks.h
    functionUses: 0
    functionsReached:
    - fprintf
    - fflush
    linkageType: ''
    returnType: void
    signature: void mhdt_mark_print_in_test_set (void)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 158
      start: 154
    functionDepth: 0
    functionLinenumber: 154
    functionLinenumberEnd: 158
    functionName: mhdt_mark_print_in_test_reset
    functionSourceFile: /src/mhd2/src/tests/mhdt_checks.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void mhdt_mark_print_in_test_reset (void)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 165
      start: 161
    functionDepth: 0
    functionLinenumber: 161
    functionLinenumberEnd: 165
    functionName: mhdt_mark_print_in_test_is_set
    functionSourceFile: /src/mhd2/src/tests/mhdt_checks.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int mhdt_mark_print_in_test_is_set (void)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - level
    argTypes:
    - enum MHDT_VerbosityLevelEnum
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 176
      start: 172
    functionDepth: 0
    functionLinenumber: 172
    functionLinenumberEnd: 176
    functionName: MHDT_set_verbosity
    functionSourceFile: /src/mhd2/src/tests/mhdt_checks.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void MHDT_set_verbosity (enum MHDT_VerbosityLevelEnum level)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: mhdt_print_test_succeed
      Src: /src/mhd2/src/tests/mhdt_checks.h:201,1
    - Dst: fprintf
      Src: /src/mhd2/src/tests/mhdt_checks.h:204,1
    - Dst: mhdt_mark_print_in_test_is_set
      Src: /src/mhd2/src/tests/mhdt_checks.h:209,1
    - Dst: mhdt_print_check_succeed
      Src: /src/mhd2/src/tests/mhdt_checks.h:218,1
    - Dst: fflush
      Src: /src/mhd2/src/tests/mhdt_checks.h:219,1
    - Dst: mhdt_mark_print_in_test_reset
      Src: /src/mhd2/src/tests/mhdt_checks.h:220,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 9
    argCount: 4
    argNames:
    - filename
    - line
    - func_name
    - description
    argTypes:
    - char*
    - long
    - char*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 225
      start: 185
    functionDepth: 1
    functionLinenumber: 185
    functionLinenumberEnd: 225
    functionName: MHDT_test_result
    functionSourceFile: /src/mhd2/src/tests/mhdt_checks.h
    functionUses: 0
    functionsReached:
    - mhdt_mark_print_in_test_reset
    - fprintf
    - mhdt_mark_print_in_test_is_set
    - mhdt_print_test_succeed
    - fflush
    - mhdt_print_check_succeed
    linkageType: ''
    returnType: int
    signature: "int MHDT_test_result (const char *filename,\n                  long
      line,\n                  const char *func_name,\n                  const char
      *description)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 2
    argNames:
    - (
    - )
    argTypes:
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 230
      start: 228
    functionDepth: 0
    functionLinenumber: 228
    functionLinenumberEnd: 230
    functionName: MHDT_TEST_RESULT
    functionSourceFile: /src/mhd2/src/tests/mhdt_checks.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: MHDT_TEST_RESULT()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - desc
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 232
      start: 230
    functionDepth: 0
    functionLinenumber: 230
    functionLinenumberEnd: 232
    functionName: MHDT_TEST_RESULT_D
    functionSourceFile: /src/mhd2/src/tests/mhdt_checks.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: MHDT_TEST_RESULT_D(desc)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: fprintf
      Src: /src/mhd2/src/tests/mhdt_checks.h:249,1
    - Dst: fflush
      Src: /src/mhd2/src/tests/mhdt_checks.h:254,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 9
    argCount: 2
    argNames:
    - exec_selfname
    - filename
    argTypes:
    - char*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 257
      start: 235
    functionDepth: 0
    functionLinenumber: 235
    functionLinenumberEnd: 257
    functionName: MHDT_final_result
    functionSourceFile: /src/mhd2/src/tests/mhdt_checks.h
    functionUses: 0
    functionsReached:
    - fprintf
    - fflush
    linkageType: ''
    returnType: int
    signature: "int MHDT_final_result (const char *exec_selfname,\n                   const
      char *filename)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - exec_selfname
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 262
      start: 260
    functionDepth: 0
    functionLinenumber: 260
    functionLinenumberEnd: 262
    functionName: MHDT_FINAL_RESULT
    functionSourceFile: /src/mhd2/src/tests/mhdt_checks.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: MHDT_FINAL_RESULT(exec_selfname)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: mhdt_print_check_succeed
      Src: /src/mhd2/src/tests/mhdt_checks.h:290,1
    - Dst: mhdt_mark_print_in_test_set
      Src: /src/mhd2/src/tests/mhdt_checks.h:293,1
    - Dst: strcmp
      Src: /src/mhd2/src/tests/mhdt_checks.h:294,1
    - Dst: fprintf
      Src: /src/mhd2/src/tests/mhdt_checks.h:295,1
    - Dst: fflush
      Src: /src/mhd2/src/tests/mhdt_checks.h:313,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 10
    argCount: 8
    argNames:
    - result
    - expected
    - check_str
    - check_str_exp
    - filename
    - line
    - func_name
    - description
    argTypes:
    - int
    - int
    - char*
    - char*
    - char*
    - long
    - char*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 318
      start: 269
    functionDepth: 1
    functionLinenumber: 269
    functionLinenumberEnd: 318
    functionName: MHDT_check_bool
    functionSourceFile: /src/mhd2/src/tests/mhdt_checks.h
    functionUses: 0
    functionsReached:
    - fprintf
    - strcmp
    - fflush
    - mhdt_print_check_succeed
    - mhdt_mark_print_in_test_set
    linkageType: ''
    returnType: int
    signature: "int MHDT_check_bool (int result,\n                 int expected,\n
      \                const char *check_str,\n                 const char *check_str_exp,\n
      \                const char *filename,\n                 long line,\n                 const
      char *func_name,\n                 const char *description)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - cond
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 325
      start: 321
    functionDepth: 0
    functionLinenumber: 321
    functionLinenumberEnd: 325
    functionName: MHDT_EXPECT_TRUE
    functionSourceFile: /src/mhd2/src/tests/mhdt_checks.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: MHDT_EXPECT_TRUE(cond)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - cond
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 329
      start: 325
    functionDepth: 0
    functionLinenumber: 325
    functionLinenumberEnd: 329
    functionName: MHDT_EXPECT_FALSE
    functionSourceFile: /src/mhd2/src/tests/mhdt_checks.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: MHDT_EXPECT_FALSE(cond)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - cond
    - ','
    - desc
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 334
      start: 330
    functionDepth: 0
    functionLinenumber: 330
    functionLinenumberEnd: 334
    functionName: MHDT_EXPECT_TRUE_D
    functionSourceFile: /src/mhd2/src/tests/mhdt_checks.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: MHDT_EXPECT_TRUE_D(cond, desc)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - cond
    - ','
    - desc
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 338
      start: 334
    functionDepth: 0
    functionLinenumber: 334
    functionLinenumberEnd: 338
    functionName: MHDT_EXPECT_FALSE_D
    functionSourceFile: /src/mhd2/src/tests/mhdt_checks.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: MHDT_EXPECT_FALSE_D(cond, desc)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: mhdt_print_check_succeed
      Src: /src/mhd2/src/tests/mhdt_checks.h:364,1
    - Dst: mhdt_mark_print_in_test_set
      Src: /src/mhd2/src/tests/mhdt_checks.h:367,1
    - Dst: strcmp
      Src: /src/mhd2/src/tests/mhdt_checks.h:368,1
    - Dst: fprintf
      Src: /src/mhd2/src/tests/mhdt_checks.h:369,1
    - Dst: fflush
      Src: /src/mhd2/src/tests/mhdt_checks.h:387,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 10
    argCount: 8
    argNames:
    - ptr
    - expected_non_null
    - check_str
    - check_str_exp
    - filename
    - line
    - func_name
    - description
    argTypes:
    - void*
    - int
    - char*
    - char*
    - char*
    - long
    - char*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 392
      start: 343
    functionDepth: 1
    functionLinenumber: 343
    functionLinenumberEnd: 392
    functionName: MHDT_check_ptr
    functionSourceFile: /src/mhd2/src/tests/mhdt_checks.h
    functionUses: 0
    functionsReached:
    - fprintf
    - strcmp
    - fflush
    - mhdt_print_check_succeed
    - mhdt_mark_print_in_test_set
    linkageType: ''
    returnType: int
    signature: "int MHDT_check_ptr (const void *ptr,\n                int expected_non_null,\n
      \               const char *check_str,\n                const char *check_str_exp,\n
      \               const char *filename,\n                long line,\n                const
      char *func_name,\n                const char *description)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - ptr
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 399
      start: 395
    functionDepth: 0
    functionLinenumber: 395
    functionLinenumberEnd: 399
    functionName: MHDT_EXPECT_PTR_NULL
    functionSourceFile: /src/mhd2/src/tests/mhdt_checks.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: MHDT_EXPECT_PTR_NULL(ptr)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - ptr
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 403
      start: 399
    functionDepth: 0
    functionLinenumber: 399
    functionLinenumberEnd: 403
    functionName: MHDT_EXPECT_PTR_NONNULL
    functionSourceFile: /src/mhd2/src/tests/mhdt_checks.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: MHDT_EXPECT_PTR_NONNULL(ptr)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - ptr
    - ','
    - desc
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 408
      start: 404
    functionDepth: 0
    functionLinenumber: 404
    functionLinenumberEnd: 408
    functionName: MHDT_EXPECT_PTR_NULL_D
    functionSourceFile: /src/mhd2/src/tests/mhdt_checks.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: MHDT_EXPECT_PTR_NULL_D(ptr, desc)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - ptr
    - ','
    - desc
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 412
      start: 408
    functionDepth: 0
    functionLinenumber: 408
    functionLinenumberEnd: 412
    functionName: MHDT_EXPECT_PTR_NONNULL_D
    functionSourceFile: /src/mhd2/src/tests/mhdt_checks.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: MHDT_EXPECT_PTR_NONNULL_D(ptr, desc)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - val
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 417
      start: 416
    functionDepth: 0
    functionLinenumber: 416
    functionLinenumberEnd: 417
    functionName: MHDT_UINT_PRI_CAST
    functionSourceFile: /src/mhd2/src/tests/mhdt_checks.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: MHDT_UINT_PRI_CAST(val)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - val
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 421
      start: 420
    functionDepth: 0
    functionLinenumber: 420
    functionLinenumberEnd: 421
    functionName: MHDT_UINT_PRI_CAST
    functionSourceFile: /src/mhd2/src/tests/mhdt_checks.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: MHDT_UINT_PRI_CAST(val)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - val
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 425
      start: 424
    functionDepth: 0
    functionLinenumber: 424
    functionLinenumberEnd: 425
    functionName: MHDT_UINT_PRI_CAST
    functionSourceFile: /src/mhd2/src/tests/mhdt_checks.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: MHDT_UINT_PRI_CAST(val)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - uiv_l
    - ','
    - uiv_r
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 613
      start: 607
    functionDepth: 0
    functionLinenumber: 607
    functionLinenumberEnd: 613
    functionName: MHDT_EXPECT_UINT_EQ_VAL
    functionSourceFile: /src/mhd2/src/tests/mhdt_checks.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: MHDT_EXPECT_UINT_EQ_VAL(uiv_l, uiv_r)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - uiv_l
    - ','
    - uiv_r
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 619
      start: 613
    functionDepth: 0
    functionLinenumber: 613
    functionLinenumberEnd: 619
    functionName: MHDT_EXPECT_UINT_LT_VAL
    functionSourceFile: /src/mhd2/src/tests/mhdt_checks.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: MHDT_EXPECT_UINT_LT_VAL(uiv_l, uiv_r)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - uiv_l
    - ','
    - uiv_r
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 625
      start: 619
    functionDepth: 0
    functionLinenumber: 619
    functionLinenumberEnd: 625
    functionName: MHDT_EXPECT_UINT_LE_VAL
    functionSourceFile: /src/mhd2/src/tests/mhdt_checks.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: MHDT_EXPECT_UINT_LE_VAL(uiv_l, uiv_r)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - uiv_l
    - ','
    - uiv_r
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 631
      start: 625
    functionDepth: 0
    functionLinenumber: 625
    functionLinenumberEnd: 631
    functionName: MHDT_EXPECT_UINT_NE_VAL
    functionSourceFile: /src/mhd2/src/tests/mhdt_checks.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: MHDT_EXPECT_UINT_NE_VAL(uiv_l, uiv_r)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - uiv_l
    - ','
    - uiv_r
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 637
      start: 631
    functionDepth: 0
    functionLinenumber: 631
    functionLinenumberEnd: 637
    functionName: MHDT_EXPECT_UINT_GE_VAL
    functionSourceFile: /src/mhd2/src/tests/mhdt_checks.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: MHDT_EXPECT_UINT_GE_VAL(uiv_l, uiv_r)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - uiv_l
    - ','
    - uiv_r
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 643
      start: 637
    functionDepth: 0
    functionLinenumber: 637
    functionLinenumberEnd: 643
    functionName: MHDT_EXPECT_UINT_GT_VAL
    functionSourceFile: /src/mhd2/src/tests/mhdt_checks.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: MHDT_EXPECT_UINT_GT_VAL(uiv_l, uiv_r)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - uiv_l
    - ','
    - uiv_r
    - ','
    - desc
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 650
      start: 644
    functionDepth: 0
    functionLinenumber: 644
    functionLinenumberEnd: 650
    functionName: MHDT_EXPECT_UINT_EQ_VAL_D
    functionSourceFile: /src/mhd2/src/tests/mhdt_checks.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: MHDT_EXPECT_UINT_EQ_VAL_D(uiv_l, uiv_r, desc)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - uiv_l
    - ','
    - uiv_r
    - ','
    - desc
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 656
      start: 650
    functionDepth: 0
    functionLinenumber: 650
    functionLinenumberEnd: 656
    functionName: MHDT_EXPECT_UINT_LT_VAL_D
    functionSourceFile: /src/mhd2/src/tests/mhdt_checks.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: MHDT_EXPECT_UINT_LT_VAL_D(uiv_l, uiv_r, desc)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - uiv_l
    - ','
    - uiv_r
    - ','
    - desc
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 662
      start: 656
    functionDepth: 0
    functionLinenumber: 656
    functionLinenumberEnd: 662
    functionName: MHDT_EXPECT_UINT_LE_VAL_D
    functionSourceFile: /src/mhd2/src/tests/mhdt_checks.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: MHDT_EXPECT_UINT_LE_VAL_D(uiv_l, uiv_r, desc)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - uiv_l
    - ','
    - uiv_r
    - ','
    - desc
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 668
      start: 662
    functionDepth: 0
    functionLinenumber: 662
    functionLinenumberEnd: 668
    functionName: MHDT_EXPECT_UINT_NE_VAL_D
    functionSourceFile: /src/mhd2/src/tests/mhdt_checks.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: MHDT_EXPECT_UINT_NE_VAL_D(uiv_l, uiv_r, desc)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - uiv_l
    - ','
    - uiv_r
    - ','
    - desc
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 674
      start: 668
    functionDepth: 0
    functionLinenumber: 668
    functionLinenumberEnd: 674
    functionName: MHDT_EXPECT_UINT_GE_VAL_D
    functionSourceFile: /src/mhd2/src/tests/mhdt_checks.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: MHDT_EXPECT_UINT_GE_VAL_D(uiv_l, uiv_r, desc)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - uiv_l
    - ','
    - uiv_r
    - ','
    - desc
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 680
      start: 674
    functionDepth: 0
    functionLinenumber: 674
    functionLinenumberEnd: 680
    functionName: MHDT_EXPECT_UINT_GT_VAL_D
    functionSourceFile: /src/mhd2/src/tests/mhdt_checks.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: MHDT_EXPECT_UINT_GT_VAL_D(uiv_l, uiv_r, desc)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - val
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 686
      start: 685
    functionDepth: 0
    functionLinenumber: 685
    functionLinenumberEnd: 686
    functionName: MHDT_INT_PRI_CAST
    functionSourceFile: /src/mhd2/src/tests/mhdt_checks.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: MHDT_INT_PRI_CAST(val)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - val
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 690
      start: 689
    functionDepth: 0
    functionLinenumber: 689
    functionLinenumberEnd: 690
    functionName: MHDT_INT_PRI_CAST
    functionSourceFile: /src/mhd2/src/tests/mhdt_checks.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: MHDT_INT_PRI_CAST(val)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - val
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 694
      start: 693
    functionDepth: 0
    functionLinenumber: 693
    functionLinenumberEnd: 694
    functionName: MHDT_INT_PRI_CAST
    functionSourceFile: /src/mhd2/src/tests/mhdt_checks.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: MHDT_INT_PRI_CAST(val)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - iv_l
    - ','
    - iv_r
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 840
      start: 835
    functionDepth: 0
    functionLinenumber: 835
    functionLinenumberEnd: 840
    functionName: MHDT_EXPECT_INT_EQ_VAL
    functionSourceFile: /src/mhd2/src/tests/mhdt_checks.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: MHDT_EXPECT_INT_EQ_VAL(iv_l, iv_r)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - iv_l
    - ','
    - iv_r
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 845
      start: 840
    functionDepth: 0
    functionLinenumber: 840
    functionLinenumberEnd: 845
    functionName: MHDT_EXPECT_INT_LT_VAL
    functionSourceFile: /src/mhd2/src/tests/mhdt_checks.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: MHDT_EXPECT_INT_LT_VAL(iv_l, iv_r)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - iv_l
    - ','
    - iv_r
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 850
      start: 845
    functionDepth: 0
    functionLinenumber: 845
    functionLinenumberEnd: 850
    functionName: MHDT_EXPECT_INT_LE_VAL
    functionSourceFile: /src/mhd2/src/tests/mhdt_checks.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: MHDT_EXPECT_INT_LE_VAL(iv_l, iv_r)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - iv_l
    - ','
    - iv_r
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 855
      start: 850
    functionDepth: 0
    functionLinenumber: 850
    functionLinenumberEnd: 855
    functionName: MHDT_EXPECT_INT_NE_VAL
    functionSourceFile: /src/mhd2/src/tests/mhdt_checks.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: MHDT_EXPECT_INT_NE_VAL(iv_l, iv_r)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - iv_l
    - ','
    - iv_r
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 860
      start: 855
    functionDepth: 0
    functionLinenumber: 855
    functionLinenumberEnd: 860
    functionName: MHDT_EXPECT_INT_GE_VAL
    functionSourceFile: /src/mhd2/src/tests/mhdt_checks.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: MHDT_EXPECT_INT_GE_VAL(iv_l, iv_r)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - iv_l
    - ','
    - iv_r
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 865
      start: 860
    functionDepth: 0
    functionLinenumber: 860
    functionLinenumberEnd: 865
    functionName: MHDT_EXPECT_INT_GT_VAL
    functionSourceFile: /src/mhd2/src/tests/mhdt_checks.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: MHDT_EXPECT_INT_GT_VAL(iv_l, iv_r)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - iv_l
    - ','
    - iv_r
    - ','
    - desc
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 871
      start: 866
    functionDepth: 0
    functionLinenumber: 866
    functionLinenumberEnd: 871
    functionName: MHDT_EXPECT_INT_EQ_VAL_D
    functionSourceFile: /src/mhd2/src/tests/mhdt_checks.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: MHDT_EXPECT_INT_EQ_VAL_D(iv_l, iv_r, desc)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - iv_l
    - ','
    - iv_r
    - ','
    - desc
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 876
      start: 871
    functionDepth: 0
    functionLinenumber: 871
    functionLinenumberEnd: 876
    functionName: MHDT_EXPECT_INT_LT_VAL_D
    functionSourceFile: /src/mhd2/src/tests/mhdt_checks.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: MHDT_EXPECT_INT_LT_VAL_D(iv_l, iv_r, desc)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - iv_l
    - ','
    - iv_r
    - ','
    - desc
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 881
      start: 876
    functionDepth: 0
    functionLinenumber: 876
    functionLinenumberEnd: 881
    functionName: MHDT_EXPECT_INT_LE_VAL_D
    functionSourceFile: /src/mhd2/src/tests/mhdt_checks.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: MHDT_EXPECT_INT_LE_VAL_D(iv_l, iv_r, desc)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - iv_l
    - ','
    - iv_r
    - ','
    - desc
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 886
      start: 881
    functionDepth: 0
    functionLinenumber: 881
    functionLinenumberEnd: 886
    functionName: MHDT_EXPECT_INT_NE_VAL_D
    functionSourceFile: /src/mhd2/src/tests/mhdt_checks.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: MHDT_EXPECT_INT_NE_VAL_D(iv_l, iv_r, desc)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - iv_l
    - ','
    - iv_r
    - ','
    - desc
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 891
      start: 886
    functionDepth: 0
    functionLinenumber: 886
    functionLinenumberEnd: 891
    functionName: MHDT_EXPECT_INT_GE_VAL_D
    functionSourceFile: /src/mhd2/src/tests/mhdt_checks.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: MHDT_EXPECT_INT_GE_VAL_D(iv_l, iv_r, desc)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - iv_l
    - ','
    - iv_r
    - ','
    - desc
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 896
      start: 891
    functionDepth: 0
    functionLinenumber: 891
    functionLinenumberEnd: 896
    functionName: MHDT_EXPECT_INT_GT_VAL_D
    functionSourceFile: /src/mhd2/src/tests/mhdt_checks.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: MHDT_EXPECT_INT_GT_VAL_D(iv_l, iv_r, desc)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: MHDT_ERR_EXIT_D
      Src: /src/mhd2/src/tests/mhdt_checks.h:919,1
    - Dst: strcmp
      Src: /src/mhd2/src/tests/mhdt_checks.h:921,1
    - Dst: mhdt_print_check_succeed
      Src: /src/mhd2/src/tests/mhdt_checks.h:923,1
    - Dst: mhdt_mark_print_in_test_set
      Src: /src/mhd2/src/tests/mhdt_checks.h:926,1
    - Dst: strcmp
      Src: /src/mhd2/src/tests/mhdt_checks.h:927,1
    - Dst: fprintf
      Src: /src/mhd2/src/tests/mhdt_checks.h:928,1
    - Dst: fflush
      Src: /src/mhd2/src/tests/mhdt_checks.h:945,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 12
    argCount: 8
    argNames:
    - result
    - expected
    - check_str
    - check_str_exp
    - filename
    - line
    - func_name
    - description
    argTypes:
    - char*
    - char*
    - char*
    - char*
    - char*
    - long
    - char*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 950
      start: 899
    functionDepth: 1
    functionLinenumber: 899
    functionLinenumberEnd: 950
    functionName: "(1) MHD_FN_PAR_CSTR_ (2) inline int\nMHDT_check_str (const char
      *result,\n                const char *expected,\n                const char
      *check_str,\n                const char *check_str_exp,\n                const
      char *filename,\n                long line,\n                const char *func_name,\n
      \               const char *description)"
    functionSourceFile: /src/mhd2/src/tests/mhdt_checks.h
    functionUses: 0
    functionsReached:
    - fprintf
    - strcmp
    - MHDT_ERR_EXIT_D
    - fflush
    - mhdt_print_check_succeed
    - mhdt_mark_print_in_test_set
    linkageType: ''
    returnType: MHD_FN_PAR_CSTR_
    signature: "MHD_FN_PAR_CSTR_ (1) MHD_FN_PAR_CSTR_ (2) inline int\nMHDT_check_str
      (const char *result,\n                const char *expected,\n                const
      char *check_str,\n                const char *check_str_exp,\n                const
      char *filename,\n                long line,\n                const char *func_name,\n
      \               const char *description)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - str
    - ','
    - expected
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 958
      start: 953
    functionDepth: 0
    functionLinenumber: 953
    functionLinenumberEnd: 958
    functionName: MHDT_EXPECT_STR_EQ
    functionSourceFile: /src/mhd2/src/tests/mhdt_checks.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: MHDT_EXPECT_STR_EQ(str, expected)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - str
    - ','
    - expected
    - ','
    - desc
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 963
      start: 958
    functionDepth: 0
    functionLinenumber: 958
    functionLinenumberEnd: 963
    functionName: MHDT_EXPECT_STR_EQ_D
    functionSourceFile: /src/mhd2/src/tests/mhdt_checks.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: MHDT_EXPECT_STR_EQ_D(str, expected, desc)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: MHDT_ERR_EXIT_D
      Src: /src/mhd2/src/tests/mhdt_checks.h:984,1
    - Dst: strlen
      Src: /src/mhd2/src/tests/mhdt_checks.h:987,1
    - Dst: memcmp
      Src: /src/mhd2/src/tests/mhdt_checks.h:988,1
    - Dst: mhdt_print_check_succeed
      Src: /src/mhd2/src/tests/mhdt_checks.h:990,1
    - Dst: mhdt_mark_print_in_test_set
      Src: /src/mhd2/src/tests/mhdt_checks.h:993,1
    - Dst: fprintf
      Src: /src/mhd2/src/tests/mhdt_checks.h:994,1
    - Dst: strlen
      Src: /src/mhd2/src/tests/mhdt_checks.h:1006,1
    - Dst: strlen
      Src: /src/mhd2/src/tests/mhdt_checks.h:1008,1
    - Dst: fflush
      Src: /src/mhd2/src/tests/mhdt_checks.h:1009,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 11
    argCount: 7
    argNames:
    - result_len
    - result
    - expected
    - filename
    - line
    - func_name
    - description
    argTypes:
    - size_t
    - char*
    - char*
    - char*
    - long
    - char*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1014
      start: 966
    functionDepth: 1
    functionLinenumber: 966
    functionLinenumberEnd: 1014
    functionName: "(3) inline int\nMHDT_check_strn_str (size_t result_len,\n                     const
      char *result,\n                     const char *expected,\n                     const
      char *filename,\n                     long line,\n                     const
      char *func_name,\n                     const char *description)"
    functionSourceFile: /src/mhd2/src/tests/mhdt_checks.h
    functionUses: 0
    functionsReached:
    - fprintf
    - MHDT_ERR_EXIT_D
    - fflush
    - mhdt_print_check_succeed
    - mhdt_mark_print_in_test_set
    - strlen
    - memcmp
    linkageType: ''
    returnType: MHD_FN_PAR_CSTR_
    signature: "MHD_FN_PAR_CSTR_ (3) inline int\nMHDT_check_strn_str (size_t result_len,\n
      \                    const char *result,\n                     const char *expected,\n
      \                    const char *filename,\n                     long line,\n
      \                    const char *func_name,\n                     const char
      *description)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 9
    argNames:
    - (
    - str_len
    - ','
    - str
    - ','
    - expected
    - ','
    - desc
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1021
      start: 1017
    functionDepth: 0
    functionLinenumber: 1017
    functionLinenumberEnd: 1021
    functionName: MHDT_EXPECT_STRN_EQ_STR_D
    functionSourceFile: /src/mhd2/src/tests/mhdt_checks.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: MHDT_EXPECT_STRN_EQ_STR_D(str_len, str, expected, desc)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: MHDT_ERR_EXIT_D
      Src: /src/mhd2/src/tests/mhdt_checks.h:1044,1
    - Dst: memcmp
      Src: /src/mhd2/src/tests/mhdt_checks.h:1049,1
    - Dst: mhdt_print_check_succeed
      Src: /src/mhd2/src/tests/mhdt_checks.h:1051,1
    - Dst: mhdt_mark_print_in_test_set
      Src: /src/mhd2/src/tests/mhdt_checks.h:1054,1
    - Dst: fprintf
      Src: /src/mhd2/src/tests/mhdt_checks.h:1055,1
    - Dst: strlen
      Src: /src/mhd2/src/tests/mhdt_checks.h:1067,1
    - Dst: strlen
      Src: /src/mhd2/src/tests/mhdt_checks.h:1069,1
    - Dst: fflush
      Src: /src/mhd2/src/tests/mhdt_checks.h:1072,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 13
    argCount: 8
    argNames:
    - result_len
    - result
    - expected_len
    - expected
    - filename
    - line
    - func_name
    - description
    argTypes:
    - size_t
    - char*
    - size_t
    - char*
    - char*
    - long
    - char*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1077
      start: 1025
    functionDepth: 1
    functionLinenumber: 1025
    functionLinenumberEnd: 1077
    functionName: MHDT_check_strn
    functionSourceFile: /src/mhd2/src/tests/mhdt_checks.h
    functionUses: 0
    functionsReached:
    - fprintf
    - MHDT_ERR_EXIT_D
    - fflush
    - mhdt_print_check_succeed
    - mhdt_mark_print_in_test_set
    - strlen
    - memcmp
    linkageType: ''
    returnType: int
    signature: "int MHDT_check_strn (size_t result_len,\n                 const char
      *result,\n                 size_t expected_len,\n                 const char
      *expected,\n                 const char *filename,\n                 long line,\n
      \                const char *func_name,\n                 const char *description)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 11
    argNames:
    - (
    - str_len
    - ','
    - str
    - ','
    - expected_len
    - ','
    - expected
    - ','
    - desc
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1084
      start: 1080
    functionDepth: 0
    functionLinenumber: 1080
    functionLinenumberEnd: 1084
    functionName: MHDT_EXPECT_STRN_EQ_D
    functionSourceFile: /src/mhd2/src/tests/mhdt_checks.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: MHDT_EXPECT_STRN_EQ_D(str_len, str, expected_len, expected, desc)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: strrchr
      Src: /src/mhd2/src/tests/mhdt_has_in_name.h:72,1
    - Dst: strrchr
      Src: /src/mhd2/src/tests/mhdt_has_in_name.h:77,1
    - Dst: strstr
      Src: /src/mhd2/src/tests/mhdt_has_in_name.h:82,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 11
    argCount: 2
    argNames:
    - prog_name
    - marker
    argTypes:
    - char*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 83
      start: 62
    functionDepth: 0
    functionLinenumber: 62
    functionLinenumberEnd: 83
    functionName: mhdt_has_in_name
    functionSourceFile: /src/mhd2/src/tests/mhdt_has_in_name.h
    functionUses: 0
    functionsReached:
    - strstr
    - strrchr
    linkageType: ''
    returnType: int
    signature: int mhdt_has_in_name (const char *prog_name, const char *marker)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: fflush
      Src: /src/mhd2/src/tests/basic/test_lib_info_version.c:56,1
    - Dst: fflush
      Src: /src/mhd2/src/tests/basic/test_lib_info_version.c:57,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 58
      start: 53
    functionDepth: 0
    functionLinenumber: 53
    functionLinenumberEnd: 58
    functionName: flush_std_all
    functionSourceFile: /src/mhd2/src/tests/basic/test_lib_info_version.c
    functionUses: 0
    functionsReached:
    - fflush
    linkageType: ''
    returnType: void
    signature: void flush_std_all (void)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 2
    argNames:
    - (
    - )
    argTypes:
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 64
      start: 61
    functionDepth: 0
    functionLinenumber: 61
    functionLinenumberEnd: 64
    functionName: ERR_PRINT_LINE
    functionSourceFile: /src/mhd2/src/tests/basic/test_lib_info_version.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: ERR_PRINT_LINE()
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: fflush
      Src: /src/mhd2/src/tests/basic/test_lib_info_version.c:74,1
    - Dst: fprintf
      Src: /src/mhd2/src/tests/basic/test_lib_info_version.c:75,1
    - Dst: flush_std_all
      Src: /src/mhd2/src/tests/basic/test_lib_info_version.c:82,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 3
    argNames:
    - code
    - line_num
    - expression
    argTypes:
    - enum MHD_StatusCode
    - unsigned long
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 84
      start: 66
    functionDepth: 1
    functionLinenumber: 66
    functionLinenumberEnd: 84
    functionName: tst_EXPECT_OK_helper
    functionSourceFile: /src/mhd2/src/tests/basic/test_lib_info_version.c
    functionUses: 0
    functionsReached:
    - flush_std_all
    - fprintf
    - fflush
    linkageType: ''
    returnType: int
    signature: "int tst_EXPECT_OK_helper (enum MHD_StatusCode code,\n                      unsigned
      long line_num,\n                      const char *expression)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - mhd_func_call
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 96
      start: 94
    functionDepth: 0
    functionLinenumber: 94
    functionLinenumberEnd: 96
    functionName: tst_EXPECT_OK
    functionSourceFile: /src/mhd2/src/tests/basic/test_lib_info_version.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: tst_EXPECT_OK(mhd_func_call)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: printf
      Src: /src/mhd2/src/tests/basic/test_lib_info_version.c:126,1
    - Dst: strcmp
      Src: /src/mhd2/src/tests/basic/test_lib_info_version.c:127,1
    - Dst: fflush
      Src: /src/mhd2/src/tests/basic/test_lib_info_version.c:129,1
    - Dst: fprintf
      Src: /src/mhd2/src/tests/basic/test_lib_info_version.c:130,1
    - Dst: printf
      Src: /src/mhd2/src/tests/basic/test_lib_info_version.c:134,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 9
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 137
      start: 123
    functionDepth: 0
    functionLinenumber: 123
    functionLinenumberEnd: 137
    functionName: test_macro1_vs_macro2_str
    functionSourceFile: /src/mhd2/src/tests/basic/test_lib_info_version.c
    functionUses: 0
    functionsReached:
    - fflush
    - printf
    - fprintf
    - strcmp
    linkageType: ''
    returnType: int
    signature: int test_macro1_vs_macro2_str (void)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: tst_EXPECT_OK
      Src: /src/mhd2/src/tests/basic/test_lib_info_version.c:146,1
    - Dst: MHD_lib_get_info_fixed
      Src: /src/mhd2/src/tests/basic/test_lib_info_version.c:146,1
    - Dst: printf
      Src: /src/mhd2/src/tests/basic/test_lib_info_version.c:151,1
    - Dst: fflush
      Src: /src/mhd2/src/tests/basic/test_lib_info_version.c:156,1
    - Dst: fprintf
      Src: /src/mhd2/src/tests/basic/test_lib_info_version.c:157,1
    - Dst: strcmp
      Src: /src/mhd2/src/tests/basic/test_lib_info_version.c:160,1
    - Dst: fflush
      Src: /src/mhd2/src/tests/basic/test_lib_info_version.c:162,1
    - Dst: fprintf
      Src: /src/mhd2/src/tests/basic/test_lib_info_version.c:163,1
    - Dst: printf
      Src: /src/mhd2/src/tests/basic/test_lib_info_version.c:167,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 16
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 170
      start: 141
    functionDepth: 1
    functionLinenumber: 141
    functionLinenumberEnd: 170
    functionName: test_macro2_vs_func_str
    functionSourceFile: /src/mhd2/src/tests/basic/test_lib_info_version.c
    functionUses: 0
    functionsReached:
    - fprintf
    - tst_EXPECT_OK
    - strcmp
    - printf
    - MHD_lib_get_info_fixed
    - fflush
    linkageType: ''
    returnType: int
    signature: int test_macro2_vs_func_str (void)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: tst_EXPECT_OK
      Src: /src/mhd2/src/tests/basic/test_lib_info_version.c:181,1
    - Dst: MHD_lib_get_info_fixed
      Src: /src/mhd2/src/tests/basic/test_lib_info_version.c:181,1
    - Dst: printf
      Src: /src/mhd2/src/tests/basic/test_lib_info_version.c:186,1
    - Dst: snprintf
      Src: /src/mhd2/src/tests/basic/test_lib_info_version.c:189,1
    - Dst: sprintf
      Src: /src/mhd2/src/tests/basic/test_lib_info_version.c:194,1
    - Dst: fflush
      Src: /src/mhd2/src/tests/basic/test_lib_info_version.c:201,1
    - Dst: fprintf
      Src: /src/mhd2/src/tests/basic/test_lib_info_version.c:202,1
    - Dst: exit
      Src: /src/mhd2/src/tests/basic/test_lib_info_version.c:203,1
    - Dst: strcmp
      Src: /src/mhd2/src/tests/basic/test_lib_info_version.c:206,1
    - Dst: fflush
      Src: /src/mhd2/src/tests/basic/test_lib_info_version.c:208,1
    - Dst: fprintf
      Src: /src/mhd2/src/tests/basic/test_lib_info_version.c:209,1
    - Dst: printf
      Src: /src/mhd2/src/tests/basic/test_lib_info_version.c:215,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 18
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 220
      start: 174
    functionDepth: 1
    functionLinenumber: 174
    functionLinenumberEnd: 220
    functionName: test_func_str_vs_macro_bin
    functionSourceFile: /src/mhd2/src/tests/basic/test_lib_info_version.c
    functionUses: 0
    functionsReached:
    - tst_EXPECT_OK
    - fprintf
    - strcmp
    - printf
    - MHD_lib_get_info_fixed
    - exit
    - sprintf
    - fflush
    - snprintf
    linkageType: ''
    returnType: int
    signature: int test_func_str_vs_macro_bin (void)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: MHD_lib_get_info_ver_num
      Src: /src/mhd2/src/tests/basic/test_lib_info_version.c:227,1
    - Dst: printf
      Src: /src/mhd2/src/tests/basic/test_lib_info_version.c:229,1
    - Dst: fflush
      Src: /src/mhd2/src/tests/basic/test_lib_info_version.c:233,1
    - Dst: fprintf
      Src: /src/mhd2/src/tests/basic/test_lib_info_version.c:234,1
    - Dst: printf
      Src: /src/mhd2/src/tests/basic/test_lib_info_version.c:238,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 9
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 241
      start: 224
    functionDepth: 1
    functionLinenumber: 224
    functionLinenumberEnd: 241
    functionName: test_macro_vs_func_bin
    functionSourceFile: /src/mhd2/src/tests/basic/test_lib_info_version.c
    functionUses: 0
    functionsReached:
    - printf
    - fprintf
    - fflush
    - MHD_lib_get_info_ver_num
    linkageType: ''
    returnType: int
    signature: int test_macro_vs_func_bin (void)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: MHD_lib_get_info_ver_num
      Src: /src/mhd2/src/tests/basic/test_lib_info_version.c:248,1
    - Dst: printf
      Src: /src/mhd2/src/tests/basic/test_lib_info_version.c:251,1
    - Dst: fflush
      Src: /src/mhd2/src/tests/basic/test_lib_info_version.c:257,1
    - Dst: fprintf
      Src: /src/mhd2/src/tests/basic/test_lib_info_version.c:258,1
    - Dst: fflush
      Src: /src/mhd2/src/tests/basic/test_lib_info_version.c:267,1
    - Dst: fprintf
      Src: /src/mhd2/src/tests/basic/test_lib_info_version.c:268,1
    - Dst: fflush
      Src: /src/mhd2/src/tests/basic/test_lib_info_version.c:277,1
    - Dst: fprintf
      Src: /src/mhd2/src/tests/basic/test_lib_info_version.c:278,1
    - Dst: fflush
      Src: /src/mhd2/src/tests/basic/test_lib_info_version.c:285,1
    - Dst: fprintf
      Src: /src/mhd2/src/tests/basic/test_lib_info_version.c:286,1
    - Dst: printf
      Src: /src/mhd2/src/tests/basic/test_lib_info_version.c:294,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 27
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 296
      start: 245
    functionDepth: 1
    functionLinenumber: 245
    functionLinenumberEnd: 296
    functionName: test_func_bin_format
    functionSourceFile: /src/mhd2/src/tests/basic/test_lib_info_version.c
    functionUses: 0
    functionsReached:
    - printf
    - fprintf
    - fflush
    - MHD_lib_get_info_ver_num
    linkageType: ''
    returnType: int
    signature: int test_func_bin_format (void)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: tst_EXPECT_OK
      Src: /src/mhd2/src/tests/basic/test_lib_info_version.c:306,1
    - Dst: MHD_lib_get_info_fixed
      Src: /src/mhd2/src/tests/basic/test_lib_info_version.c:306,1
    - Dst: printf
      Src: /src/mhd2/src/tests/basic/test_lib_info_version.c:311,1
    - Dst: strlen
      Src: /src/mhd2/src/tests/basic/test_lib_info_version.c:313,1
    - Dst: fflush
      Src: /src/mhd2/src/tests/basic/test_lib_info_version.c:317,1
    - Dst: fprintf
      Src: /src/mhd2/src/tests/basic/test_lib_info_version.c:318,1
    - Dst: printf
      Src: /src/mhd2/src/tests/basic/test_lib_info_version.c:325,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 12
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 330
      start: 300
    functionDepth: 1
    functionLinenumber: 300
    functionLinenumberEnd: 330
    functionName: test_func_str_format
    functionSourceFile: /src/mhd2/src/tests/basic/test_lib_info_version.c
    functionUses: 0
    functionsReached:
    - tst_EXPECT_OK
    - fprintf
    - printf
    - MHD_lib_get_info_fixed
    - fflush
    - strlen
    linkageType: ''
    returnType: int
    signature: int test_func_str_format (void)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: test_macro1_vs_macro2_str
      Src: /src/mhd2/src/tests/basic/test_lib_info_version.c:341,1
    - Dst: flush_std_all
      Src: /src/mhd2/src/tests/basic/test_lib_info_version.c:342,1
    - Dst: test_macro2_vs_func_str
      Src: /src/mhd2/src/tests/basic/test_lib_info_version.c:343,1
    - Dst: flush_std_all
      Src: /src/mhd2/src/tests/basic/test_lib_info_version.c:344,1
    - Dst: test_func_str_format
      Src: /src/mhd2/src/tests/basic/test_lib_info_version.c:345,1
    - Dst: flush_std_all
      Src: /src/mhd2/src/tests/basic/test_lib_info_version.c:346,1
    - Dst: test_func_str_vs_macro_bin
      Src: /src/mhd2/src/tests/basic/test_lib_info_version.c:347,1
    - Dst: flush_std_all
      Src: /src/mhd2/src/tests/basic/test_lib_info_version.c:348,1
    - Dst: test_macro_vs_func_bin
      Src: /src/mhd2/src/tests/basic/test_lib_info_version.c:349,1
    - Dst: flush_std_all
      Src: /src/mhd2/src/tests/basic/test_lib_info_version.c:350,1
    - Dst: test_func_bin_format
      Src: /src/mhd2/src/tests/basic/test_lib_info_version.c:351,1
    - Dst: flush_std_all
      Src: /src/mhd2/src/tests/basic/test_lib_info_version.c:352,1
    - Dst: fflush
      Src: /src/mhd2/src/tests/basic/test_lib_info_version.c:356,1
    - Dst: fprintf
      Src: /src/mhd2/src/tests/basic/test_lib_info_version.c:357,1
    - Dst: printf
      Src: /src/mhd2/src/tests/basic/test_lib_info_version.c:360,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 22
    argCount: 2
    argNames:
    - argc
    - argv
    argTypes:
    - int
    - char*[]
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 362
      start: 333
    functionDepth: 2
    functionLinenumber: 333
    functionLinenumberEnd: 362
    functionName: main
    functionSourceFile: /src/mhd2/src/tests/basic/test_lib_info_version.c
    functionUses: 0
    functionsReached:
    - flush_std_all
    - fprintf
    - test_macro1_vs_macro2_str
    - printf
    - test_macro_vs_func_bin
    - test_func_bin_format
    - test_func_str_vs_macro_bin
    - test_func_str_format
    - fflush
    - test_macro2_vs_func_str
    linkageType: ''
    returnType: int
    signature: int main (int argc, char *argv[])
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 2
    argNames:
    - (
    - )
    argTypes:
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 55
      start: 52
    functionDepth: 0
    functionLinenumber: 52
    functionLinenumberEnd: 55
    functionName: ERR_PRINT_LINE
    functionSourceFile: /src/mhd2/src/tests/basic/test_basic_checks.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: ERR_PRINT_LINE()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - sc
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 66
      start: 61
    functionDepth: 0
    functionLinenumber: 61
    functionLinenumberEnd: 66
    functionName: tst_EXPECT_OK
    functionSourceFile: /src/mhd2/src/tests/basic/test_basic_checks.c
    functionUses: 3
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: tst_EXPECT_OK(sc)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - sc
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 73
      start: 67
    functionDepth: 0
    functionLinenumber: 67
    functionLinenumberEnd: 73
    functionName: tst_EXPECT_OK
    functionSourceFile: /src/mhd2/src/tests/basic/test_basic_checks.c
    functionUses: 3
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: tst_EXPECT_OK(sc)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - sc
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 85
      start: 80
    functionDepth: 0
    functionLinenumber: 80
    functionLinenumberEnd: 85
    functionName: tst_EXPECT_FAIL
    functionSourceFile: /src/mhd2/src/tests/basic/test_basic_checks.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: tst_EXPECT_FAIL(sc)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - sc
    - ','
    - expect_ok
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 94
      start: 92
    functionDepth: 0
    functionLinenumber: 92
    functionLinenumberEnd: 94
    functionName: tst_EXPECT_CHECK
    functionSourceFile: /src/mhd2/src/tests/basic/test_basic_checks.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: tst_EXPECT_CHECK(sc, expect_ok)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: fprintf
      Src: /src/mhd2/src/tests/basic/test_basic_checks.c:134,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 9
    argCount: 5
    argNames:
    - cls
    - request
    - path
    - method
    - upload_size
    argTypes:
    - void*
    - struct MHD_Request*
    - struct MHD_String*
    - enum MHD_HTTP_Method
    - uint_fast64_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 137
      start: 122
    functionDepth: 0
    functionLinenumber: 122
    functionLinenumberEnd: 137
    functionName: my_req_process
    functionSourceFile: /src/mhd2/src/tests/basic/test_basic_checks.c
    functionUses: 0
    functionsReached:
    - fprintf
    linkageType: ''
    returnType: struct MHD_Action
    signature: "struct MHD_Action *\nmy_req_process (void *cls,\n                struct
      MHD_Request *request,\n                const struct MHD_String *path,\n                enum
      MHD_HTTP_Method method,\n                uint_fast64_t upload_size)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: MHD_daemon_create
      Src: /src/mhd2/src/tests/basic/test_basic_checks.c:145,1
    - Dst: ERR_PRINT_LINE
      Src: /src/mhd2/src/tests/basic/test_basic_checks.c:149,1
    - Dst: fprintf
      Src: /src/mhd2/src/tests/basic/test_basic_checks.c:150,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 9
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 154
      start: 140
    functionDepth: 1
    functionLinenumber: 140
    functionLinenumberEnd: 154
    functionName: test_daemon_create
    functionSourceFile: /src/mhd2/src/tests/basic/test_basic_checks.c
    functionUses: 0
    functionsReached:
    - ERR_PRINT_LINE
    - fprintf
    - MHD_daemon_create
    linkageType: ''
    returnType: struct MHD_Daemon
    signature: 'struct MHD_Daemon *

      test_daemon_create (void)'
  - BBCount: 20
    BranchProfiles: []
    Callsites:
    - Dst: MHD_DAEMON_SET_OPTIONS
      Src: /src/mhd2/src/tests/basic/test_basic_checks.c:166,1
    - Dst: MHD_D_OPTION_BIND_PORT
      Src: /src/mhd2/src/tests/basic/test_basic_checks.c:167,1
    - Dst: tst_EXPECT_CHECK
      Src: /src/mhd2/src/tests/basic/test_basic_checks.c:168,1
    - Dst: MHD_DAEMON_SET_OPTIONS
      Src: /src/mhd2/src/tests/basic/test_basic_checks.c:174,1
    - Dst: MHD_D_OPTION_BIND_PORT
      Src: /src/mhd2/src/tests/basic/test_basic_checks.c:175,1
    - Dst: tst_EXPECT_CHECK
      Src: /src/mhd2/src/tests/basic/test_basic_checks.c:176,1
    - Dst: MHD_DAEMON_SET_OPTIONS
      Src: /src/mhd2/src/tests/basic/test_basic_checks.c:182,1
    - Dst: MHD_D_OPTION_BIND_PORT
      Src: /src/mhd2/src/tests/basic/test_basic_checks.c:183,1
    - Dst: tst_EXPECT_CHECK
      Src: /src/mhd2/src/tests/basic/test_basic_checks.c:184,1
    - Dst: MHD_DAEMON_SET_OPTIONS
      Src: /src/mhd2/src/tests/basic/test_basic_checks.c:190,1
    - Dst: MHD_D_OPTION_POLL_SYSCALL
      Src: /src/mhd2/src/tests/basic/test_basic_checks.c:191,1
    - Dst: tst_EXPECT_CHECK
      Src: /src/mhd2/src/tests/basic/test_basic_checks.c:192,1
    - Dst: MHD_DAEMON_SET_OPTIONS
      Src: /src/mhd2/src/tests/basic/test_basic_checks.c:198,1
    - Dst: MHD_D_OPTION_POLL_SYSCALL
      Src: /src/mhd2/src/tests/basic/test_basic_checks.c:199,1
    - Dst: tst_EXPECT_CHECK
      Src: /src/mhd2/src/tests/basic/test_basic_checks.c:200,1
    - Dst: MHD_DAEMON_SET_OPTIONS
      Src: /src/mhd2/src/tests/basic/test_basic_checks.c:206,1
    - Dst: MHD_D_OPTION_POLL_SYSCALL
      Src: /src/mhd2/src/tests/basic/test_basic_checks.c:207,1
    - Dst: tst_EXPECT_CHECK
      Src: /src/mhd2/src/tests/basic/test_basic_checks.c:208,1
    - Dst: MHD_DAEMON_SET_OPTIONS
      Src: /src/mhd2/src/tests/basic/test_basic_checks.c:214,1
    - Dst: MHD_D_OPTION_WORK_MODE
      Src: /src/mhd2/src/tests/basic/test_basic_checks.c:215,1
    - Dst: MHD_WM_OPTION_WORKER_THREADS
      Src: /src/mhd2/src/tests/basic/test_basic_checks.c:215,1
    - Dst: tst_EXPECT_CHECK
      Src: /src/mhd2/src/tests/basic/test_basic_checks.c:216,1
    - Dst: MHD_DAEMON_SET_OPTIONS
      Src: /src/mhd2/src/tests/basic/test_basic_checks.c:222,1
    - Dst: MHD_D_OPTION_WORK_MODE
      Src: /src/mhd2/src/tests/basic/test_basic_checks.c:223,1
    - Dst: MHD_WM_OPTION_THREAD_PER_CONNECTION
      Src: /src/mhd2/src/tests/basic/test_basic_checks.c:223,1
    - Dst: tst_EXPECT_CHECK
      Src: /src/mhd2/src/tests/basic/test_basic_checks.c:224,1
    - Dst: MHD_DAEMON_SET_OPTIONS
      Src: /src/mhd2/src/tests/basic/test_basic_checks.c:230,1
    - Dst: MHD_D_OPTION_WORK_MODE
      Src: /src/mhd2/src/tests/basic/test_basic_checks.c:231,1
    - Dst: MHD_WM_OPTION_WORKER_THREADS
      Src: /src/mhd2/src/tests/basic/test_basic_checks.c:231,1
    - Dst: tst_EXPECT_CHECK
      Src: /src/mhd2/src/tests/basic/test_basic_checks.c:232,1
    CyclomaticComplexity: 19
    EdgeCount: 19
    ICount: 49
    argCount: 2
    argNames:
    - d
    - should_succeed
    argTypes:
    - struct MHD_Daemon*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 240
      start: 157
    functionDepth: 1
    functionLinenumber: 157
    functionLinenumberEnd: 240
    functionName: test_daemon_setup
    functionSourceFile: /src/mhd2/src/tests/basic/test_basic_checks.c
    functionUses: 0
    functionsReached:
    - MHD_D_OPTION_POLL_SYSCALL
    - MHD_D_OPTION_WORK_MODE
    - MHD_WM_OPTION_THREAD_PER_CONNECTION
    - tst_EXPECT_CHECK
    - MHD_D_OPTION_BIND_PORT
    - MHD_DAEMON_SET_OPTIONS
    - MHD_WM_OPTION_WORKER_THREADS
    linkageType: ''
    returnType: int
    signature: "int test_daemon_setup (struct MHD_Daemon *d,\n                   int
      should_succeed)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: MHD_daemon_start
      Src: /src/mhd2/src/tests/basic/test_basic_checks.c:249,1
    - Dst: tst_EXPECT_CHECK
      Src: /src/mhd2/src/tests/basic/test_basic_checks.c:250,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 2
    argNames:
    - d
    - should_succeed
    argTypes:
    - struct MHD_Daemon*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 257
      start: 243
    functionDepth: 1
    functionLinenumber: 243
    functionLinenumberEnd: 257
    functionName: test_daemon_start
    functionSourceFile: /src/mhd2/src/tests/basic/test_basic_checks.c
    functionUses: 0
    functionsReached:
    - MHD_daemon_start
    - tst_EXPECT_CHECK
    linkageType: ''
    returnType: int
    signature: "int test_daemon_start (struct MHD_Daemon *d,\n                   int
      should_succeed)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: test_daemon_create
      Src: /src/mhd2/src/tests/basic/test_basic_checks.c:268,1
    - Dst: test_daemon_setup
      Src: /src/mhd2/src/tests/basic/test_basic_checks.c:272,1
    - Dst: test_daemon_start
      Src: /src/mhd2/src/tests/basic/test_basic_checks.c:274,1
    - Dst: test_daemon_setup
      Src: /src/mhd2/src/tests/basic/test_basic_checks.c:276,1
    - Dst: test_daemon_start
      Src: /src/mhd2/src/tests/basic/test_basic_checks.c:279,1
    - Dst: MHD_daemon_destroy
      Src: /src/mhd2/src/tests/basic/test_basic_checks.c:281,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 13
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 284
      start: 260
    functionDepth: 2
    functionLinenumber: 260
    functionLinenumberEnd: 284
    functionName: test_simple
    functionSourceFile: /src/mhd2/src/tests/basic/test_basic_checks.c
    functionUses: 0
    functionsReached:
    - test_daemon_start
    - MHD_daemon_destroy
    - test_daemon_create
    - test_daemon_setup
    linkageType: ''
    returnType: int
    signature: int test_simple (void)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: mhdt_has_in_name
      Src: /src/mhd2/src/tests/basic/test_basic_checks.c:296,1
    - Dst: mhdt_has_in_name
      Src: /src/mhd2/src/tests/basic/test_basic_checks.c:299,1
    - Dst: mhdt_has_in_name
      Src: /src/mhd2/src/tests/basic/test_basic_checks.c:302,1
    - Dst: mhdt_has_in_name
      Src: /src/mhd2/src/tests/basic/test_basic_checks.c:305,1
    - Dst: mhdt_has_in_name
      Src: /src/mhd2/src/tests/basic/test_basic_checks.c:308,1
    - Dst: mhdt_has_in_name
      Src: /src/mhd2/src/tests/basic/test_basic_checks.c:310,1
    - Dst: mhdt_has_in_name
      Src: /src/mhd2/src/tests/basic/test_basic_checks.c:312,1
    - Dst: mhdt_has_in_name
      Src: /src/mhd2/src/tests/basic/test_basic_checks.c:314,1
    - Dst: mhdt_has_in_name
      Src: /src/mhd2/src/tests/basic/test_basic_checks.c:316,1
    - Dst: mhdt_has_in_name
      Src: /src/mhd2/src/tests/basic/test_basic_checks.c:318,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 16
    argCount: 1
    argNames:
    - prog_name
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 321
      start: 293
    functionDepth: 1
    functionLinenumber: 293
    functionLinenumberEnd: 321
    functionName: init_test
    functionSourceFile: /src/mhd2/src/tests/basic/test_basic_checks.c
    functionUses: 0
    functionsReached:
    - mhdt_has_in_name
    linkageType: ''
    returnType: int
    signature: int init_test (const char *prog_name)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: init_test
      Src: /src/mhd2/src/tests/basic/test_basic_checks.c:330,1
    - Dst: fprintf
      Src: /src/mhd2/src/tests/basic/test_basic_checks.c:332,1
    - Dst: test_simple
      Src: /src/mhd2/src/tests/basic/test_basic_checks.c:336,1
    - Dst: fprintf
      Src: /src/mhd2/src/tests/basic/test_basic_checks.c:341,1
    - Dst: printf
      Src: /src/mhd2/src/tests/basic/test_basic_checks.c:345,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 14
    argCount: 2
    argNames:
    - argc
    - argv
    argTypes:
    - int
    - char*[]
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 347
      start: 324
    functionDepth: 3
    functionLinenumber: 324
    functionLinenumberEnd: 347
    functionName: main
    functionSourceFile: /src/mhd2/src/tests/basic/test_basic_checks.c
    functionUses: 0
    functionsReached:
    - test_simple
    - printf
    - fprintf
    - init_test
    linkageType: ''
    returnType: int
    signature: int main (int argc, char *argv[])
  - 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_VERSION_BITS
    functionSourceFile: /src/mhd2/src/tests/client_server/libtest_convenience_server_reply.c
    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: 63
      start: 61
    functionDepth: 0
    functionLinenumber: 61
    functionLinenumberEnd: 63
    functionName: CURL_AT_LEAST_VERSION
    functionSourceFile: /src/mhd2/src/tests/client_server/libtest_convenience_server_reply.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: CURL_AT_LEAST_VERSION(x, y, z)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: MHD_action_from_response
      Src: /src/mhd2/src/tests/client_server/libtest_convenience_server_reply.c:79,1
    - Dst: MHD_response_from_buffer_static
      Src: /src/mhd2/src/tests/client_server/libtest_convenience_server_reply.c:81,1
    - Dst: strlen
      Src: /src/mhd2/src/tests/client_server/libtest_convenience_server_reply.c:82,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 5
    argNames:
    - cls
    - MHD_RESTRICT
    - MHD_RESTRICT
    - method
    - upload_size
    argTypes:
    - void*
    - struct MHD_Request*
    - struct MHD_String*
    - enum MHD_HTTP_Method
    - uint_fast64_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 84
      start: 65
    functionDepth: 1
    functionLinenumber: 65
    functionLinenumberEnd: 84
    functionName: MHDT_server_reply_text
    functionSourceFile: /src/mhd2/src/tests/client_server/libtest_convenience_server_reply.c
    functionUses: 0
    functionsReached:
    - MHD_response_from_buffer_static
    - strlen
    - MHD_action_from_response
    linkageType: ''
    returnType: struct MHD_Action
    signature: "struct MHD_Action *\nMHDT_server_reply_text (\n  void *cls,\n  struct
      MHD_Request *MHD_RESTRICT request,\n  const struct MHD_String *MHD_RESTRICT
      path,\n  enum MHD_HTTP_Method method,\n  uint_fast64_t upload_size)"
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: strlen
      Src: /src/mhd2/src/tests/client_server/libtest_convenience_server_reply.c:97,1
    - Dst: MHDT_create_tmpfile
      Src: /src/mhd2/src/tests/client_server/libtest_convenience_server_reply.c:104,1
    - Dst: fprintf
      Src: /src/mhd2/src/tests/client_server/libtest_convenience_server_reply.c:107,1
    - Dst: fflush
      Src: /src/mhd2/src/tests/client_server/libtest_convenience_server_reply.c:109,1
    - Dst: exit
      Src: /src/mhd2/src/tests/client_server/libtest_convenience_server_reply.c:110,1
    - Dst: write
      Src: /src/mhd2/src/tests/client_server/libtest_convenience_server_reply.c:115,1
    - Dst: fprintf
      Src: /src/mhd2/src/tests/client_server/libtest_convenience_server_reply.c:130,1
    - Dst: strerror
      Src: /src/mhd2/src/tests/client_server/libtest_convenience_server_reply.c:132,1
    - Dst: close
      Src: /src/mhd2/src/tests/client_server/libtest_convenience_server_reply.c:133,1
    - Dst: fflush
      Src: /src/mhd2/src/tests/client_server/libtest_convenience_server_reply.c:134,1
    - Dst: exit
      Src: /src/mhd2/src/tests/client_server/libtest_convenience_server_reply.c:135,1
    - Dst: MHD_action_from_response
      Src: /src/mhd2/src/tests/client_server/libtest_convenience_server_reply.c:137,1
    - Dst: MHD_response_from_fd
      Src: /src/mhd2/src/tests/client_server/libtest_convenience_server_reply.c:139,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 27
    argCount: 5
    argNames:
    - cls
    - MHD_RESTRICT
    - MHD_RESTRICT
    - method
    - upload_size
    argTypes:
    - void*
    - struct MHD_Request*
    - struct MHD_String*
    - enum MHD_HTTP_Method
    - uint_fast64_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 143
      start: 87
    functionDepth: 1
    functionLinenumber: 87
    functionLinenumberEnd: 143
    functionName: MHDT_server_reply_file
    functionSourceFile: /src/mhd2/src/tests/client_server/libtest_convenience_server_reply.c
    functionUses: 0
    functionsReached:
    - close
    - fprintf
    - MHDT_create_tmpfile
    - write
    - MHD_action_from_response
    - MHD_response_from_fd
    - exit
    - fflush
    - strlen
    - strerror
    linkageType: ''
    returnType: struct MHD_Action
    signature: "struct MHD_Action *\nMHDT_server_reply_file (\n  void *cls,\n  struct
      MHD_Request *MHD_RESTRICT request,\n  const struct MHD_String *MHD_RESTRICT
      path,\n  enum MHD_HTTP_Method method,\n  uint_fast64_t upload_size)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: strlen
      Src: /src/mhd2/src/tests/client_server/libtest_convenience_server_reply.c:155,1
    - Dst: strchr
      Src: /src/mhd2/src/tests/client_server/libtest_convenience_server_reply.c:157,1
    - Dst: memcpy
      Src: /src/mhd2/src/tests/client_server/libtest_convenience_server_reply.c:165,1
    - Dst: MHD_response_from_empty
      Src: /src/mhd2/src/tests/client_server/libtest_convenience_server_reply.c:171,1
    - Dst: MHD_response_add_header
      Src: /src/mhd2/src/tests/client_server/libtest_convenience_server_reply.c:173,1
    - Dst: MHD_response_destroy
      Src: /src/mhd2/src/tests/client_server/libtest_convenience_server_reply.c:177,1
    - Dst: MHD_action_abort_request
      Src: /src/mhd2/src/tests/client_server/libtest_convenience_server_reply.c:178,1
    - Dst: MHD_action_from_response
      Src: /src/mhd2/src/tests/client_server/libtest_convenience_server_reply.c:180,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 13
    argCount: 5
    argNames:
    - cls
    - MHD_RESTRICT
    - MHD_RESTRICT
    - method
    - upload_size
    argTypes:
    - void*
    - struct MHD_Request*
    - struct MHD_String*
    - enum MHD_HTTP_Method
    - uint_fast64_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 183
      start: 146
    functionDepth: 1
    functionLinenumber: 146
    functionLinenumberEnd: 183
    functionName: MHDT_server_reply_with_header
    functionSourceFile: /src/mhd2/src/tests/client_server/libtest_convenience_server_reply.c
    functionUses: 0
    functionsReached:
    - MHD_response_destroy
    - strchr
    - MHD_action_from_response
    - MHD_response_from_empty
    - MHD_response_add_header
    - MHD_action_abort_request
    - strlen
    - memcpy
    linkageType: ''
    returnType: struct MHD_Action
    signature: "struct MHD_Action *\nMHDT_server_reply_with_header (\n  void *cls,\n
      \ struct MHD_Request *MHD_RESTRICT request,\n  const struct MHD_String *MHD_RESTRICT
      path,\n  enum MHD_HTTP_Method method,\n  uint_fast64_t upload_size)"
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: strlen
      Src: /src/mhd2/src/tests/client_server/libtest_convenience_server_reply.c:195,1
    - Dst: memcpy
      Src: /src/mhd2/src/tests/client_server/libtest_convenience_server_reply.c:202,1
    - Dst: strtok
      Src: /src/mhd2/src/tests/client_server/libtest_convenience_server_reply.c:205,1
    - Dst: strtok
      Src: /src/mhd2/src/tests/client_server/libtest_convenience_server_reply.c:207,1
    - Dst: strchr
      Src: /src/mhd2/src/tests/client_server/libtest_convenience_server_reply.c:213,1
    - Dst: strlen
      Src: /src/mhd2/src/tests/client_server/libtest_convenience_server_reply.c:216,1
    - Dst: memcpy
      Src: /src/mhd2/src/tests/client_server/libtest_convenience_server_reply.c:227,1
    - Dst: MHD_request_get_value
      Src: /src/mhd2/src/tests/client_server/libtest_convenience_server_reply.c:232,1
    - Dst: fprintf
      Src: /src/mhd2/src/tests/client_server/libtest_convenience_server_reply.c:237,1
    - Dst: MHD_action_abort_request
      Src: /src/mhd2/src/tests/client_server/libtest_convenience_server_reply.c:240,1
    - Dst: fprintf
      Src: /src/mhd2/src/tests/client_server/libtest_convenience_server_reply.c:246,1
    - Dst: MHD_action_abort_request
      Src: /src/mhd2/src/tests/client_server/libtest_convenience_server_reply.c:250,1
    - Dst: fprintf
      Src: /src/mhd2/src/tests/client_server/libtest_convenience_server_reply.c:257,1
    - Dst: MHD_action_abort_request
      Src: /src/mhd2/src/tests/client_server/libtest_convenience_server_reply.c:261,1
    - Dst: strcmp
      Src: /src/mhd2/src/tests/client_server/libtest_convenience_server_reply.c:263,1
    - Dst: fprintf
      Src: /src/mhd2/src/tests/client_server/libtest_convenience_server_reply.c:266,1
    - Dst: MHD_action_abort_request
      Src: /src/mhd2/src/tests/client_server/libtest_convenience_server_reply.c:271,1
    - Dst: MHD_action_from_response
      Src: /src/mhd2/src/tests/client_server/libtest_convenience_server_reply.c:277,1
    - Dst: MHD_response_from_empty
      Src: /src/mhd2/src/tests/client_server/libtest_convenience_server_reply.c:279,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 37
    argCount: 5
    argNames:
    - cls
    - MHD_RESTRICT
    - MHD_RESTRICT
    - method
    - upload_size
    argTypes:
    - void*
    - struct MHD_Request*
    - struct MHD_String*
    - enum MHD_HTTP_Method
    - uint_fast64_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 281
      start: 186
    functionDepth: 1
    functionLinenumber: 186
    functionLinenumberEnd: 281
    functionName: MHDT_server_reply_check_query
    functionSourceFile: /src/mhd2/src/tests/client_server/libtest_convenience_server_reply.c
    functionUses: 0
    functionsReached:
    - fprintf
    - strcmp
    - strtok
    - strchr
    - MHD_action_from_response
    - MHD_response_from_empty
    - MHD_request_get_value
    - MHD_action_abort_request
    - strlen
    - memcpy
    linkageType: ''
    returnType: struct MHD_Action
    signature: "struct MHD_Action *\nMHDT_server_reply_check_query (\n  void *cls,\n
      \ struct MHD_Request *MHD_RESTRICT request,\n  const struct MHD_String *MHD_RESTRICT
      path,\n  enum MHD_HTTP_Method method,\n  uint_fast64_t upload_size)"
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: strlen
      Src: /src/mhd2/src/tests/client_server/libtest_convenience_server_reply.c:293,1
    - Dst: strchr
      Src: /src/mhd2/src/tests/client_server/libtest_convenience_server_reply.c:295,1
    - Dst: memcpy
      Src: /src/mhd2/src/tests/client_server/libtest_convenience_server_reply.c:303,1
    - Dst: MHD_request_get_value
      Src: /src/mhd2/src/tests/client_server/libtest_convenience_server_reply.c:316,1
    - Dst: fprintf
      Src: /src/mhd2/src/tests/client_server/libtest_convenience_server_reply.c:321,1
    - Dst: MHD_action_abort_request
      Src: /src/mhd2/src/tests/client_server/libtest_convenience_server_reply.c:324,1
    - Dst: fprintf
      Src: /src/mhd2/src/tests/client_server/libtest_convenience_server_reply.c:330,1
    - Dst: MHD_action_abort_request
      Src: /src/mhd2/src/tests/client_server/libtest_convenience_server_reply.c:334,1
    - Dst: fprintf
      Src: /src/mhd2/src/tests/client_server/libtest_convenience_server_reply.c:341,1
    - Dst: MHD_action_abort_request
      Src: /src/mhd2/src/tests/client_server/libtest_convenience_server_reply.c:344,1
    - Dst: strcmp
      Src: /src/mhd2/src/tests/client_server/libtest_convenience_server_reply.c:346,1
    - Dst: fprintf
      Src: /src/mhd2/src/tests/client_server/libtest_convenience_server_reply.c:349,1
    - Dst: MHD_action_abort_request
      Src: /src/mhd2/src/tests/client_server/libtest_convenience_server_reply.c:354,1
    - Dst: MHD_action_from_response
      Src: /src/mhd2/src/tests/client_server/libtest_convenience_server_reply.c:357,1
    - Dst: MHD_response_from_empty
      Src: /src/mhd2/src/tests/client_server/libtest_convenience_server_reply.c:359,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 31
    argCount: 5
    argNames:
    - cls
    - MHD_RESTRICT
    - MHD_RESTRICT
    - method
    - upload_size
    argTypes:
    - void*
    - struct MHD_Request*
    - struct MHD_String*
    - enum MHD_HTTP_Method
    - uint_fast64_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 361
      start: 284
    functionDepth: 1
    functionLinenumber: 284
    functionLinenumberEnd: 361
    functionName: MHDT_server_reply_check_header
    functionSourceFile: /src/mhd2/src/tests/client_server/libtest_convenience_server_reply.c
    functionUses: 0
    functionsReached:
    - fprintf
    - strcmp
    - strchr
    - MHD_action_from_response
    - MHD_response_from_empty
    - MHD_request_get_value
    - MHD_action_abort_request
    - strlen
    - memcpy
    linkageType: ''
    returnType: struct MHD_Action
    signature: "struct MHD_Action *\nMHDT_server_reply_check_header (\n  void *cls,\n
      \ struct MHD_Request *MHD_RESTRICT request,\n  const struct MHD_String *MHD_RESTRICT
      path,\n  enum MHD_HTTP_Method method,\n  uint_fast64_t upload_size)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: strlen
      Src: /src/mhd2/src/tests/client_server/libtest_convenience_server_reply.c:392,1
    - Dst: fprintf
      Src: /src/mhd2/src/tests/client_server/libtest_convenience_server_reply.c:396,1
    - Dst: MHD_upload_action_abort_request
      Src: /src/mhd2/src/tests/client_server/libtest_convenience_server_reply.c:398,1
    - Dst: memcmp
      Src: /src/mhd2/src/tests/client_server/libtest_convenience_server_reply.c:400,1
    - Dst: fprintf
      Src: /src/mhd2/src/tests/client_server/libtest_convenience_server_reply.c:404,1
    - Dst: MHD_upload_action_abort_request
      Src: /src/mhd2/src/tests/client_server/libtest_convenience_server_reply.c:406,1
    - Dst: MHD_upload_action_from_response
      Src: /src/mhd2/src/tests/client_server/libtest_convenience_server_reply.c:409,1
    - Dst: MHD_response_from_empty
      Src: /src/mhd2/src/tests/client_server/libtest_convenience_server_reply.c:411,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 4
    argNames:
    - cls
    - request
    - content_data_size
    - content_data
    argTypes:
    - void*
    - struct MHD_Request*
    - size_t
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 413
      start: 385
    functionDepth: 1
    functionLinenumber: 385
    functionLinenumberEnd: 413
    functionName: check_upload_cb
    functionSourceFile: /src/mhd2/src/tests/client_server/libtest_convenience_server_reply.c
    functionUses: 0
    functionsReached:
    - fprintf
    - MHD_upload_action_from_response
    - MHD_upload_action_abort_request
    - MHD_response_from_empty
    - strlen
    - memcmp
    linkageType: ''
    returnType: struct MHD_UploadAction
    signature: "struct MHD_UploadAction *\ncheck_upload_cb (void *cls,\n                 struct
      MHD_Request *request,\n                 size_t content_data_size,\n                 void
      *content_data)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: strlen
      Src: /src/mhd2/src/tests/client_server/libtest_convenience_server_reply.c:425,1
    - Dst: MHD_action_process_upload_full
      Src: /src/mhd2/src/tests/client_server/libtest_convenience_server_reply.c:431,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 5
    argNames:
    - cls
    - MHD_RESTRICT
    - MHD_RESTRICT
    - method
    - upload_size
    argTypes:
    - void*
    - struct MHD_Request*
    - struct MHD_String*
    - enum MHD_HTTP_Method
    - uint_fast64_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 435
      start: 416
    functionDepth: 1
    functionLinenumber: 416
    functionLinenumberEnd: 435
    functionName: MHDT_server_reply_check_upload
    functionSourceFile: /src/mhd2/src/tests/client_server/libtest_convenience_server_reply.c
    functionUses: 0
    functionsReached:
    - MHD_action_process_upload_full
    - strlen
    linkageType: ''
    returnType: struct MHD_Action
    signature: "struct MHD_Action *\nMHDT_server_reply_check_upload (\n  void *cls,\n
      \ struct MHD_Request *MHD_RESTRICT request,\n  const struct MHD_String *MHD_RESTRICT
      path,\n  enum MHD_HTTP_Method method,\n  uint_fast64_t upload_size)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: strlen
      Src: /src/mhd2/src/tests/client_server/libtest_convenience_server_reply.c:476,1
    - Dst: strchr
      Src: /src/mhd2/src/tests/client_server/libtest_convenience_server_reply.c:477,1
    - Dst: MHD_DCC_action_finish
      Src: /src/mhd2/src/tests/client_server/libtest_convenience_server_reply.c:482,1
    - Dst: memcpy
      Src: /src/mhd2/src/tests/client_server/libtest_convenience_server_reply.c:487,1
    - Dst: MHD_DCC_action_continue
      Src: /src/mhd2/src/tests/client_server/libtest_convenience_server_reply.c:491,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 11
    argCount: 5
    argNames:
    - cls
    - ctx
    - pos
    - buf
    - max
    argTypes:
    - void*
    - struct MHD_DynamicContentCreatorContext*
    - uint_fast64_t
    - void*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 493
      start: 468
    functionDepth: 1
    functionLinenumber: 468
    functionLinenumberEnd: 493
    functionName: chunk_return
    functionSourceFile: /src/mhd2/src/tests/client_server/libtest_convenience_server_reply.c
    functionUses: 0
    functionsReached:
    - MHD_DCC_action_finish
    - strchr
    - MHD_DCC_action_continue
    - strlen
    - memcpy
    linkageType: ''
    returnType: struct MHD_DynamicContentCreatorAction
    signature: "struct MHD_DynamicContentCreatorAction *\nchunk_return (void *cls,\n
      \             struct MHD_DynamicContentCreatorContext *ctx,\n              uint_fast64_t
      pos,\n              void *buf,\n              size_t max)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: malloc
      Src: /src/mhd2/src/tests/client_server/libtest_convenience_server_reply.c:511,1
    - Dst: MHD_action_from_response
      Src: /src/mhd2/src/tests/client_server/libtest_convenience_server_reply.c:516,1
    - Dst: MHD_response_from_callback
      Src: /src/mhd2/src/tests/client_server/libtest_convenience_server_reply.c:518,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 9
    argCount: 5
    argNames:
    - cls
    - MHD_RESTRICT
    - MHD_RESTRICT
    - method
    - upload_size
    argTypes:
    - void*
    - struct MHD_Request*
    - struct MHD_String*
    - enum MHD_HTTP_Method
    - uint_fast64_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 523
      start: 496
    functionDepth: 1
    functionLinenumber: 496
    functionLinenumberEnd: 523
    functionName: MHDT_server_reply_chunked_text
    functionSourceFile: /src/mhd2/src/tests/client_server/libtest_convenience_server_reply.c
    functionUses: 0
    functionsReached:
    - malloc
    - MHD_response_from_callback
    - MHD_action_from_response
    linkageType: ''
    returnType: struct MHD_Action
    signature: "struct MHD_Action *\nMHDT_server_reply_chunked_text (\n  void *cls,\n
      \ struct MHD_Request *MHD_RESTRICT request,\n  const struct MHD_String *MHD_RESTRICT
      path,\n  enum MHD_HTTP_Method method,\n  uint_fast64_t upload_size)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: strcmp
      Src: /src/mhd2/src/tests/client_server/libtest_convenience_server_reply.c:544,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 6
    argCount: 2
    argNames:
    - wants
    - have
    argTypes:
    - char*
    - struct MHD_StringNullable*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 546
      start: 533
    functionDepth: 0
    functionLinenumber: 533
    functionLinenumberEnd: 546
    functionName: nstrcmp
    functionSourceFile: /src/mhd2/src/tests/client_server/libtest_convenience_server_reply.c
    functionUses: 0
    functionsReached:
    - strcmp
    linkageType: ''
    returnType: bool
    signature: "bool nstrcmp (const char *wants,\n         const struct MHD_StringNullable
      *have)"
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: strcmp
      Src: /src/mhd2/src/tests/client_server/libtest_convenience_server_reply.c:608,1
    - Dst: nstrcmp
      Src: /src/mhd2/src/tests/client_server/libtest_convenience_server_reply.c:611,1
    - Dst: nstrcmp
      Src: /src/mhd2/src/tests/client_server/libtest_convenience_server_reply.c:614,1
    - Dst: memcmp
      Src: /src/mhd2/src/tests/client_server/libtest_convenience_server_reply.c:623,1
    - Dst: MHD_upload_action_continue
      Src: /src/mhd2/src/tests/client_server/libtest_convenience_server_reply.c:632,1
    CyclomaticComplexity: 19
    EdgeCount: 19
    ICount: 25
    argCount: 10
    argNames:
    - req
    - cls
    - name
    - filename
    - content_type
    - encoding
    - size
    - data
    - 'off'
    - final_data
    argTypes:
    - struct MHD_Request*
    - void*
    - struct MHD_String*
    - struct MHD_StringNullable*
    - struct MHD_StringNullable*
    - struct MHD_StringNullable*
    - size_t
    - void*
    - uint_fast64_t
    - enum MHD_Bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 633
      start: 583
    functionDepth: 1
    functionLinenumber: 583
    functionLinenumberEnd: 633
    functionName: post_stream_reader
    functionSourceFile: /src/mhd2/src/tests/client_server/libtest_convenience_server_reply.c
    functionUses: 0
    functionsReached:
    - MHD_upload_action_continue
    - memcmp
    - nstrcmp
    - strcmp
    linkageType: ''
    returnType: struct MHD_UploadAction
    signature: "struct MHD_UploadAction *\npost_stream_reader (struct MHD_Request
      *req,\n                    void *cls,\n                    const struct MHD_String
      *name,\n                    const struct MHD_StringNullable *filename,\n                    const
      struct MHD_StringNullable *content_type,\n                    const struct MHD_StringNullable
      *encoding,\n                    size_t size,\n                    const void
      *data,\n                    uint_fast64_t off,\n                    enum MHD_Bool
      final_data)"
  - BBCount: 12
    BranchProfiles: []
    Callsites:
    - Dst: strcmp
      Src: /src/mhd2/src/tests/client_server/libtest_convenience_server_reply.c:672,1
    - Dst: strcmp
      Src: /src/mhd2/src/tests/client_server/libtest_convenience_server_reply.c:684,1
    - Dst: memcmp
      Src: /src/mhd2/src/tests/client_server/libtest_convenience_server_reply.c:691,1
    CyclomaticComplexity: 17
    EdgeCount: 17
    ICount: 27
    argCount: 3
    argNames:
    - cls
    - kind
    - nv
    argTypes:
    - void*
    - enum MHD_ValueKind
    - struct MHD_NameAndValue*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 698
      start: 651
    functionDepth: 0
    functionLinenumber: 651
    functionLinenumberEnd: 698
    functionName: check_complete_post_value
    functionSourceFile: /src/mhd2/src/tests/client_server/libtest_convenience_server_reply.c
    functionUses: 0
    functionsReached:
    - memcmp
    - strcmp
    linkageType: ''
    returnType: enum MHD_Bool
    signature: "enum MHD_Bool check_complete_post_value (\n  void *cls,\n  enum MHD_ValueKind
      kind,\n  const struct MHD_NameAndValue *nv)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: fprintf
      Src: /src/mhd2/src/tests/client_server/libtest_convenience_server_reply.c:719,1
    - Dst: MHD_upload_action_abort_request
      Src: /src/mhd2/src/tests/client_server/libtest_convenience_server_reply.c:722,1
    - Dst: MHD_request_get_values_cb
      Src: /src/mhd2/src/tests/client_server/libtest_convenience_server_reply.c:725,1
    - Dst: fprintf
      Src: /src/mhd2/src/tests/client_server/libtest_convenience_server_reply.c:737,1
    - Dst: MHD_upload_action_abort_request
      Src: /src/mhd2/src/tests/client_server/libtest_convenience_server_reply.c:740,1
    - Dst: MHD_upload_action_from_response
      Src: /src/mhd2/src/tests/client_server/libtest_convenience_server_reply.c:743,1
    - Dst: MHD_response_from_empty
      Src: /src/mhd2/src/tests/client_server/libtest_convenience_server_reply.c:745,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 15
    argCount: 3
    argNames:
    - req
    - cls
    - parsing_result
    argTypes:
    - struct MHD_Request*
    - void*
    - enum MHD_PostParseResult
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 747
      start: 709
    functionDepth: 1
    functionLinenumber: 709
    functionLinenumberEnd: 747
    functionName: post_stream_done
    functionSourceFile: /src/mhd2/src/tests/client_server/libtest_convenience_server_reply.c
    functionUses: 0
    functionsReached:
    - fprintf
    - MHD_upload_action_from_response
    - MHD_upload_action_abort_request
    - MHD_response_from_empty
    - MHD_request_get_values_cb
    linkageType: ''
    returnType: struct MHD_UploadAction
    signature: "struct MHD_UploadAction *\npost_stream_done (struct MHD_Request *req,\n
      \                 void *cls,\n                  enum MHD_PostParseResult parsing_result)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: fprintf
      Src: /src/mhd2/src/tests/client_server/libtest_convenience_server_reply.c:765,1
    - Dst: MHD_action_abort_request
      Src: /src/mhd2/src/tests/client_server/libtest_convenience_server_reply.c:768,1
    - Dst: MHD_action_parse_post
      Src: /src/mhd2/src/tests/client_server/libtest_convenience_server_reply.c:771,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 5
    argNames:
    - cls
    - MHD_RESTRICT
    - MHD_RESTRICT
    - method
    - upload_size
    argTypes:
    - void*
    - struct MHD_Request*
    - struct MHD_String*
    - enum MHD_HTTP_Method
    - uint_fast64_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 779
      start: 750
    functionDepth: 1
    functionLinenumber: 750
    functionLinenumberEnd: 779
    functionName: MHDT_server_reply_check_post
    functionSourceFile: /src/mhd2/src/tests/client_server/libtest_convenience_server_reply.c
    functionUses: 0
    functionsReached:
    - MHD_action_parse_post
    - fprintf
    - MHD_action_abort_request
    linkageType: ''
    returnType: struct MHD_Action
    signature: "struct MHD_Action *\nMHDT_server_reply_check_post (\n  void *cls,\n
      \ struct MHD_Request *MHD_RESTRICT request,\n  const struct MHD_String *MHD_RESTRICT
      path,\n  enum MHD_HTTP_Method method,\n  uint_fast64_t upload_size)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: memset
      Src: /src/mhd2/src/tests/client_server/libtest_convenience_server_reply.c:796,1
    - Dst: MHD_request_get_info_dynamic
      Src: /src/mhd2/src/tests/client_server/libtest_convenience_server_reply.c:799,1
    - Dst: fprintf
      Src: /src/mhd2/src/tests/client_server/libtest_convenience_server_reply.c:804,1
    - Dst: MHD_action_basic_auth_challenge_p
      Src: /src/mhd2/src/tests/client_server/libtest_convenience_server_reply.c:806,1
    - Dst: MHD_response_from_empty
      Src: /src/mhd2/src/tests/client_server/libtest_convenience_server_reply.c:810,1
    - Dst: assert
      Src: /src/mhd2/src/tests/client_server/libtest_convenience_server_reply.c:814,1
    - Dst: strncmp
      Src: /src/mhd2/src/tests/client_server/libtest_convenience_server_reply.c:815,1
    - Dst: strcmp
      Src: /src/mhd2/src/tests/client_server/libtest_convenience_server_reply.c:820,1
    - Dst: fprintf
      Src: /src/mhd2/src/tests/client_server/libtest_convenience_server_reply.c:823,1
    - Dst: MHD_action_basic_auth_challenge_p
      Src: /src/mhd2/src/tests/client_server/libtest_convenience_server_reply.c:828,1
    - Dst: MHD_response_from_empty
      Src: /src/mhd2/src/tests/client_server/libtest_convenience_server_reply.c:832,1
    - Dst: MHD_action_from_response
      Src: /src/mhd2/src/tests/client_server/libtest_convenience_server_reply.c:835,1
    - Dst: MHD_response_from_empty
      Src: /src/mhd2/src/tests/client_server/libtest_convenience_server_reply.c:837,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 14
    argCount: 5
    argNames:
    - cls
    - MHD_RESTRICT
    - MHD_RESTRICT
    - method
    - upload_size
    argTypes:
    - void*
    - struct MHD_Request*
    - struct MHD_String*
    - enum MHD_HTTP_Method
    - uint_fast64_t
    assertStmts:
    - condition: (NULL != ba)
      pos:
        line_end: 813
        line_start: 813
        source_file: /src/mhd2/src/tests/client_server/libtest_convenience_server_reply.c
    constantsTouched: []
    func_position:
      end: 839
      start: 782
    functionDepth: 1
    functionLinenumber: 782
    functionLinenumberEnd: 839
    functionName: MHDT_server_reply_check_basic_auth
    functionSourceFile: /src/mhd2/src/tests/client_server/libtest_convenience_server_reply.c
    functionUses: 0
    functionsReached:
    - fprintf
    - strcmp
    - strncmp
    - MHD_action_from_response
    - MHD_request_get_info_dynamic
    - MHD_response_from_empty
    - MHD_action_basic_auth_challenge_p
    - memset
    - assert
    linkageType: ''
    returnType: struct MHD_Action
    signature: "struct MHD_Action *\nMHDT_server_reply_check_basic_auth (\n  void
      *cls,\n  struct MHD_Request *MHD_RESTRICT request,\n  const struct MHD_String
      *MHD_RESTRICT path,\n  enum MHD_HTTP_Method method,\n  uint_fast64_t upload_size)"
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: strchr
      Src: /src/mhd2/src/tests/client_server/libtest_convenience_server_reply.c:851,1
    - Dst: CURL_AT_LEAST_VERSION
      Src: /src/mhd2/src/tests/client_server/libtest_convenience_server_reply.c:856,1
    - Dst: MHD_digest_get_hash_size
      Src: /src/mhd2/src/tests/client_server/libtest_convenience_server_reply.c:861,1
    - Dst: assert
      Src: /src/mhd2/src/tests/client_server/libtest_convenience_server_reply.c:867,1
    - Dst: strndup
      Src: /src/mhd2/src/tests/client_server/libtest_convenience_server_reply.c:869,1
    - Dst: assert
      Src: /src/mhd2/src/tests/client_server/libtest_convenience_server_reply.c:871,1
    - Dst: memset
      Src: /src/mhd2/src/tests/client_server/libtest_convenience_server_reply.c:878,1
    - Dst: MHD_digest_auth_calc_userdigest
      Src: /src/mhd2/src/tests/client_server/libtest_convenience_server_reply.c:879,1
    - Dst: fprintf
      Src: /src/mhd2/src/tests/client_server/libtest_convenience_server_reply.c:887,1
    - Dst: free
      Src: /src/mhd2/src/tests/client_server/libtest_convenience_server_reply.c:890,1
    - Dst: MHD_digest_auth_check_digest
      Src: /src/mhd2/src/tests/client_server/libtest_convenience_server_reply.c:893,1
    - Dst: free
      Src: /src/mhd2/src/tests/client_server/libtest_convenience_server_reply.c:902,1
    - Dst: MHD_response_from_empty
      Src: /src/mhd2/src/tests/client_server/libtest_convenience_server_reply.c:909,1
    - Dst: fprintf
      Src: /src/mhd2/src/tests/client_server/libtest_convenience_server_reply.c:913,1
    - Dst: MHD_response_add_auth_digest_challenge
      Src: /src/mhd2/src/tests/client_server/libtest_convenience_server_reply.c:917,1
    - Dst: fprintf
      Src: /src/mhd2/src/tests/client_server/libtest_convenience_server_reply.c:929,1
    - Dst: MHD_action_from_response
      Src: /src/mhd2/src/tests/client_server/libtest_convenience_server_reply.c:934,1
    - Dst: MHD_action_from_response
      Src: /src/mhd2/src/tests/client_server/libtest_convenience_server_reply.c:939,1
    - Dst: MHD_response_from_empty
      Src: /src/mhd2/src/tests/client_server/libtest_convenience_server_reply.c:941,1
    - Dst: MHD_action_from_response
      Src: /src/mhd2/src/tests/client_server/libtest_convenience_server_reply.c:944,1
    - Dst: MHD_response_from_empty
      Src: /src/mhd2/src/tests/client_server/libtest_convenience_server_reply.c:946,1
    - Dst: MHD_action_abort_request
      Src: /src/mhd2/src/tests/client_server/libtest_convenience_server_reply.c:949,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 36
    argCount: 5
    argNames:
    - cls
    - MHD_RESTRICT
    - MHD_RESTRICT
    - method
    - upload_size
    argTypes:
    - void*
    - struct MHD_Request*
    - struct MHD_String*
    - enum MHD_HTTP_Method
    - uint_fast64_t
    assertStmts:
    - condition: (NULL != colon)
      pos:
        line_end: 866
        line_start: 866
        source_file: /src/mhd2/src/tests/client_server/libtest_convenience_server_reply.c
    - condition: (NULL != username)
      pos:
        line_end: 870
        line_start: 870
        source_file: /src/mhd2/src/tests/client_server/libtest_convenience_server_reply.c
    constantsTouched: []
    func_position:
      end: 950
      start: 842
    functionDepth: 1
    functionLinenumber: 842
    functionLinenumberEnd: 950
    functionName: MHDT_server_reply_check_digest_auth
    functionSourceFile: /src/mhd2/src/tests/client_server/libtest_convenience_server_reply.c
    functionUses: 0
    functionsReached:
    - MHD_digest_auth_calc_userdigest
    - fprintf
    - CURL_AT_LEAST_VERSION
    - MHD_response_add_auth_digest_challenge
    - strchr
    - MHD_action_from_response
    - MHD_digest_auth_check_digest
    - free
    - MHD_response_from_empty
    - MHD_action_abort_request
    - strndup
    - memset
    - MHD_digest_get_hash_size
    - assert
    linkageType: ''
    returnType: struct MHD_Action
    signature: "struct MHD_Action *\nMHDT_server_reply_check_digest_auth (\n  void
      *cls,\n  struct MHD_Request *MHD_RESTRICT request,\n  const struct MHD_String
      *MHD_RESTRICT path,\n  enum MHD_HTTP_Method method,\n  uint_fast64_t upload_size)"
  - 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: 55
      start: 54
    functionDepth: 0
    functionLinenumber: 54
    functionLinenumberEnd: 55
    functionName: CURL_VERSION_BITS
    functionSourceFile: /src/mhd2/src/tests/client_server/libtest_convenience_client_request.c
    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: 59
      start: 57
    functionDepth: 0
    functionLinenumber: 57
    functionLinenumberEnd: 59
    functionName: CURL_AT_LEAST_VERSION
    functionSourceFile: /src/mhd2/src/tests/client_server/libtest_convenience_client_request.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: CURL_AT_LEAST_VERSION(x, y, z)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: memcpy
      Src: /src/mhd2/src/tests/client_server/libtest_convenience_client_request.c:119,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 8
    argCount: 4
    argNames:
    - ptr
    - size
    - nmemb
    - stream
    argTypes:
    - void*
    - size_t
    - size_t
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 124
      start: 103
    functionDepth: 0
    functionLinenumber: 103
    functionLinenumberEnd: 124
    functionName: write_cb
    functionSourceFile: /src/mhd2/src/tests/client_server/libtest_convenience_client_request.c
    functionUses: 0
    functionsReached:
    - memcpy
    linkageType: ''
    returnType: size_t
    signature: "size_t write_cb (void *ptr,\n          size_t size,\n          size_t
      nmemb,\n          void *stream)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - text
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 139
      start: 132
    functionDepth: 0
    functionLinenumber: 132
    functionLinenumberEnd: 139
    functionName: DECLARE_WB
    functionSourceFile: /src/mhd2/src/tests/client_server/libtest_convenience_client_request.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: DECLARE_WB(text)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - c
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 165
      start: 147
    functionDepth: 0
    functionLinenumber: 147
    functionLinenumberEnd: 165
    functionName: SETUP_WB
    functionSourceFile: /src/mhd2/src/tests/client_server/libtest_convenience_client_request.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: SETUP_WB(c)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - text
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 179
      start: 171
    functionDepth: 0
    functionLinenumber: 171
    functionLinenumberEnd: 179
    functionName: CHECK_WB
    functionSourceFile: /src/mhd2/src/tests/client_server/libtest_convenience_client_request.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: CHECK_WB(text)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - c
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 196
      start: 187
    functionDepth: 0
    functionLinenumber: 187
    functionLinenumberEnd: 196
    functionName: PERFORM_REQUEST
    functionSourceFile: /src/mhd2/src/tests/client_server/libtest_convenience_client_request.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: PERFORM_REQUEST(c)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - c
    - ','
    - want
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 212
      start: 205
    functionDepth: 0
    functionLinenumber: 205
    functionLinenumberEnd: 212
    functionName: CHECK_STATUS
    functionSourceFile: /src/mhd2/src/tests/client_server/libtest_convenience_client_request.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: CHECK_STATUS(c, want)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: curl_easy_getinfo
      Src: /src/mhd2/src/tests/client_server/libtest_convenience_client_request.c:227,1
    - Dst: fprintf
      Src: /src/mhd2/src/tests/client_server/libtest_convenience_client_request.c:231,1
    - Dst: fprintf
      Src: /src/mhd2/src/tests/client_server/libtest_convenience_client_request.c:237,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 2
    argNames:
    - c
    - expected_status
    argTypes:
    - CURL*
    - unsigned int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 244
      start: 220
    functionDepth: 0
    functionLinenumber: 220
    functionLinenumberEnd: 244
    functionName: check_status
    functionSourceFile: /src/mhd2/src/tests/client_server/libtest_convenience_client_request.c
    functionUses: 0
    functionsReached:
    - curl_easy_getinfo
    - fprintf
    linkageType: ''
    returnType: bool
    signature: "bool check_status (CURL *c,\n              unsigned int expected_status)"
  - BBCount: 12
    BranchProfiles: []
    Callsites:
    - Dst: curl_easy_setopt
      Src: /src/mhd2/src/tests/client_server/libtest_convenience_client_request.c:261,1
    - Dst: curl_easy_cleanup
      Src: /src/mhd2/src/tests/client_server/libtest_convenience_client_request.c:265,1
    - Dst: curl_easy_setopt
      Src: /src/mhd2/src/tests/client_server/libtest_convenience_client_request.c:269,1
    - Dst: curl_easy_setopt
      Src: /src/mhd2/src/tests/client_server/libtest_convenience_client_request.c:273,1
    - Dst: CURLOPT_SERVER_RESPONSE_TIMEOUT_MS
      Src: /src/mhd2/src/tests/client_server/libtest_convenience_client_request.c:276,1
    - Dst: curl_easy_setopt
      Src: /src/mhd2/src/tests/client_server/libtest_convenience_client_request.c:278,1
    - Dst: curl_easy_setopt
      Src: /src/mhd2/src/tests/client_server/libtest_convenience_client_request.c:283,1
    - Dst: curl_easy_setopt
      Src: /src/mhd2/src/tests/client_server/libtest_convenience_client_request.c:288,1
    - Dst: curl_easy_setopt
      Src: /src/mhd2/src/tests/client_server/libtest_convenience_client_request.c:292,1
    - Dst: curl_easy_setopt
      Src: /src/mhd2/src/tests/client_server/libtest_convenience_client_request.c:296,1
    - Dst: curl_easy_cleanup
      Src: /src/mhd2/src/tests/client_server/libtest_convenience_client_request.c:300,1
    - Dst: strncasecmp
      Src: /src/mhd2/src/tests/client_server/libtest_convenience_client_request.c:310,1
    - Dst: strlen
      Src: /src/mhd2/src/tests/client_server/libtest_convenience_client_request.c:312,1
    - Dst: strlen
      Src: /src/mhd2/src/tests/client_server/libtest_convenience_client_request.c:313,1
    - Dst: strlen
      Src: /src/mhd2/src/tests/client_server/libtest_convenience_client_request.c:315,1
    - Dst: strchr
      Src: /src/mhd2/src/tests/client_server/libtest_convenience_client_request.c:316,1
    - Dst: strlen
      Src: /src/mhd2/src/tests/client_server/libtest_convenience_client_request.c:318,1
    - Dst: snprintf
      Src: /src/mhd2/src/tests/client_server/libtest_convenience_client_request.c:319,1
    - Dst: curl_slist_append
      Src: /src/mhd2/src/tests/client_server/libtest_convenience_client_request.c:324,1
    - Dst: curl_easy_setopt
      Src: /src/mhd2/src/tests/client_server/libtest_convenience_client_request.c:327,1
    - Dst: curl_easy_cleanup
      Src: /src/mhd2/src/tests/client_server/libtest_convenience_client_request.c:331,1
    - Dst: strncasecmp
      Src: /src/mhd2/src/tests/client_server/libtest_convenience_client_request.c:335,1
    - Dst: strlen
      Src: /src/mhd2/src/tests/client_server/libtest_convenience_client_request.c:337,1
    - Dst: curl_easy_setopt
      Src: /src/mhd2/src/tests/client_server/libtest_convenience_client_request.c:344,1
    - Dst: curl_easy_cleanup
      Src: /src/mhd2/src/tests/client_server/libtest_convenience_client_request.c:348,1
    - Dst: curl_easy_setopt
      Src: /src/mhd2/src/tests/client_server/libtest_convenience_client_request.c:356,1
    - Dst: curl_easy_setopt
      Src: /src/mhd2/src/tests/client_server/libtest_convenience_client_request.c:360,1
    - Dst: curl_easy_cleanup
      Src: /src/mhd2/src/tests/client_server/libtest_convenience_client_request.c:364,1
    - Dst: curl_easy_setopt
      Src: /src/mhd2/src/tests/client_server/libtest_convenience_client_request.c:371,1
    - Dst: curl_easy_cleanup
      Src: /src/mhd2/src/tests/client_server/libtest_convenience_client_request.c:375,1
    CyclomaticComplexity: 18
    EdgeCount: 18
    ICount: 42
    argCount: 3
    argNames:
    - c
    - base_url
    - pc
    argTypes:
    - CURL*
    - char*
    - struct MHDT_PhaseContext*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 381
      start: 255
    functionDepth: 0
    functionLinenumber: 255
    functionLinenumberEnd: 381
    functionName: set_url
    functionSourceFile: /src/mhd2/src/tests/client_server/libtest_convenience_client_request.c
    functionUses: 0
    functionsReached:
    - curl_slist_append
    - strchr
    - strncasecmp
    - CURLOPT_SERVER_RESPONSE_TIMEOUT_MS
    - curl_easy_cleanup
    - snprintf
    - strlen
    - curl_easy_setopt
    linkageType: ''
    returnType: char
    signature: "char *\nset_url (CURL *c,\n         const char *base_url,\n         struct
      MHDT_PhaseContext *pc)"
  - BBCount: 11
    BranchProfiles: []
    Callsites:
    - Dst: curl_easy_init
      Src: /src/mhd2/src/tests/client_server/libtest_convenience_client_request.c:396,1
    - Dst: curl_easy_setopt
      Src: /src/mhd2/src/tests/client_server/libtest_convenience_client_request.c:405,1
    - Dst: curl_easy_cleanup
      Src: /src/mhd2/src/tests/client_server/libtest_convenience_client_request.c:409,1
    - Dst: fprintf
      Src: /src/mhd2/src/tests/client_server/libtest_convenience_client_request.c:410,1
    - Dst: curl_easy_setopt
      Src: /src/mhd2/src/tests/client_server/libtest_convenience_client_request.c:419,1
    - Dst: curl_easy_cleanup
      Src: /src/mhd2/src/tests/client_server/libtest_convenience_client_request.c:423,1
    - Dst: fprintf
      Src: /src/mhd2/src/tests/client_server/libtest_convenience_client_request.c:424,1
    - Dst: curl_easy_setopt
      Src: /src/mhd2/src/tests/client_server/libtest_convenience_client_request.c:432,1
    - Dst: curl_easy_cleanup
      Src: /src/mhd2/src/tests/client_server/libtest_convenience_client_request.c:436,1
    - Dst: fprintf
      Src: /src/mhd2/src/tests/client_server/libtest_convenience_client_request.c:437,1
    - Dst: abort
      Src: /src/mhd2/src/tests/client_server/libtest_convenience_client_request.c:444,1
    - Dst: abort
      Src: /src/mhd2/src/tests/client_server/libtest_convenience_client_request.c:447,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 37
    argCount: 1
    argNames:
    - pc
    argTypes:
    - struct MHDT_PhaseContext*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 451
      start: 390
    functionDepth: 0
    functionLinenumber: 390
    functionLinenumberEnd: 451
    functionName: setup_curl
    functionSourceFile: /src/mhd2/src/tests/client_server/libtest_convenience_client_request.c
    functionUses: 0
    functionsReached:
    - fprintf
    - abort
    - curl_easy_cleanup
    - curl_easy_setopt
    - curl_easy_init
    linkageType: ''
    returnType: CURL
    signature: 'CURL *

      setup_curl (const struct MHDT_PhaseContext *pc)'
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: strlen
      Src: /src/mhd2/src/tests/client_server/libtest_convenience_client_request.c:460,1
    - Dst: strlen
      Src: /src/mhd2/src/tests/client_server/libtest_convenience_client_request.c:462,1
    - Dst: strchr
      Src: /src/mhd2/src/tests/client_server/libtest_convenience_client_request.c:464,1
    - Dst: strchr
      Src: /src/mhd2/src/tests/client_server/libtest_convenience_client_request.c:470,1
    - Dst: snprintf
      Src: /src/mhd2/src/tests/client_server/libtest_convenience_client_request.c:474,1
    - Dst: setup_curl
      Src: /src/mhd2/src/tests/client_server/libtest_convenience_client_request.c:479,1
    - Dst: set_url
      Src: /src/mhd2/src/tests/client_server/libtest_convenience_client_request.c:482,1
    - Dst: PERFORM_REQUEST
      Src: /src/mhd2/src/tests/client_server/libtest_convenience_client_request.c:487,1
    - Dst: CHECK_STATUS
      Src: /src/mhd2/src/tests/client_server/libtest_convenience_client_request.c:488,1
    - Dst: curl_easy_cleanup
      Src: /src/mhd2/src/tests/client_server/libtest_convenience_client_request.c:490,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 17
    argCount: 2
    argNames:
    - cls
    - pc
    argTypes:
    - void*
    - struct MHDT_PhaseContext*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 492
      start: 454
    functionDepth: 1
    functionLinenumber: 454
    functionLinenumberEnd: 492
    functionName: MHDT_client_get_host
    functionSourceFile: /src/mhd2/src/tests/client_server/libtest_convenience_client_request.c
    functionUses: 0
    functionsReached:
    - PERFORM_REQUEST
    - set_url
    - setup_curl
    - CHECK_STATUS
    - strchr
    - curl_easy_cleanup
    - snprintf
    - strlen
    linkageType: ''
    returnType: char
    signature: "char *\nMHDT_client_get_host (const void *cls,\n                      struct
      MHDT_PhaseContext *pc)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: DECLARE_WB
      Src: /src/mhd2/src/tests/client_server/libtest_convenience_client_request.c:503,1
    - Dst: setup_curl
      Src: /src/mhd2/src/tests/client_server/libtest_convenience_client_request.c:505,1
    - Dst: set_url
      Src: /src/mhd2/src/tests/client_server/libtest_convenience_client_request.c:508,1
    - Dst: SETUP_WB
      Src: /src/mhd2/src/tests/client_server/libtest_convenience_client_request.c:513,1
    - Dst: PERFORM_REQUEST
      Src: /src/mhd2/src/tests/client_server/libtest_convenience_client_request.c:514,1
    - Dst: CHECK_STATUS
      Src: /src/mhd2/src/tests/client_server/libtest_convenience_client_request.c:515,1
    - Dst: curl_easy_cleanup
      Src: /src/mhd2/src/tests/client_server/libtest_convenience_client_request.c:517,1
    - Dst: CHECK_WB
      Src: /src/mhd2/src/tests/client_server/libtest_convenience_client_request.c:518,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 14
    argCount: 2
    argNames:
    - cls
    - pc
    argTypes:
    - void*
    - struct MHDT_PhaseContext*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 520
      start: 495
    functionDepth: 1
    functionLinenumber: 495
    functionLinenumberEnd: 520
    functionName: MHDT_client_get_root
    functionSourceFile: /src/mhd2/src/tests/client_server/libtest_convenience_client_request.c
    functionUses: 0
    functionsReached:
    - PERFORM_REQUEST
    - set_url
    - setup_curl
    - CHECK_STATUS
    - CHECK_WB
    - curl_easy_cleanup
    - DECLARE_WB
    - SETUP_WB
    linkageType: ''
    returnType: char
    signature: "char *\nMHDT_client_get_root (\n  const void *cls,\n  struct MHDT_PhaseContext
      *pc)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: strlen
      Src: /src/mhd2/src/tests/client_server/libtest_convenience_client_request.c:530,1
    - Dst: strlen
      Src: /src/mhd2/src/tests/client_server/libtest_convenience_client_request.c:532,1
    - Dst: memcpy
      Src: /src/mhd2/src/tests/client_server/libtest_convenience_client_request.c:535,1
    - Dst: memcpy
      Src: /src/mhd2/src/tests/client_server/libtest_convenience_client_request.c:538,1
    - Dst: setup_curl
      Src: /src/mhd2/src/tests/client_server/libtest_convenience_client_request.c:542,1
    - Dst: set_url
      Src: /src/mhd2/src/tests/client_server/libtest_convenience_client_request.c:545,1
    - Dst: PERFORM_REQUEST
      Src: /src/mhd2/src/tests/client_server/libtest_convenience_client_request.c:550,1
    - Dst: CHECK_STATUS
      Src: /src/mhd2/src/tests/client_server/libtest_convenience_client_request.c:551,1
    - Dst: curl_easy_cleanup
      Src: /src/mhd2/src/tests/client_server/libtest_convenience_client_request.c:553,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 14
    argCount: 2
    argNames:
    - cls
    - pc
    argTypes:
    - void*
    - struct MHDT_PhaseContext*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 555
      start: 523
    functionDepth: 1
    functionLinenumber: 523
    functionLinenumberEnd: 555
    functionName: MHDT_client_get_with_query
    functionSourceFile: /src/mhd2/src/tests/client_server/libtest_convenience_client_request.c
    functionUses: 0
    functionsReached:
    - PERFORM_REQUEST
    - set_url
    - setup_curl
    - CHECK_STATUS
    - curl_easy_cleanup
    - strlen
    - memcpy
    linkageType: ''
    returnType: char
    signature: "char *\nMHDT_client_get_with_query (\n  const void *cls,\n  struct
      MHDT_PhaseContext *pc)"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: setup_curl
      Src: /src/mhd2/src/tests/client_server/libtest_convenience_client_request.c:569,1
    - Dst: set_url
      Src: /src/mhd2/src/tests/client_server/libtest_convenience_client_request.c:572,1
    - Dst: curl_slist_append
      Src: /src/mhd2/src/tests/client_server/libtest_convenience_client_request.c:577,1
    - Dst: curl_easy_setopt
      Src: /src/mhd2/src/tests/client_server/libtest_convenience_client_request.c:580,1
    - Dst: curl_easy_cleanup
      Src: /src/mhd2/src/tests/client_server/libtest_convenience_client_request.c:584,1
    - Dst: curl_slist_free_all
      Src: /src/mhd2/src/tests/client_server/libtest_convenience_client_request.c:585,1
    - Dst: curl_easy_perform
      Src: /src/mhd2/src/tests/client_server/libtest_convenience_client_request.c:588,1
    - Dst: curl_slist_free_all
      Src: /src/mhd2/src/tests/client_server/libtest_convenience_client_request.c:589,1
    - Dst: curl_easy_cleanup
      Src: /src/mhd2/src/tests/client_server/libtest_convenience_client_request.c:592,1
    - Dst: CHECK_STATUS
      Src: /src/mhd2/src/tests/client_server/libtest_convenience_client_request.c:595,1
    - Dst: curl_easy_cleanup
      Src: /src/mhd2/src/tests/client_server/libtest_convenience_client_request.c:597,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 22
    argCount: 2
    argNames:
    - cls
    - pc
    argTypes:
    - void*
    - struct MHDT_PhaseContext*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 599
      start: 558
    functionDepth: 1
    functionLinenumber: 558
    functionLinenumberEnd: 599
    functionName: MHDT_client_set_header
    functionSourceFile: /src/mhd2/src/tests/client_server/libtest_convenience_client_request.c
    functionUses: 0
    functionsReached:
    - set_url
    - curl_slist_append
    - setup_curl
    - curl_easy_perform
    - curl_slist_free_all
    - CHECK_STATUS
    - curl_easy_cleanup
    - curl_easy_setopt
    linkageType: ''
    returnType: char
    signature: "char *\nMHDT_client_set_header (\n  const void *cls,\n  struct MHDT_PhaseContext
      *pc)"
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: strlen
      Src: /src/mhd2/src/tests/client_server/libtest_convenience_client_request.c:609,1
    - Dst: strchr
      Src: /src/mhd2/src/tests/client_server/libtest_convenience_client_request.c:611,1
    - Dst: memcpy
      Src: /src/mhd2/src/tests/client_server/libtest_convenience_client_request.c:618,1
    - Dst: setup_curl
      Src: /src/mhd2/src/tests/client_server/libtest_convenience_client_request.c:623,1
    - Dst: set_url
      Src: /src/mhd2/src/tests/client_server/libtest_convenience_client_request.c:626,1
    - Dst: PERFORM_REQUEST
      Src: /src/mhd2/src/tests/client_server/libtest_convenience_client_request.c:631,1
    - Dst: CHECK_STATUS
      Src: /src/mhd2/src/tests/client_server/libtest_convenience_client_request.c:632,1
    - Dst: curl_easy_header
      Src: /src/mhd2/src/tests/client_server/libtest_convenience_client_request.c:639,1
    - Dst: strcmp
      Src: /src/mhd2/src/tests/client_server/libtest_convenience_client_request.c:647,1
    - Dst: curl_easy_cleanup
      Src: /src/mhd2/src/tests/client_server/libtest_convenience_client_request.c:652,1
    - Dst: curl_easy_cleanup
      Src: /src/mhd2/src/tests/client_server/libtest_convenience_client_request.c:655,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 29
    argCount: 2
    argNames:
    - cls
    - pc
    argTypes:
    - void*
    - struct MHDT_PhaseContext*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 662
      start: 602
    functionDepth: 1
    functionLinenumber: 602
    functionLinenumberEnd: 662
    functionName: MHDT_client_expect_header
    functionSourceFile: /src/mhd2/src/tests/client_server/libtest_convenience_client_request.c
    functionUses: 0
    functionsReached:
    - PERFORM_REQUEST
    - set_url
    - strcmp
    - setup_curl
    - CHECK_STATUS
    - strchr
    - curl_easy_header
    - curl_easy_cleanup
    - strlen
    - memcpy
    linkageType: ''
    returnType: char
    signature: "char *\nMHDT_client_expect_header (const void *cls,\n                           struct
      MHDT_PhaseContext *pc)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: memcpy
      Src: /src/mhd2/src/tests/client_server/libtest_convenience_client_request.c:722,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 12
    argCount: 4
    argNames:
    - ptr
    - size
    - nmemb
    - stream
    argTypes:
    - void*
    - size_t
    - size_t
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 727
      start: 703
    functionDepth: 0
    functionLinenumber: 703
    functionLinenumberEnd: 727
    functionName: read_cb
    functionSourceFile: /src/mhd2/src/tests/client_server/libtest_convenience_client_request.c
    functionUses: 0
    functionsReached:
    - memcpy
    linkageType: ''
    returnType: size_t
    signature: "size_t read_cb (void *ptr,\n         size_t size,\n         size_t
      nmemb,\n         void *stream)"
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: strlen
      Src: /src/mhd2/src/tests/client_server/libtest_convenience_client_request.c:739,1
    - Dst: setup_curl
      Src: /src/mhd2/src/tests/client_server/libtest_convenience_client_request.c:743,1
    - Dst: set_url
      Src: /src/mhd2/src/tests/client_server/libtest_convenience_client_request.c:746,1
    - Dst: curl_easy_setopt
      Src: /src/mhd2/src/tests/client_server/libtest_convenience_client_request.c:752,1
    - Dst: curl_easy_cleanup
      Src: /src/mhd2/src/tests/client_server/libtest_convenience_client_request.c:756,1
    - Dst: curl_easy_setopt
      Src: /src/mhd2/src/tests/client_server/libtest_convenience_client_request.c:760,1
    - Dst: curl_easy_cleanup
      Src: /src/mhd2/src/tests/client_server/libtest_convenience_client_request.c:764,1
    - Dst: curl_easy_setopt
      Src: /src/mhd2/src/tests/client_server/libtest_convenience_client_request.c:768,1
    - Dst: curl_easy_cleanup
      Src: /src/mhd2/src/tests/client_server/libtest_convenience_client_request.c:772,1
    - Dst: curl_easy_setopt
      Src: /src/mhd2/src/tests/client_server/libtest_convenience_client_request.c:776,1
    - Dst: curl_easy_cleanup
      Src: /src/mhd2/src/tests/client_server/libtest_convenience_client_request.c:780,1
    - Dst: PERFORM_REQUEST
      Src: /src/mhd2/src/tests/client_server/libtest_convenience_client_request.c:783,1
    - Dst: CHECK_STATUS
      Src: /src/mhd2/src/tests/client_server/libtest_convenience_client_request.c:784,1
    - Dst: curl_easy_cleanup
      Src: /src/mhd2/src/tests/client_server/libtest_convenience_client_request.c:786,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 27
    argCount: 2
    argNames:
    - cls
    - pc
    argTypes:
    - void*
    - struct MHDT_PhaseContext*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 788
      start: 730
    functionDepth: 1
    functionLinenumber: 730
    functionLinenumberEnd: 788
    functionName: MHDT_client_put_data
    functionSourceFile: /src/mhd2/src/tests/client_server/libtest_convenience_client_request.c
    functionUses: 0
    functionsReached:
    - PERFORM_REQUEST
    - set_url
    - setup_curl
    - CHECK_STATUS
    - curl_easy_cleanup
    - strlen
    - curl_easy_setopt
    linkageType: ''
    returnType: char
    signature: "char *\nMHDT_client_put_data (\n  const void *cls,\n  struct MHDT_PhaseContext
      *pc)"
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: strlen
      Src: /src/mhd2/src/tests/client_server/libtest_convenience_client_request.c:800,1
    - Dst: setup_curl
      Src: /src/mhd2/src/tests/client_server/libtest_convenience_client_request.c:805,1
    - Dst: set_url
      Src: /src/mhd2/src/tests/client_server/libtest_convenience_client_request.c:808,1
    - Dst: curl_easy_setopt
      Src: /src/mhd2/src/tests/client_server/libtest_convenience_client_request.c:814,1
    - Dst: curl_easy_cleanup
      Src: /src/mhd2/src/tests/client_server/libtest_convenience_client_request.c:818,1
    - Dst: curl_easy_setopt
      Src: /src/mhd2/src/tests/client_server/libtest_convenience_client_request.c:822,1
    - Dst: curl_easy_cleanup
      Src: /src/mhd2/src/tests/client_server/libtest_convenience_client_request.c:826,1
    - Dst: curl_easy_setopt
      Src: /src/mhd2/src/tests/client_server/libtest_convenience_client_request.c:830,1
    - Dst: curl_easy_cleanup
      Src: /src/mhd2/src/tests/client_server/libtest_convenience_client_request.c:834,1
    - Dst: PERFORM_REQUEST
      Src: /src/mhd2/src/tests/client_server/libtest_convenience_client_request.c:837,1
    - Dst: CHECK_STATUS
      Src: /src/mhd2/src/tests/client_server/libtest_convenience_client_request.c:838,1
    - Dst: curl_easy_cleanup
      Src: /src/mhd2/src/tests/client_server/libtest_convenience_client_request.c:840,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 23
    argCount: 2
    argNames:
    - cls
    - pc
    argTypes:
    - void*
    - struct MHDT_PhaseContext*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 842
      start: 791
    functionDepth: 1
    functionLinenumber: 791
    functionLinenumberEnd: 842
    functionName: MHDT_client_chunk_data
    functionSourceFile: /src/mhd2/src/tests/client_server/libtest_convenience_client_request.c
    functionUses: 0
    functionsReached:
    - PERFORM_REQUEST
    - set_url
    - setup_curl
    - CHECK_STATUS
    - curl_easy_cleanup
    - strlen
    - curl_easy_setopt
    linkageType: ''
    returnType: char
    signature: "char *\nMHDT_client_chunk_data (\n  const void *cls,\n  struct MHDT_PhaseContext
      *pc)"
  - BBCount: 12
    BranchProfiles: []
    Callsites:
    - Dst: setup_curl
      Src: /src/mhd2/src/tests/client_server/libtest_convenience_client_request.c:864,1
    - Dst: set_url
      Src: /src/mhd2/src/tests/client_server/libtest_convenience_client_request.c:867,1
    - Dst: curl_easy_setopt
      Src: /src/mhd2/src/tests/client_server/libtest_convenience_client_request.c:873,1
    - Dst: curl_easy_cleanup
      Src: /src/mhd2/src/tests/client_server/libtest_convenience_client_request.c:877,1
    - Dst: curl_easy_setopt
      Src: /src/mhd2/src/tests/client_server/libtest_convenience_client_request.c:881,1
    - Dst: curl_easy_cleanup
      Src: /src/mhd2/src/tests/client_server/libtest_convenience_client_request.c:885,1
    - Dst: curl_easy_setopt
      Src: /src/mhd2/src/tests/client_server/libtest_convenience_client_request.c:891,1
    - Dst: curl_easy_cleanup
      Src: /src/mhd2/src/tests/client_server/libtest_convenience_client_request.c:895,1
    - Dst: curl_slist_append
      Src: /src/mhd2/src/tests/client_server/libtest_convenience_client_request.c:901,1
    - Dst: curl_easy_setopt
      Src: /src/mhd2/src/tests/client_server/libtest_convenience_client_request.c:905,1
    - Dst: curl_easy_cleanup
      Src: /src/mhd2/src/tests/client_server/libtest_convenience_client_request.c:909,1
    - Dst: curl_slist_free_all
      Src: /src/mhd2/src/tests/client_server/libtest_convenience_client_request.c:910,1
    - Dst: PERFORM_REQUEST
      Src: /src/mhd2/src/tests/client_server/libtest_convenience_client_request.c:913,1
    - Dst: CHECK_STATUS
      Src: /src/mhd2/src/tests/client_server/libtest_convenience_client_request.c:914,1
    - Dst: curl_easy_cleanup
      Src: /src/mhd2/src/tests/client_server/libtest_convenience_client_request.c:916,1
    - Dst: curl_slist_free_all
      Src: /src/mhd2/src/tests/client_server/libtest_convenience_client_request.c:917,1
    - Dst: fprintf
      Src: /src/mhd2/src/tests/client_server/libtest_convenience_client_request.c:924,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 48
    argCount: 2
    argNames:
    - cls
    - pc
    argTypes:
    - void*
    - struct MHDT_PhaseContext*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 932
      start: 845
    functionDepth: 1
    functionLinenumber: 845
    functionLinenumberEnd: 932
    functionName: MHDT_client_do_post
    functionSourceFile: /src/mhd2/src/tests/client_server/libtest_convenience_client_request.c
    functionUses: 0
    functionsReached:
    - PERFORM_REQUEST
    - set_url
    - curl_slist_append
    - fprintf
    - setup_curl
    - curl_slist_free_all
    - CHECK_STATUS
    - curl_easy_cleanup
    - curl_easy_setopt
    linkageType: ''
    returnType: char
    signature: "char *\nMHDT_client_do_post (\n  const void *cls,\n  struct MHDT_PhaseContext
      *pc)"
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: strchr
      Src: /src/mhd2/src/tests/client_server/libtest_convenience_client_request.c:951,1
    - Dst: strndup
      Src: /src/mhd2/src/tests/client_server/libtest_convenience_client_request.c:956,1
    - Dst: setup_curl
      Src: /src/mhd2/src/tests/client_server/libtest_convenience_client_request.c:959,1
    - Dst: free
      Src: /src/mhd2/src/tests/client_server/libtest_convenience_client_request.c:962,1
    - Dst: set_url
      Src: /src/mhd2/src/tests/client_server/libtest_convenience_client_request.c:965,1
    - Dst: free
      Src: /src/mhd2/src/tests/client_server/libtest_convenience_client_request.c:970,1
    - Dst: curl_easy_cleanup
      Src: /src/mhd2/src/tests/client_server/libtest_convenience_client_request.c:971,1
    - Dst: curl_easy_setopt
      Src: /src/mhd2/src/tests/client_server/libtest_convenience_client_request.c:975,1
    - Dst: curl_easy_setopt
      Src: /src/mhd2/src/tests/client_server/libtest_convenience_client_request.c:979,1
    - Dst: curl_easy_setopt
      Src: /src/mhd2/src/tests/client_server/libtest_convenience_client_request.c:983,1
    - Dst: curl_easy_cleanup
      Src: /src/mhd2/src/tests/client_server/libtest_convenience_client_request.c:987,1
    - Dst: free
      Src: /src/mhd2/src/tests/client_server/libtest_convenience_client_request.c:988,1
    - Dst: free
      Src: /src/mhd2/src/tests/client_server/libtest_convenience_client_request.c:991,1
    - Dst: PERFORM_REQUEST
      Src: /src/mhd2/src/tests/client_server/libtest_convenience_client_request.c:992,1
    - Dst: curl_easy_getinfo
      Src: /src/mhd2/src/tests/client_server/libtest_convenience_client_request.c:994,1
    - Dst: curl_easy_cleanup
      Src: /src/mhd2/src/tests/client_server/libtest_convenience_client_request.c:1001,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 29
    argCount: 3
    argNames:
    - cred
    - pc
    - http_status
    argTypes:
    - char*
    - struct MHDT_PhaseContext*
    - unsigned int*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1003
      start: 943
    functionDepth: 1
    functionLinenumber: 943
    functionLinenumberEnd: 1003
    functionName: send_basic_auth
    functionSourceFile: /src/mhd2/src/tests/client_server/libtest_convenience_client_request.c
    functionUses: 0
    functionsReached:
    - PERFORM_REQUEST
    - set_url
    - setup_curl
    - strchr
    - curl_easy_getinfo
    - free
    - curl_easy_cleanup
    - strndup
    - curl_easy_setopt
    linkageType: ''
    returnType: char
    signature: "char *\nsend_basic_auth (const char *cred,\n                 struct
      MHDT_PhaseContext *pc,\n                 unsigned int *http_status)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: send_basic_auth
      Src: /src/mhd2/src/tests/client_server/libtest_convenience_client_request.c:1015,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 2
    argNames:
    - cls
    - pc
    argTypes:
    - void*
    - struct MHDT_PhaseContext*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1023
      start: 1006
    functionDepth: 2
    functionLinenumber: 1006
    functionLinenumberEnd: 1023
    functionName: MHDT_client_send_basic_auth
    functionSourceFile: /src/mhd2/src/tests/client_server/libtest_convenience_client_request.c
    functionUses: 0
    functionsReached:
    - send_basic_auth
    linkageType: ''
    returnType: char
    signature: "char *\nMHDT_client_send_basic_auth (\n  const void *cls,\n  struct
      MHDT_PhaseContext *pc)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: send_basic_auth
      Src: /src/mhd2/src/tests/client_server/libtest_convenience_client_request.c:1035,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 2
    argNames:
    - cls
    - pc
    argTypes:
    - void*
    - struct MHDT_PhaseContext*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1043
      start: 1026
    functionDepth: 2
    functionLinenumber: 1026
    functionLinenumberEnd: 1043
    functionName: MHDT_client_fail_basic_auth
    functionSourceFile: /src/mhd2/src/tests/client_server/libtest_convenience_client_request.c
    functionUses: 0
    functionsReached:
    - send_basic_auth
    linkageType: ''
    returnType: char
    signature: "char *\nMHDT_client_fail_basic_auth (\n  const void *cls,\n  struct
      MHDT_PhaseContext *pc)"
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: strchr
      Src: /src/mhd2/src/tests/client_server/libtest_convenience_client_request.c:1062,1
    - Dst: strndup
      Src: /src/mhd2/src/tests/client_server/libtest_convenience_client_request.c:1067,1
    - Dst: setup_curl
      Src: /src/mhd2/src/tests/client_server/libtest_convenience_client_request.c:1070,1
    - Dst: free
      Src: /src/mhd2/src/tests/client_server/libtest_convenience_client_request.c:1073,1
    - Dst: set_url
      Src: /src/mhd2/src/tests/client_server/libtest_convenience_client_request.c:1076,1
    - Dst: free
      Src: /src/mhd2/src/tests/client_server/libtest_convenience_client_request.c:1081,1
    - Dst: curl_easy_cleanup
      Src: /src/mhd2/src/tests/client_server/libtest_convenience_client_request.c:1082,1
    - Dst: curl_easy_setopt
      Src: /src/mhd2/src/tests/client_server/libtest_convenience_client_request.c:1086,1
    - Dst: curl_easy_setopt
      Src: /src/mhd2/src/tests/client_server/libtest_convenience_client_request.c:1090,1
    - Dst: curl_easy_setopt
      Src: /src/mhd2/src/tests/client_server/libtest_convenience_client_request.c:1094,1
    - Dst: curl_easy_cleanup
      Src: /src/mhd2/src/tests/client_server/libtest_convenience_client_request.c:1098,1
    - Dst: free
      Src: /src/mhd2/src/tests/client_server/libtest_convenience_client_request.c:1099,1
    - Dst: free
      Src: /src/mhd2/src/tests/client_server/libtest_convenience_client_request.c:1102,1
    - Dst: PERFORM_REQUEST
      Src: /src/mhd2/src/tests/client_server/libtest_convenience_client_request.c:1103,1
    - Dst: curl_easy_getinfo
      Src: /src/mhd2/src/tests/client_server/libtest_convenience_client_request.c:1105,1
    - Dst: curl_easy_cleanup
      Src: /src/mhd2/src/tests/client_server/libtest_convenience_client_request.c:1112,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 29
    argCount: 3
    argNames:
    - cred
    - pc
    - http_status
    argTypes:
    - char*
    - struct MHDT_PhaseContext*
    - unsigned int*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1114
      start: 1054
    functionDepth: 1
    functionLinenumber: 1054
    functionLinenumberEnd: 1114
    functionName: send_digest_auth
    functionSourceFile: /src/mhd2/src/tests/client_server/libtest_convenience_client_request.c
    functionUses: 0
    functionsReached:
    - PERFORM_REQUEST
    - set_url
    - setup_curl
    - strchr
    - curl_easy_getinfo
    - free
    - curl_easy_cleanup
    - strndup
    - curl_easy_setopt
    linkageType: ''
    returnType: char
    signature: "char *\nsend_digest_auth (const char *cred,\n                  struct
      MHDT_PhaseContext *pc,\n                  unsigned int *http_status)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: send_digest_auth
      Src: /src/mhd2/src/tests/client_server/libtest_convenience_client_request.c:1126,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 2
    argNames:
    - cls
    - pc
    argTypes:
    - void*
    - struct MHDT_PhaseContext*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1134
      start: 1117
    functionDepth: 2
    functionLinenumber: 1117
    functionLinenumberEnd: 1134
    functionName: MHDT_client_send_digest_auth
    functionSourceFile: /src/mhd2/src/tests/client_server/libtest_convenience_client_request.c
    functionUses: 0
    functionsReached:
    - send_digest_auth
    linkageType: ''
    returnType: char
    signature: "char *\nMHDT_client_send_digest_auth (\n  const void *cls,\n  struct
      MHDT_PhaseContext *pc)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: send_digest_auth
      Src: /src/mhd2/src/tests/client_server/libtest_convenience_client_request.c:1146,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 2
    argNames:
    - cls
    - pc
    argTypes:
    - void*
    - struct MHDT_PhaseContext*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1154
      start: 1137
    functionDepth: 2
    functionLinenumber: 1137
    functionLinenumberEnd: 1154
    functionName: MHDT_client_fail_digest_auth
    functionSourceFile: /src/mhd2/src/tests/client_server/libtest_convenience_client_request.c
    functionUses: 0
    functionsReached:
    - send_digest_auth
    linkageType: ''
    returnType: char
    signature: "char *\nMHDT_client_fail_digest_auth (\n  const void *cls,\n  struct
      MHDT_PhaseContext *pc)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: MHD_D_OPTION_POLL_SYSCALL
      Src: /src/mhd2/src/tests/client_server/test_http2.c:51,1
    - Dst: MHD_D_OPTION_WM_WORKER_THREADS
      Src: /src/mhd2/src/tests/client_server/test_http2.c:52,1
    - Dst: MHD_D_OPTION_TERMINATE
      Src: /src/mhd2/src/tests/client_server/test_http2.c:53,1
    - Dst: MHD_D_OPTION_POLL_SYSCALL
      Src: /src/mhd2/src/tests/client_server/test_http2.c:56,1
    - Dst: MHD_D_OPTION_WM_WORKER_THREADS
      Src: /src/mhd2/src/tests/client_server/test_http2.c:57,1
    - Dst: MHD_D_OPTION_TERMINATE
      Src: /src/mhd2/src/tests/client_server/test_http2.c:58,1
    - Dst: MHD_D_OPTION_POLL_SYSCALL
      Src: /src/mhd2/src/tests/client_server/test_http2.c:61,1
    - Dst: MHD_D_OPTION_WM_WORKER_THREADS
      Src: /src/mhd2/src/tests/client_server/test_http2.c:62,1
    - Dst: MHD_D_OPTION_TERMINATE
      Src: /src/mhd2/src/tests/client_server/test_http2.c:63,1
    - Dst: MHD_D_OPTION_POLL_SYSCALL
      Src: /src/mhd2/src/tests/client_server/test_http2.c:66,1
    - Dst: MHD_D_OPTION_WM_WORKER_THREADS
      Src: /src/mhd2/src/tests/client_server/test_http2.c:67,1
    - Dst: MHD_D_OPTION_TERMINATE
      Src: /src/mhd2/src/tests/client_server/test_http2.c:68,1
    - Dst: MHD_D_OPTION_POLL_SYSCALL
      Src: /src/mhd2/src/tests/client_server/test_http2.c:71,1
    - Dst: MHD_D_OPTION_WM_WORKER_THREADS
      Src: /src/mhd2/src/tests/client_server/test_http2.c:72,1
    - Dst: MHD_D_OPTION_TERMINATE
      Src: /src/mhd2/src/tests/client_server/test_http2.c:73,1
    - Dst: MHD_D_OPTION_POLL_SYSCALL
      Src: /src/mhd2/src/tests/client_server/test_http2.c:76,1
    - Dst: MHD_D_OPTION_WM_WORKER_THREADS
      Src: /src/mhd2/src/tests/client_server/test_http2.c:77,1
    - Dst: MHD_D_OPTION_TERMINATE
      Src: /src/mhd2/src/tests/client_server/test_http2.c:78,1
    - Dst: MHD_D_OPTION_POLL_SYSCALL
      Src: /src/mhd2/src/tests/client_server/test_http2.c:81,1
    - Dst: MHD_D_OPTION_WM_WORKER_THREADS
      Src: /src/mhd2/src/tests/client_server/test_http2.c:82,1
    - Dst: MHD_D_OPTION_TERMINATE
      Src: /src/mhd2/src/tests/client_server/test_http2.c:83,1
    - Dst: MHD_D_OPTION_POLL_SYSCALL
      Src: /src/mhd2/src/tests/client_server/test_http2.c:86,1
    - Dst: MHD_D_OPTION_WM_EXTERNAL_PERIODIC
      Src: /src/mhd2/src/tests/client_server/test_http2.c:87,1
    - Dst: MHD_D_OPTION_TERMINATE
      Src: /src/mhd2/src/tests/client_server/test_http2.c:88,1
    - Dst: fprintf
      Src: /src/mhd2/src/tests/client_server/test_http2.c:303,1
    - Dst: MHDT_test
      Src: /src/mhd2/src/tests/client_server/test_http2.c:306,1
    - Dst: fprintf
      Src: /src/mhd2/src/tests/client_server/test_http2.c:313,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 12
    argCount: 2
    argNames:
    - argc
    - argv
    argTypes:
    - int
    - char*[]
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 321
      start: 47
    functionDepth: 1
    functionLinenumber: 47
    functionLinenumberEnd: 321
    functionName: main
    functionSourceFile: /src/mhd2/src/tests/client_server/test_http2.c
    functionUses: 0
    functionsReached:
    - MHD_D_OPTION_WM_EXTERNAL_PERIODIC
    - MHDT_test
    - fprintf
    - MHD_D_OPTION_POLL_SYSCALL
    - MHD_D_OPTION_WM_WORKER_THREADS
    - MHD_D_OPTION_TERMINATE
    linkageType: ''
    returnType: int
    signature: int main (int argc, char *argv[])
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: fprintf
      Src: /src/mhd2/src/tests/client_server/libtest.c:89,1
    - Dst: abort
      Src: /src/mhd2/src/tests/client_server/libtest.c:93,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 3
    argNames:
    - cond
    - filename
    - line
    argTypes:
    - bool
    - char*
    - unsigned int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 95
      start: 82
    functionDepth: 0
    functionLinenumber: 82
    functionLinenumberEnd: 95
    functionName: test_check_
    functionSourceFile: /src/mhd2/src/tests/client_server/libtest.c
    functionUses: 0
    functionsReached:
    - fprintf
    - abort
    linkageType: ''
    returnType: void
    signature: "void test_check_ (bool cond,\n             const char *filename,\n
      \            unsigned int line)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - cond
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 105
      start: 103
    functionDepth: 0
    functionLinenumber: 103
    functionLinenumberEnd: 105
    functionName: test_check
    functionSourceFile: /src/mhd2/src/tests/client_server/libtest.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: test_check(cond)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: test_check
      Src: /src/mhd2/src/tests/client_server/libtest.c:117,1
    - Dst: pthread_mutex_init
      Src: /src/mhd2/src/tests/client_server/libtest.c:118,1
    - Dst: test_check
      Src: /src/mhd2/src/tests/client_server/libtest.c:120,1
    - Dst: pthread_cond_init
      Src: /src/mhd2/src/tests/client_server/libtest.c:121,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 2
    argNames:
    - sem
    - val
    argTypes:
    - struct Semaphore*
    - unsigned int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 124
      start: 113
    functionDepth: 1
    functionLinenumber: 113
    functionLinenumberEnd: 124
    functionName: semaphore_create
    functionSourceFile: /src/mhd2/src/tests/client_server/libtest.c
    functionUses: 0
    functionsReached:
    - pthread_mutex_init
    - pthread_cond_init
    - test_check
    linkageType: ''
    returnType: void
    signature: "void semaphore_create (struct Semaphore *sem,\n                  unsigned
      int val)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: test_check
      Src: /src/mhd2/src/tests/client_server/libtest.c:135,1
    - Dst: pthread_mutex_lock
      Src: /src/mhd2/src/tests/client_server/libtest.c:135,1
    - Dst: pthread_cond_wait
      Src: /src/mhd2/src/tests/client_server/libtest.c:138,1
    - Dst: test_check
      Src: /src/mhd2/src/tests/client_server/libtest.c:142,1
    - Dst: pthread_mutex_unlock
      Src: /src/mhd2/src/tests/client_server/libtest.c:142,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 1
    argNames:
    - sem
    argTypes:
    - struct Semaphore*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 143
      start: 132
    functionDepth: 1
    functionLinenumber: 132
    functionLinenumberEnd: 143
    functionName: semaphore_down
    functionSourceFile: /src/mhd2/src/tests/client_server/libtest.c
    functionUses: 0
    functionsReached:
    - pthread_mutex_lock
    - pthread_cond_wait
    - test_check
    - pthread_mutex_unlock
    linkageType: ''
    returnType: void
    signature: void semaphore_down (struct Semaphore *sem)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: test_check
      Src: /src/mhd2/src/tests/client_server/libtest.c:154,1
    - Dst: pthread_mutex_lock
      Src: /src/mhd2/src/tests/client_server/libtest.c:154,1
    - Dst: test_check
      Src: /src/mhd2/src/tests/client_server/libtest.c:156,1
    - Dst: pthread_mutex_unlock
      Src: /src/mhd2/src/tests/client_server/libtest.c:156,1
    - Dst: pthread_cond_signal
      Src: /src/mhd2/src/tests/client_server/libtest.c:157,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 1
    argNames:
    - sem
    argTypes:
    - struct Semaphore*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 158
      start: 151
    functionDepth: 1
    functionLinenumber: 151
    functionLinenumberEnd: 158
    functionName: semaphore_up
    functionSourceFile: /src/mhd2/src/tests/client_server/libtest.c
    functionUses: 0
    functionsReached:
    - pthread_mutex_lock
    - pthread_cond_signal
    - test_check
    - pthread_mutex_unlock
    linkageType: ''
    returnType: void
    signature: void semaphore_up (struct Semaphore *sem)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: test_check
      Src: /src/mhd2/src/tests/client_server/libtest.c:169,1
    - Dst: pthread_cond_destroy
      Src: /src/mhd2/src/tests/client_server/libtest.c:169,1
    - Dst: test_check
      Src: /src/mhd2/src/tests/client_server/libtest.c:170,1
    - Dst: pthread_mutex_destroy
      Src: /src/mhd2/src/tests/client_server/libtest.c:170,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - sem
    argTypes:
    - struct Semaphore*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 171
      start: 166
    functionDepth: 1
    functionLinenumber: 166
    functionLinenumberEnd: 171
    functionName: semaphore_destroy
    functionSourceFile: /src/mhd2/src/tests/client_server/libtest.c
    functionUses: 0
    functionsReached:
    - pthread_mutex_destroy
    - pthread_cond_destroy
    - test_check
    linkageType: ''
    returnType: void
    signature: void semaphore_destroy (struct Semaphore *sem)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: struct ServerContext*::phase::server_cb
      Src: /src/mhd2/src/tests/client_server/libtest.c:257,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 5
    argNames:
    - cls
    - MHD_RESTRICT
    - MHD_RESTRICT
    - method
    - upload_size
    argTypes:
    - void*
    - struct MHD_Request*
    - struct MHD_String*
    - enum MHD_HTTP_Method
    - uint_fast64_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 262
      start: 246
    functionDepth: 0
    functionLinenumber: 246
    functionLinenumberEnd: 262
    functionName: server_req_cb
    functionSourceFile: /src/mhd2/src/tests/client_server/libtest.c
    functionUses: 0
    functionsReached:
    - struct ServerContext*::phase::server_cb
    linkageType: ''
    returnType: struct MHD_Action
    signature: "struct MHD_Action *\nserver_req_cb (void *cls,\n               struct
      MHD_Request *MHD_RESTRICT request,\n               const struct MHD_String *MHD_RESTRICT
      path,\n               enum MHD_HTTP_Method method,\n               uint_fast64_t
      upload_size)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: fprintf
      Src: /src/mhd2/src/tests/client_server/libtest.c:305,1
    - Dst: struct ClientContext*::phase::client_cb
      Src: /src/mhd2/src/tests/client_server/libtest.c:309,1
    - Dst: fprintf
      Src: /src/mhd2/src/tests/client_server/libtest.c:313,1
    - Dst: test_check
      Src: /src/mhd2/src/tests/client_server/libtest.c:319,1
    - Dst: write
      Src: /src/mhd2/src/tests/client_server/libtest.c:320,1
    - Dst: test_check
      Src: /src/mhd2/src/tests/client_server/libtest.c:327,1
    - Dst: write
      Src: /src/mhd2/src/tests/client_server/libtest.c:328,1
    - Dst: fprintf
      Src: /src/mhd2/src/tests/client_server/libtest.c:331,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 12
    argCount: 1
    argNames:
    - cls
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 336
      start: 299
    functionDepth: 1
    functionLinenumber: 299
    functionLinenumberEnd: 336
    functionName: run_single_client
    functionSourceFile: /src/mhd2/src/tests/client_server/libtest.c
    functionUses: 0
    functionsReached:
    - write
    - fprintf
    - test_check
    - struct ClientContext*::phase::client_cb
    linkageType: ''
    returnType: void
    signature: 'void *

      run_single_client (void *cls)'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: test_check
      Src: /src/mhd2/src/tests/client_server/libtest.c:349,1
    - Dst: pipe
      Src: /src/mhd2/src/tests/client_server/libtest.c:350,1
    - Dst: fcntl
      Src: /src/mhd2/src/tests/client_server/libtest.c:351,1
    - Dst: test_check
      Src: /src/mhd2/src/tests/client_server/libtest.c:354,1
    - Dst: fcntl
      Src: /src/mhd2/src/tests/client_server/libtest.c:355,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 1
    argNames:
    - p
    argTypes:
    - int[]
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 358
      start: 344
    functionDepth: 1
    functionLinenumber: 344
    functionLinenumberEnd: 358
    functionName: make_pipe
    functionSourceFile: /src/mhd2/src/tests/client_server/libtest.c
    functionUses: 0
    functionsReached:
    - pipe
    - test_check
    - fcntl
    linkageType: ''
    returnType: void
    signature: void make_pipe (int p[2])
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: make_pipe
      Src: /src/mhd2/src/tests/client_server/libtest.c:383,1
    - Dst: fprintf
      Src: /src/mhd2/src/tests/client_server/libtest.c:384,1
    - Dst: pthread_create
      Src: /src/mhd2/src/tests/client_server/libtest.c:395,1
    - Dst: nanosleep
      Src: /src/mhd2/src/tests/client_server/libtest.c:413,1
    - Dst: fprintf
      Src: /src/mhd2/src/tests/client_server/libtest.c:416,1
    - Dst: strerror
      Src: /src/mhd2/src/tests/client_server/libtest.c:418,1
    - Dst: read
      Src: /src/mhd2/src/tests/client_server/libtest.c:422,1
    - Dst: fprintf
      Src: /src/mhd2/src/tests/client_server/libtest.c:431,1
    - Dst: exit
      Src: /src/mhd2/src/tests/client_server/libtest.c:436,1
    - Dst: test_check
      Src: /src/mhd2/src/tests/client_server/libtest.c:443,1
    - Dst: pthread_join
      Src: /src/mhd2/src/tests/client_server/libtest.c:444,1
    - Dst: curl_slist_free_all
      Src: /src/mhd2/src/tests/client_server/libtest.c:448,1
    - Dst: test_check
      Src: /src/mhd2/src/tests/client_server/libtest.c:450,1
    - Dst: close
      Src: /src/mhd2/src/tests/client_server/libtest.c:450,1
    - Dst: test_check
      Src: /src/mhd2/src/tests/client_server/libtest.c:451,1
    - Dst: close
      Src: /src/mhd2/src/tests/client_server/libtest.c:451,1
    - Dst: fprintf
      Src: /src/mhd2/src/tests/client_server/libtest.c:452,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 40
    argCount: 2
    argNames:
    - phase
    - pc
    argTypes:
    - struct MHDT_Phase*
    - struct MHDT_PhaseContext*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 457
      start: 367
    functionDepth: 2
    functionLinenumber: 367
    functionLinenumberEnd: 457
    functionName: run_client_phase
    functionSourceFile: /src/mhd2/src/tests/client_server/libtest.c
    functionUses: 0
    functionsReached:
    - close
    - fprintf
    - curl_slist_free_all
    - make_pipe
    - read
    - nanosleep
    - exit
    - pthread_create
    - strerror
    - test_check
    - pthread_join
    linkageType: ''
    returnType: bool
    signature: "bool run_client_phase (const struct MHDT_Phase *phase,\n                  const
      struct MHDT_PhaseContext *pc)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: fprintf
      Src: /src/mhd2/src/tests/client_server/libtest.c:476,1
    - Dst: semaphore_down
      Src: /src/mhd2/src/tests/client_server/libtest.c:483,1
    - Dst: semaphore_up
      Src: /src/mhd2/src/tests/client_server/libtest.c:485,1
    - Dst: fprintf
      Src: /src/mhd2/src/tests/client_server/libtest.c:488,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 12
    argCount: 1
    argNames:
    - cls
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 491
      start: 467
    functionDepth: 2
    functionLinenumber: 467
    functionLinenumberEnd: 491
    functionName: server_phase_logic
    functionSourceFile: /src/mhd2/src/tests/client_server/libtest.c
    functionUses: 0
    functionsReached:
    - semaphore_up
    - fprintf
    - semaphore_down
    linkageType: ''
    returnType: void
    signature: 'void *

      server_phase_logic (void *cls)'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: struct ServerContext*::run_cb
      Src: /src/mhd2/src/tests/client_server/libtest.c:505,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - cls
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 509
      start: 500
    functionDepth: 0
    functionLinenumber: 500
    functionLinenumberEnd: 509
    functionName: server_run_logic
    functionSourceFile: /src/mhd2/src/tests/client_server/libtest.c
    functionUses: 0
    functionsReached:
    - struct ServerContext*::run_cb
    linkageType: ''
    returnType: void
    signature: 'void *

      server_run_logic (void *cls)'
  - BBCount: 11
    BranchProfiles: []
    Callsites:
    - Dst: getenv
      Src: /src/mhd2/src/tests/client_server/libtest.c:540,1
    - Dst: sscanf
      Src: /src/mhd2/src/tests/client_server/libtest.c:547,1
    - Dst: make_pipe
      Src: /src/mhd2/src/tests/client_server/libtest.c:554,1
    - Dst: semaphore_create
      Src: /src/mhd2/src/tests/client_server/libtest.c:555,1
    - Dst: semaphore_create
      Src: /src/mhd2/src/tests/client_server/libtest.c:557,1
    - Dst: MHD_daemon_create
      Src: /src/mhd2/src/tests/client_server/libtest.c:559,1
    - Dst: exit
      Src: /src/mhd2/src/tests/client_server/libtest.c:562,1
    - Dst: ss_cb
      Src: /src/mhd2/src/tests/client_server/libtest.c:563,1
    - Dst: fprintf
      Src: /src/mhd2/src/tests/client_server/libtest.c:567,1
    - Dst: MHD_daemon_start
      Src: /src/mhd2/src/tests/client_server/libtest.c:575,1
    - Dst: fprintf
      Src: /src/mhd2/src/tests/client_server/libtest.c:579,1
    - Dst: MHD_status_code_to_string_lazy
      Src: /src/mhd2/src/tests/client_server/libtest.c:581,1
    - Dst: fprintf
      Src: /src/mhd2/src/tests/client_server/libtest.c:583,1
    - Dst: MHD_daemon_destroy
      Src: /src/mhd2/src/tests/client_server/libtest.c:587,1
    - Dst: MHD_daemon_get_info_fixed
      Src: /src/mhd2/src/tests/client_server/libtest.c:597,1
    - Dst: test_check
      Src: /src/mhd2/src/tests/client_server/libtest.c:601,1
    - Dst: getenv
      Src: /src/mhd2/src/tests/client_server/libtest.c:604,1
    - Dst: sscanf
      Src: /src/mhd2/src/tests/client_server/libtest.c:610,1
    - Dst: fprintf
      Src: /src/mhd2/src/tests/client_server/libtest.c:616,1
    - Dst: MHD_daemon_destroy
      Src: /src/mhd2/src/tests/client_server/libtest.c:618,1
    - Dst: snprintf
      Src: /src/mhd2/src/tests/client_server/libtest.c:624,1
    - Dst: snprintf
      Src: /src/mhd2/src/tests/client_server/libtest.c:628,1
    - Dst: pthread_create
      Src: /src/mhd2/src/tests/client_server/libtest.c:636,1
    - Dst: fprintf
      Src: /src/mhd2/src/tests/client_server/libtest.c:641,1
    - Dst: strerror
      Src: /src/mhd2/src/tests/client_server/libtest.c:643,1
    - Dst: MHD_daemon_destroy
      Src: /src/mhd2/src/tests/client_server/libtest.c:644,1
    - Dst: pthread_create
      Src: /src/mhd2/src/tests/client_server/libtest.c:649,1
    - Dst: fprintf
      Src: /src/mhd2/src/tests/client_server/libtest.c:654,1
    - Dst: strerror
      Src: /src/mhd2/src/tests/client_server/libtest.c:656,1
    - Dst: MHD_daemon_destroy
      Src: /src/mhd2/src/tests/client_server/libtest.c:657,1
    - Dst: fprintf
      Src: /src/mhd2/src/tests/client_server/libtest.c:662,1
    - Dst: fprintf
      Src: /src/mhd2/src/tests/client_server/libtest.c:675,1
    - Dst: run_client_phase
      Src: /src/mhd2/src/tests/client_server/libtest.c:678,1
    - Dst: semaphore_up
      Src: /src/mhd2/src/tests/client_server/libtest.c:687,1
    - Dst: semaphore_down
      Src: /src/mhd2/src/tests/client_server/libtest.c:689,1
    - Dst: test_check
      Src: /src/mhd2/src/tests/client_server/libtest.c:698,1
    - Dst: write
      Src: /src/mhd2/src/tests/client_server/libtest.c:699,1
    - Dst: test_check
      Src: /src/mhd2/src/tests/client_server/libtest.c:702,1
    - Dst: pthread_join
      Src: /src/mhd2/src/tests/client_server/libtest.c:703,1
    - Dst: semaphore_up
      Src: /src/mhd2/src/tests/client_server/libtest.c:712,1
    - Dst: test_check
      Src: /src/mhd2/src/tests/client_server/libtest.c:713,1
    - Dst: pthread_join
      Src: /src/mhd2/src/tests/client_server/libtest.c:714,1
    - Dst: MHD_daemon_destroy
      Src: /src/mhd2/src/tests/client_server/libtest.c:718,1
    - Dst: semaphore_destroy
      Src: /src/mhd2/src/tests/client_server/libtest.c:719,1
    - Dst: semaphore_destroy
      Src: /src/mhd2/src/tests/client_server/libtest.c:720,1
    - Dst: test_check
      Src: /src/mhd2/src/tests/client_server/libtest.c:721,1
    - Dst: close
      Src: /src/mhd2/src/tests/client_server/libtest.c:721,1
    - Dst: test_check
      Src: /src/mhd2/src/tests/client_server/libtest.c:722,1
    - Dst: close
      Src: /src/mhd2/src/tests/client_server/libtest.c:722,1
    CyclomaticComplexity: 16
    EdgeCount: 16
    ICount: 86
    argCount: 5
    argNames:
    - ss_cb
    - ss_cb_cls
    - run_cb
    - run_cb_cls
    - phases
    argTypes:
    - MHDT_ServerSetup
    - void*
    - MHDT_ServerRunner
    - void*
    - struct MHDT_Phase*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 724
      start: 512
    functionDepth: 3
    functionLinenumber: 512
    functionLinenumberEnd: 724
    functionName: MHDT_test
    functionSourceFile: /src/mhd2/src/tests/client_server/libtest.c
    functionUses: 1
    functionsReached:
    - fprintf
    - make_pipe
    - MHD_status_code_to_string_lazy
    - strerror
    - close
    - semaphore_down
    - run_client_phase
    - MHD_daemon_start
    - semaphore_destroy
    - pthread_create
    - MHD_daemon_get_info_fixed
    - ss_cb
    - pthread_join
    - sscanf
    - exit
    - snprintf
    - MHD_daemon_create
    - getenv
    - write
    - MHD_daemon_destroy
    - semaphore_up
    - semaphore_create
    - test_check
    linkageType: ''
    returnType: int
    signature: "int MHDT_test (MHDT_ServerSetup ss_cb,\n           void *ss_cb_cls,\n
      \          MHDT_ServerRunner run_cb,\n           void *run_cb_cls,\n           struct
      MHDT_Phase *phases)"
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: snprintf
      Src: /src/mhd2/src/tests/client_server/libtest.c:735,1
    - Dst: open
      Src: /src/mhd2/src/tests/client_server/libtest.c:739,1
    - Dst: fprintf
      Src: /src/mhd2/src/tests/client_server/libtest.c:743,1
    - Dst: strerror
      Src: /src/mhd2/src/tests/client_server/libtest.c:746,1
    - Dst: fstat
      Src: /src/mhd2/src/tests/client_server/libtest.c:750,1
    - Dst: fprintf
      Src: /src/mhd2/src/tests/client_server/libtest.c:753,1
    - Dst: strerror
      Src: /src/mhd2/src/tests/client_server/libtest.c:756,1
    - Dst: close
      Src: /src/mhd2/src/tests/client_server/libtest.c:757,1
    - Dst: fprintf
      Src: /src/mhd2/src/tests/client_server/libtest.c:762,1
    - Dst: close
      Src: /src/mhd2/src/tests/client_server/libtest.c:767,1
    - Dst: malloc
      Src: /src/mhd2/src/tests/client_server/libtest.c:770,1
    - Dst: fprintf
      Src: /src/mhd2/src/tests/client_server/libtest.c:773,1
    - Dst: strerror
      Src: /src/mhd2/src/tests/client_server/libtest.c:775,1
    - Dst: close
      Src: /src/mhd2/src/tests/client_server/libtest.c:776,1
    - Dst: read
      Src: /src/mhd2/src/tests/client_server/libtest.c:780,1
    - Dst: fprintf
      Src: /src/mhd2/src/tests/client_server/libtest.c:784,1
    - Dst: strerror
      Src: /src/mhd2/src/tests/client_server/libtest.c:787,1
    - Dst: free
      Src: /src/mhd2/src/tests/client_server/libtest.c:788,1
    - Dst: close
      Src: /src/mhd2/src/tests/client_server/libtest.c:789,1
    - Dst: close
      Src: /src/mhd2/src/tests/client_server/libtest.c:792,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 32
    argCount: 1
    argNames:
    - name
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 795
      start: 727
    functionDepth: 0
    functionLinenumber: 727
    functionLinenumberEnd: 795
    functionName: MHDT_load_pem
    functionSourceFile: /src/mhd2/src/tests/client_server/libtest.c
    functionUses: 0
    functionsReached:
    - close
    - fstat
    - fprintf
    - malloc
    - open
    - read
    - free
    - snprintf
    - strerror
    linkageType: ''
    returnType: char
    signature: 'char *

      MHDT_load_pem (const char *name)'
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: MHD_D_OPTION_POLL_SYSCALL
      Src: /src/mhd2/src/tests/client_server/test_tls2.c:51,1
    - Dst: MHD_D_OPTION_WM_WORKER_THREADS
      Src: /src/mhd2/src/tests/client_server/test_tls2.c:52,1
    - Dst: MHD_D_OPTION_TERMINATE
      Src: /src/mhd2/src/tests/client_server/test_tls2.c:53,1
    - Dst: MHD_D_OPTION_POLL_SYSCALL
      Src: /src/mhd2/src/tests/client_server/test_tls2.c:56,1
    - Dst: MHD_D_OPTION_WM_WORKER_THREADS
      Src: /src/mhd2/src/tests/client_server/test_tls2.c:57,1
    - Dst: MHD_D_OPTION_TERMINATE
      Src: /src/mhd2/src/tests/client_server/test_tls2.c:58,1
    - Dst: MHD_D_OPTION_POLL_SYSCALL
      Src: /src/mhd2/src/tests/client_server/test_tls2.c:61,1
    - Dst: MHD_D_OPTION_WM_WORKER_THREADS
      Src: /src/mhd2/src/tests/client_server/test_tls2.c:62,1
    - Dst: MHD_D_OPTION_TERMINATE
      Src: /src/mhd2/src/tests/client_server/test_tls2.c:63,1
    - Dst: MHD_D_OPTION_POLL_SYSCALL
      Src: /src/mhd2/src/tests/client_server/test_tls2.c:66,1
    - Dst: MHD_D_OPTION_WM_WORKER_THREADS
      Src: /src/mhd2/src/tests/client_server/test_tls2.c:67,1
    - Dst: MHD_D_OPTION_TERMINATE
      Src: /src/mhd2/src/tests/client_server/test_tls2.c:68,1
    - Dst: MHD_D_OPTION_POLL_SYSCALL
      Src: /src/mhd2/src/tests/client_server/test_tls2.c:72,1
    - Dst: MHD_D_OPTION_WM_WORKER_THREADS
      Src: /src/mhd2/src/tests/client_server/test_tls2.c:73,1
    - Dst: MHD_D_OPTION_TERMINATE
      Src: /src/mhd2/src/tests/client_server/test_tls2.c:74,1
    - Dst: MHD_D_OPTION_POLL_SYSCALL
      Src: /src/mhd2/src/tests/client_server/test_tls2.c:77,1
    - Dst: MHD_D_OPTION_WM_WORKER_THREADS
      Src: /src/mhd2/src/tests/client_server/test_tls2.c:78,1
    - Dst: MHD_D_OPTION_TERMINATE
      Src: /src/mhd2/src/tests/client_server/test_tls2.c:79,1
    - Dst: MHD_D_OPTION_POLL_SYSCALL
      Src: /src/mhd2/src/tests/client_server/test_tls2.c:83,1
    - Dst: MHD_D_OPTION_WM_WORKER_THREADS
      Src: /src/mhd2/src/tests/client_server/test_tls2.c:84,1
    - Dst: MHD_D_OPTION_TERMINATE
      Src: /src/mhd2/src/tests/client_server/test_tls2.c:85,1
    - Dst: MHD_D_OPTION_POLL_SYSCALL
      Src: /src/mhd2/src/tests/client_server/test_tls2.c:88,1
    - Dst: MHD_D_OPTION_WM_EXTERNAL_PERIODIC
      Src: /src/mhd2/src/tests/client_server/test_tls2.c:89,1
    - Dst: MHD_D_OPTION_TERMINATE
      Src: /src/mhd2/src/tests/client_server/test_tls2.c:90,1
    - Dst: fprintf
      Src: /src/mhd2/src/tests/client_server/test_tls2.c:348,1
    - Dst: MHDT_test
      Src: /src/mhd2/src/tests/client_server/test_tls2.c:351,1
    - Dst: fprintf
      Src: /src/mhd2/src/tests/client_server/test_tls2.c:358,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 12
    argCount: 2
    argNames:
    - argc
    - argv
    argTypes:
    - int
    - char*[]
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 366
      start: 47
    functionDepth: 4
    functionLinenumber: 47
    functionLinenumberEnd: 366
    functionName: main
    functionSourceFile: /src/mhd2/src/tests/client_server/test_tls2.c
    functionUses: 0
    functionsReached:
    - MHD_D_OPTION_WM_EXTERNAL_PERIODIC
    - MHDT_test
    - fprintf
    - MHD_D_OPTION_POLL_SYSCALL
    - MHD_D_OPTION_WM_WORKER_THREADS
    - MHD_D_OPTION_TERMINATE
    linkageType: ''
    returnType: int
    signature: int main (int argc, char *argv[])
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: MHD_D_OPTION_POLL_SYSCALL
      Src: /src/mhd2/src/tests/client_server/test_client_server.c:51,1
    - Dst: MHD_D_OPTION_WM_WORKER_THREADS
      Src: /src/mhd2/src/tests/client_server/test_client_server.c:52,1
    - Dst: MHD_D_OPTION_TERMINATE
      Src: /src/mhd2/src/tests/client_server/test_client_server.c:53,1
    - Dst: MHD_D_OPTION_POLL_SYSCALL
      Src: /src/mhd2/src/tests/client_server/test_client_server.c:56,1
    - Dst: MHD_D_OPTION_WM_WORKER_THREADS
      Src: /src/mhd2/src/tests/client_server/test_client_server.c:57,1
    - Dst: MHD_D_OPTION_TERMINATE
      Src: /src/mhd2/src/tests/client_server/test_client_server.c:58,1
    - Dst: MHD_D_OPTION_POLL_SYSCALL
      Src: /src/mhd2/src/tests/client_server/test_client_server.c:61,1
    - Dst: MHD_D_OPTION_WM_WORKER_THREADS
      Src: /src/mhd2/src/tests/client_server/test_client_server.c:62,1
    - Dst: MHD_D_OPTION_TERMINATE
      Src: /src/mhd2/src/tests/client_server/test_client_server.c:63,1
    - Dst: MHD_D_OPTION_POLL_SYSCALL
      Src: /src/mhd2/src/tests/client_server/test_client_server.c:66,1
    - Dst: MHD_D_OPTION_WM_WORKER_THREADS
      Src: /src/mhd2/src/tests/client_server/test_client_server.c:67,1
    - Dst: MHD_D_OPTION_TERMINATE
      Src: /src/mhd2/src/tests/client_server/test_client_server.c:68,1
    - Dst: MHD_D_OPTION_POLL_SYSCALL
      Src: /src/mhd2/src/tests/client_server/test_client_server.c:71,1
    - Dst: MHD_D_OPTION_WM_WORKER_THREADS
      Src: /src/mhd2/src/tests/client_server/test_client_server.c:72,1
    - Dst: MHD_D_OPTION_TERMINATE
      Src: /src/mhd2/src/tests/client_server/test_client_server.c:73,1
    - Dst: MHD_D_OPTION_POLL_SYSCALL
      Src: /src/mhd2/src/tests/client_server/test_client_server.c:76,1
    - Dst: MHD_D_OPTION_WM_WORKER_THREADS
      Src: /src/mhd2/src/tests/client_server/test_client_server.c:77,1
    - Dst: MHD_D_OPTION_TERMINATE
      Src: /src/mhd2/src/tests/client_server/test_client_server.c:78,1
    - Dst: MHD_D_OPTION_POLL_SYSCALL
      Src: /src/mhd2/src/tests/client_server/test_client_server.c:81,1
    - Dst: MHD_D_OPTION_WM_WORKER_THREADS
      Src: /src/mhd2/src/tests/client_server/test_client_server.c:82,1
    - Dst: MHD_D_OPTION_TERMINATE
      Src: /src/mhd2/src/tests/client_server/test_client_server.c:83,1
    - Dst: MHD_D_OPTION_POLL_SYSCALL
      Src: /src/mhd2/src/tests/client_server/test_client_server.c:86,1
    - Dst: MHD_D_OPTION_WM_WORKER_THREADS
      Src: /src/mhd2/src/tests/client_server/test_client_server.c:87,1
    - Dst: MHD_D_OPTION_TERMINATE
      Src: /src/mhd2/src/tests/client_server/test_client_server.c:88,1
    - Dst: MHD_D_OPTION_POLL_SYSCALL
      Src: /src/mhd2/src/tests/client_server/test_client_server.c:91,1
    - Dst: MHD_D_OPTION_WM_WORKER_THREADS
      Src: /src/mhd2/src/tests/client_server/test_client_server.c:92,1
    - Dst: MHD_D_OPTION_TERMINATE
      Src: /src/mhd2/src/tests/client_server/test_client_server.c:93,1
    - Dst: MHD_D_OPTION_POLL_SYSCALL
      Src: /src/mhd2/src/tests/client_server/test_client_server.c:96,1
    - Dst: MHD_D_OPTION_WM_WORKER_THREADS
      Src: /src/mhd2/src/tests/client_server/test_client_server.c:97,1
    - Dst: MHD_D_OPTION_TERMINATE
      Src: /src/mhd2/src/tests/client_server/test_client_server.c:98,1
    - Dst: MHD_D_OPTION_POLL_SYSCALL
      Src: /src/mhd2/src/tests/client_server/test_client_server.c:101,1
    - Dst: MHD_D_OPTION_WM_EXTERNAL_PERIODIC
      Src: /src/mhd2/src/tests/client_server/test_client_server.c:102,1
    - Dst: MHD_D_OPTION_TERMINATE
      Src: /src/mhd2/src/tests/client_server/test_client_server.c:103,1
    - Dst: fprintf
      Src: /src/mhd2/src/tests/client_server/test_client_server.c:322,1
    - Dst: MHDT_test
      Src: /src/mhd2/src/tests/client_server/test_client_server.c:325,1
    - Dst: fprintf
      Src: /src/mhd2/src/tests/client_server/test_client_server.c:332,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 12
    argCount: 2
    argNames:
    - argc
    - argv
    argTypes:
    - int
    - char*[]
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 340
      start: 47
    functionDepth: 4
    functionLinenumber: 47
    functionLinenumberEnd: 340
    functionName: main
    functionSourceFile: /src/mhd2/src/tests/client_server/test_client_server.c
    functionUses: 0
    functionsReached:
    - MHD_D_OPTION_WM_EXTERNAL_PERIODIC
    - MHDT_test
    - fprintf
    - MHD_D_OPTION_POLL_SYSCALL
    - MHD_D_OPTION_WM_WORKER_THREADS
    - MHD_D_OPTION_TERMINATE
    linkageType: ''
    returnType: int
    signature: int main (int argc, char *argv[])
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: MHDT_load_pem
      Src: /src/mhd2/src/tests/client_server/test_cert_tls.c:51,1
    - Dst: MHDT_load_pem
      Src: /src/mhd2/src/tests/client_server/test_cert_tls.c:53,1
    - Dst: MHD_D_OPTION_POLL_SYSCALL
      Src: /src/mhd2/src/tests/client_server/test_cert_tls.c:55,1
    - Dst: MHD_D_OPTION_WM_WORKER_THREADS
      Src: /src/mhd2/src/tests/client_server/test_cert_tls.c:56,1
    - Dst: MHD_D_OPTION_TLS
      Src: /src/mhd2/src/tests/client_server/test_cert_tls.c:57,1
    - Dst: MHD_D_OPTION_TLS_CERT_KEY
      Src: /src/mhd2/src/tests/client_server/test_cert_tls.c:58,1
    - Dst: MHD_D_OPTION_TERMINATE
      Src: /src/mhd2/src/tests/client_server/test_cert_tls.c:61,1
    - Dst: MHD_D_OPTION_POLL_SYSCALL
      Src: /src/mhd2/src/tests/client_server/test_cert_tls.c:65,1
    - Dst: MHD_D_OPTION_WM_WORKER_THREADS
      Src: /src/mhd2/src/tests/client_server/test_cert_tls.c:66,1
    - Dst: MHD_D_OPTION_TLS
      Src: /src/mhd2/src/tests/client_server/test_cert_tls.c:67,1
    - Dst: MHD_D_OPTION_TLS_CERT_KEY
      Src: /src/mhd2/src/tests/client_server/test_cert_tls.c:68,1
    - Dst: MHD_D_OPTION_TERMINATE
      Src: /src/mhd2/src/tests/client_server/test_cert_tls.c:71,1
    - Dst: MHD_D_OPTION_POLL_SYSCALL
      Src: /src/mhd2/src/tests/client_server/test_cert_tls.c:76,1
    - Dst: MHD_D_OPTION_WM_WORKER_THREADS
      Src: /src/mhd2/src/tests/client_server/test_cert_tls.c:77,1
    - Dst: MHD_D_OPTION_TLS
      Src: /src/mhd2/src/tests/client_server/test_cert_tls.c:78,1
    - Dst: MHD_D_OPTION_TLS_CERT_KEY
      Src: /src/mhd2/src/tests/client_server/test_cert_tls.c:79,1
    - Dst: MHD_D_OPTION_TERMINATE
      Src: /src/mhd2/src/tests/client_server/test_cert_tls.c:82,1
    - Dst: fprintf
      Src: /src/mhd2/src/tests/client_server/test_cert_tls.c:168,1
    - Dst: MHDT_test
      Src: /src/mhd2/src/tests/client_server/test_cert_tls.c:171,1
    - Dst: fprintf
      Src: /src/mhd2/src/tests/client_server/test_cert_tls.c:178,1
    - Dst: free
      Src: /src/mhd2/src/tests/client_server/test_cert_tls.c:185,1
    - Dst: free
      Src: /src/mhd2/src/tests/client_server/test_cert_tls.c:186,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 14
    argCount: 2
    argNames:
    - argc
    - argv
    argTypes:
    - int
    - char*[]
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 188
      start: 47
    functionDepth: 4
    functionLinenumber: 47
    functionLinenumberEnd: 188
    functionName: main
    functionSourceFile: /src/mhd2/src/tests/client_server/test_cert_tls.c
    functionUses: 0
    functionsReached:
    - MHDT_test
    - MHD_D_OPTION_TLS_CERT_KEY
    - MHD_D_OPTION_TLS
    - fprintf
    - MHD_D_OPTION_POLL_SYSCALL
    - free
    - MHD_D_OPTION_WM_WORKER_THREADS
    - MHD_D_OPTION_TERMINATE
    - MHDT_load_pem
    linkageType: ''
    returnType: int
    signature: int main (int argc, char *argv[])
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: MHD_D_OPTION_POLL_SYSCALL
      Src: /src/mhd2/src/tests/client_server/test_tls.c:51,1
    - Dst: MHD_D_OPTION_WM_WORKER_THREADS
      Src: /src/mhd2/src/tests/client_server/test_tls.c:52,1
    - Dst: MHD_D_OPTION_TERMINATE
      Src: /src/mhd2/src/tests/client_server/test_tls.c:53,1
    - Dst: MHD_D_OPTION_POLL_SYSCALL
      Src: /src/mhd2/src/tests/client_server/test_tls.c:56,1
    - Dst: MHD_D_OPTION_WM_WORKER_THREADS
      Src: /src/mhd2/src/tests/client_server/test_tls.c:57,1
    - Dst: MHD_D_OPTION_TERMINATE
      Src: /src/mhd2/src/tests/client_server/test_tls.c:58,1
    - Dst: MHD_D_OPTION_POLL_SYSCALL
      Src: /src/mhd2/src/tests/client_server/test_tls.c:61,1
    - Dst: MHD_D_OPTION_WM_WORKER_THREADS
      Src: /src/mhd2/src/tests/client_server/test_tls.c:62,1
    - Dst: MHD_D_OPTION_TERMINATE
      Src: /src/mhd2/src/tests/client_server/test_tls.c:63,1
    - Dst: MHD_D_OPTION_POLL_SYSCALL
      Src: /src/mhd2/src/tests/client_server/test_tls.c:66,1
    - Dst: MHD_D_OPTION_WM_WORKER_THREADS
      Src: /src/mhd2/src/tests/client_server/test_tls.c:67,1
    - Dst: MHD_D_OPTION_TERMINATE
      Src: /src/mhd2/src/tests/client_server/test_tls.c:68,1
    - Dst: MHD_D_OPTION_POLL_SYSCALL
      Src: /src/mhd2/src/tests/client_server/test_tls.c:72,1
    - Dst: MHD_D_OPTION_WM_WORKER_THREADS
      Src: /src/mhd2/src/tests/client_server/test_tls.c:73,1
    - Dst: MHD_D_OPTION_TERMINATE
      Src: /src/mhd2/src/tests/client_server/test_tls.c:74,1
    - Dst: MHD_D_OPTION_POLL_SYSCALL
      Src: /src/mhd2/src/tests/client_server/test_tls.c:77,1
    - Dst: MHD_D_OPTION_WM_WORKER_THREADS
      Src: /src/mhd2/src/tests/client_server/test_tls.c:78,1
    - Dst: MHD_D_OPTION_TERMINATE
      Src: /src/mhd2/src/tests/client_server/test_tls.c:79,1
    - Dst: MHD_D_OPTION_POLL_SYSCALL
      Src: /src/mhd2/src/tests/client_server/test_tls.c:83,1
    - Dst: MHD_D_OPTION_WM_WORKER_THREADS
      Src: /src/mhd2/src/tests/client_server/test_tls.c:84,1
    - Dst: MHD_D_OPTION_TERMINATE
      Src: /src/mhd2/src/tests/client_server/test_tls.c:85,1
    - Dst: MHD_D_OPTION_POLL_SYSCALL
      Src: /src/mhd2/src/tests/client_server/test_tls.c:88,1
    - Dst: MHD_D_OPTION_WM_EXTERNAL_PERIODIC
      Src: /src/mhd2/src/tests/client_server/test_tls.c:89,1
    - Dst: MHD_D_OPTION_TERMINATE
      Src: /src/mhd2/src/tests/client_server/test_tls.c:90,1
    - Dst: fprintf
      Src: /src/mhd2/src/tests/client_server/test_tls.c:344,1
    - Dst: MHDT_test
      Src: /src/mhd2/src/tests/client_server/test_tls.c:347,1
    - Dst: fprintf
      Src: /src/mhd2/src/tests/client_server/test_tls.c:354,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 12
    argCount: 2
    argNames:
    - argc
    - argv
    argTypes:
    - int
    - char*[]
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 362
      start: 47
    functionDepth: 4
    functionLinenumber: 47
    functionLinenumberEnd: 362
    functionName: main
    functionSourceFile: /src/mhd2/src/tests/client_server/test_tls.c
    functionUses: 0
    functionsReached:
    - MHD_D_OPTION_WM_EXTERNAL_PERIODIC
    - MHDT_test
    - fprintf
    - MHD_D_OPTION_POLL_SYSCALL
    - MHD_D_OPTION_WM_WORKER_THREADS
    - MHD_D_OPTION_TERMINATE
    linkageType: ''
    returnType: int
    signature: int main (int argc, char *argv[])
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: MHD_D_OPTION_POLL_SYSCALL
      Src: /src/mhd2/src/tests/client_server/test_postparser.c:51,1
    - Dst: MHD_D_OPTION_WM_WORKER_THREADS
      Src: /src/mhd2/src/tests/client_server/test_postparser.c:52,1
    - Dst: MHD_D_OPTION_TERMINATE
      Src: /src/mhd2/src/tests/client_server/test_postparser.c:53,1
    - Dst: fprintf
      Src: /src/mhd2/src/tests/client_server/test_postparser.c:184,1
    - Dst: MHDT_test
      Src: /src/mhd2/src/tests/client_server/test_postparser.c:187,1
    - Dst: fprintf
      Src: /src/mhd2/src/tests/client_server/test_postparser.c:194,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 12
    argCount: 2
    argNames:
    - argc
    - argv
    argTypes:
    - int
    - char*[]
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 202
      start: 47
    functionDepth: 4
    functionLinenumber: 47
    functionLinenumberEnd: 202
    functionName: main
    functionSourceFile: /src/mhd2/src/tests/client_server/test_postparser.c
    functionUses: 0
    functionsReached:
    - MHDT_test
    - fprintf
    - MHD_D_OPTION_POLL_SYSCALL
    - MHD_D_OPTION_WM_WORKER_THREADS
    - MHD_D_OPTION_TERMINATE
    linkageType: ''
    returnType: int
    signature: int main (int argc, char *argv[])
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: getenv
      Src: /src/mhd2/src/tests/client_server/libtest_convenience.c:65,1
    - Dst: sscanf
      Src: /src/mhd2/src/tests/client_server/libtest_convenience.c:71,1
    - Dst: fprintf
      Src: /src/mhd2/src/tests/client_server/libtest_convenience.c:77,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 10
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 84
      start: 60
    functionDepth: 0
    functionLinenumber: 60
    functionLinenumberEnd: 84
    functionName: get_port
    functionSourceFile: /src/mhd2/src/tests/client_server/libtest_convenience.c
    functionUses: 0
    functionsReached:
    - getenv
    - fprintf
    - sscanf
    linkageType: ''
    returnType: uint16_t
    signature: uint16_t get_port (void)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: MHD_daemon_set_options
      Src: /src/mhd2/src/tests/client_server/libtest_convenience.c:95,1
    - Dst: MHD_DAEMON_SET_OPTIONS
      Src: /src/mhd2/src/tests/client_server/libtest_convenience.c:101,1
    - Dst: MHD_D_OPTION_DEFAULT_TIMEOUT_MILSEC
      Src: /src/mhd2/src/tests/client_server/libtest_convenience.c:103,1
    - Dst: MHD_D_OPTION_BIND_PORT
      Src: /src/mhd2/src/tests/client_server/libtest_convenience.c:104,1
    - Dst: get_port
      Src: /src/mhd2/src/tests/client_server/libtest_convenience.c:105,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 2
    argNames:
    - cls
    - d
    argTypes:
    - void*
    - struct MHD_Daemon*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 108
      start: 87
    functionDepth: 1
    functionLinenumber: 87
    functionLinenumberEnd: 108
    functionName: MHDT_server_setup_minimal
    functionSourceFile: /src/mhd2/src/tests/client_server/libtest_convenience.c
    functionUses: 0
    functionsReached:
    - MHD_daemon_set_options
    - MHD_D_OPTION_BIND_PORT
    - MHD_DAEMON_SET_OPTIONS
    - get_port
    - MHD_D_OPTION_DEFAULT_TIMEOUT_MILSEC
    linkageType: ''
    returnType: char
    signature: "char *\nMHDT_server_setup_minimal (const void *cls,\n                           struct
      MHD_Daemon *d)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: MHD_DAEMON_SET_OPTIONS
      Src: /src/mhd2/src/tests/client_server/libtest_convenience.c:176,1
    - Dst: MHD_D_OPTION_TLS
      Src: /src/mhd2/src/tests/client_server/libtest_convenience.c:178,1
    - Dst: MHD_DAEMON_SET_OPTIONS
      Src: /src/mhd2/src/tests/client_server/libtest_convenience.c:181,1
    - Dst: MHD_D_OPTION_TLS_CERT_KEY
      Src: /src/mhd2/src/tests/client_server/libtest_convenience.c:183,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 2
    argNames:
    - d
    - be
    argTypes:
    - struct MHD_Daemon*
    - enum MHD_TlsBackend
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 188
      start: 116
    functionDepth: 1
    functionLinenumber: 116
    functionLinenumberEnd: 188
    functionName: server_setup_tls
    functionSourceFile: /src/mhd2/src/tests/client_server/libtest_convenience.c
    functionUses: 0
    functionsReached:
    - MHD_D_OPTION_TLS_CERT_KEY
    - MHD_DAEMON_SET_OPTIONS
    - MHD_D_OPTION_TLS
    linkageType: ''
    returnType: char
    signature: "char *\nserver_setup_tls (struct MHD_Daemon *d,\n                  enum
      MHD_TlsBackend be)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: MHDT_server_setup_minimal
      Src: /src/mhd2/src/tests/client_server/libtest_convenience.c:199,1
    - Dst: server_setup_tls
      Src: /src/mhd2/src/tests/client_server/libtest_convenience.c:203,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 2
    argNames:
    - cls
    - d
    argTypes:
    - void*
    - struct MHD_Daemon*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 208
      start: 191
    functionDepth: 2
    functionLinenumber: 191
    functionLinenumberEnd: 208
    functionName: MHDT_server_setup_tls
    functionSourceFile: /src/mhd2/src/tests/client_server/libtest_convenience.c
    functionUses: 0
    functionsReached:
    - MHDT_server_setup_minimal
    - server_setup_tls
    linkageType: ''
    returnType: char
    signature: "char *\nMHDT_server_setup_tls (const void *cls,\n                       struct
      MHD_Daemon *d)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: MHDT_server_setup_minimal
      Src: /src/mhd2/src/tests/client_server/libtest_convenience.c:219,1
    - Dst: server_setup_tls
      Src: /src/mhd2/src/tests/client_server/libtest_convenience.c:223,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 2
    argNames:
    - cls
    - d
    argTypes:
    - void*
    - struct MHD_Daemon*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 228
      start: 211
    functionDepth: 2
    functionLinenumber: 211
    functionLinenumberEnd: 228
    functionName: MHDT_server_setup_gnutls
    functionSourceFile: /src/mhd2/src/tests/client_server/libtest_convenience.c
    functionUses: 0
    functionsReached:
    - MHDT_server_setup_minimal
    - server_setup_tls
    linkageType: ''
    returnType: char
    signature: "char *\nMHDT_server_setup_gnutls (const void *cls,\n                          struct
      MHD_Daemon *d)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: MHDT_server_setup_minimal
      Src: /src/mhd2/src/tests/client_server/libtest_convenience.c:239,1
    - Dst: server_setup_tls
      Src: /src/mhd2/src/tests/client_server/libtest_convenience.c:243,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 2
    argNames:
    - cls
    - d
    argTypes:
    - void*
    - struct MHD_Daemon*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 248
      start: 231
    functionDepth: 2
    functionLinenumber: 231
    functionLinenumberEnd: 248
    functionName: MHDT_server_setup_openssl
    functionSourceFile: /src/mhd2/src/tests/client_server/libtest_convenience.c
    functionUses: 0
    functionsReached:
    - MHDT_server_setup_minimal
    - server_setup_tls
    linkageType: ''
    returnType: char
    signature: "char *\nMHDT_server_setup_openssl (const void *cls,\n                           struct
      MHD_Daemon *d)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: FD_ZERO
      Src: /src/mhd2/src/tests/client_server/libtest_convenience.c:262,1
    - Dst: FD_SET
      Src: /src/mhd2/src/tests/client_server/libtest_convenience.c:263,1
    - Dst: select
      Src: /src/mhd2/src/tests/client_server/libtest_convenience.c:267,1
    - Dst: fprintf
      Src: /src/mhd2/src/tests/client_server/libtest_convenience.c:274,1
    - Dst: strerror
      Src: /src/mhd2/src/tests/client_server/libtest_convenience.c:276,1
    - Dst: FD_ISSET
      Src: /src/mhd2/src/tests/client_server/libtest_convenience.c:279,1
    - Dst: FD_ISSET
      Src: /src/mhd2/src/tests/client_server/libtest_convenience.c:283,1
    - Dst: read
      Src: /src/mhd2/src/tests/client_server/libtest_convenience.c:285,1
    - Dst: fprintf
      Src: /src/mhd2/src/tests/client_server/libtest_convenience.c:289,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 16
    argCount: 3
    argNames:
    - cls
    - finsig
    - d
    argTypes:
    - void*
    - int
    - struct MHD_Daemon*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 292
      start: 251
    functionDepth: 0
    functionLinenumber: 251
    functionLinenumberEnd: 292
    functionName: MHDT_server_run_minimal
    functionSourceFile: /src/mhd2/src/tests/client_server/libtest_convenience.c
    functionUses: 0
    functionsReached:
    - FD_ZERO
    - fprintf
    - FD_ISSET
    - read
    - select
    - strerror
    - FD_SET
    linkageType: ''
    returnType: void
    signature: "void MHDT_server_run_minimal (void *cls,\n                         int
      finsig,\n                         struct MHD_Daemon *d)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: FD_ZERO
      Src: /src/mhd2/src/tests/client_server/libtest_convenience.c:306,1
    - Dst: FD_SET
      Src: /src/mhd2/src/tests/client_server/libtest_convenience.c:307,1
    - Dst: select
      Src: /src/mhd2/src/tests/client_server/libtest_convenience.c:315,1
    - Dst: fprintf
      Src: /src/mhd2/src/tests/client_server/libtest_convenience.c:322,1
    - Dst: strerror
      Src: /src/mhd2/src/tests/client_server/libtest_convenience.c:324,1
    - Dst: MHD_daemon_process_blocking
      Src: /src/mhd2/src/tests/client_server/libtest_convenience.c:329,1
    - Dst: fprintf
      Src: /src/mhd2/src/tests/client_server/libtest_convenience.c:332,1
    - Dst: abort
      Src: /src/mhd2/src/tests/client_server/libtest_convenience.c:337,1
    - Dst: FD_ISSET
      Src: /src/mhd2/src/tests/client_server/libtest_convenience.c:340,1
    - Dst: read
      Src: /src/mhd2/src/tests/client_server/libtest_convenience.c:342,1
    - Dst: fprintf
      Src: /src/mhd2/src/tests/client_server/libtest_convenience.c:346,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 19
    argCount: 3
    argNames:
    - cls
    - finsig
    - d
    argTypes:
    - void*
    - int
    - struct MHD_Daemon*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 349
      start: 295
    functionDepth: 0
    functionLinenumber: 295
    functionLinenumberEnd: 349
    functionName: MHDT_server_run_blocking
    functionSourceFile: /src/mhd2/src/tests/client_server/libtest_convenience.c
    functionUses: 0
    functionsReached:
    - FD_ZERO
    - fprintf
    - abort
    - FD_ISSET
    - read
    - MHD_daemon_process_blocking
    - select
    - strerror
    - FD_SET
    linkageType: ''
    returnType: void
    signature: "void MHDT_server_run_blocking (void *cls,\n                          int
      finsig,\n                          struct MHD_Daemon *d)"
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: epoll_ctl
      Src: /src/mhd2/src/tests/client_server/libtest_convenience.c:387,1
    - Dst: epoll_ctl
      Src: /src/mhd2/src/tests/client_server/libtest_convenience.c:402,1
    - Dst: fprintf
      Src: /src/mhd2/src/tests/client_server/libtest_convenience.c:409,1
    - Dst: strerror
      Src: /src/mhd2/src/tests/client_server/libtest_convenience.c:411,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 19
    argCount: 5
    argNames:
    - cls
    - fd
    - watch_for
    - app_cntx_old
    - ecb_cntx
    argTypes:
    - void*
    - MHD_Socket
    - enum MHD_FdState
    - MHD_APP_SOCKET_CNTX_TYPE*
    - struct MHD_EventUpdateContext*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 415
      start: 374
    functionDepth: 0
    functionLinenumber: 374
    functionLinenumberEnd: 415
    functionName: update_fd
    functionSourceFile: /src/mhd2/src/tests/client_server/libtest_convenience.c
    functionUses: 0
    functionsReached:
    - strerror
    - epoll_ctl
    - fprintf
    linkageType: ''
    returnType: void
    signature: "void *\nupdate_fd (\n  void *cls,\n  MHD_Socket fd,\n  enum MHD_FdState
      watch_for,\n  MHD_APP_SOCKET_CNTX_TYPE *app_cntx_old,\n  struct MHD_EventUpdateContext
      *ecb_cntx)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: MHD_DAEMON_SET_OPTIONS
      Src: /src/mhd2/src/tests/client_server/libtest_convenience.c:424,1
    - Dst: MHD_D_OPTION_WM_EXTERNAL_EVENT_LOOP_CB_LEVEL
      Src: /src/mhd2/src/tests/client_server/libtest_convenience.c:426,1
    - Dst: MHD_DAEMON_SET_OPTIONS
      Src: /src/mhd2/src/tests/client_server/libtest_convenience.c:430,1
    - Dst: MHD_D_OPTION_DEFAULT_TIMEOUT_MILSEC
      Src: /src/mhd2/src/tests/client_server/libtest_convenience.c:432,1
    - Dst: MHD_D_OPTION_BIND_PORT
      Src: /src/mhd2/src/tests/client_server/libtest_convenience.c:433,1
    - Dst: get_port
      Src: /src/mhd2/src/tests/client_server/libtest_convenience.c:434,1
    - Dst: epoll_create1
      Src: /src/mhd2/src/tests/client_server/libtest_convenience.c:436,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 2
    argNames:
    - cls
    - d
    argTypes:
    - void*
    - struct MHD_Daemon*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 439
      start: 418
    functionDepth: 1
    functionLinenumber: 418
    functionLinenumberEnd: 439
    functionName: MHDT_server_setup_external
    functionSourceFile: /src/mhd2/src/tests/client_server/libtest_convenience.c
    functionUses: 0
    functionsReached:
    - MHD_D_OPTION_WM_EXTERNAL_EVENT_LOOP_CB_LEVEL
    - epoll_create1
    - MHD_D_OPTION_BIND_PORT
    - MHD_DAEMON_SET_OPTIONS
    - get_port
    - MHD_D_OPTION_DEFAULT_TIMEOUT_MILSEC
    linkageType: ''
    returnType: char
    signature: "char *\nMHDT_server_setup_external (const void *cls,\n                            struct
      MHD_Daemon *d)"
  - BBCount: 11
    BranchProfiles: []
    Callsites:
    - Dst: abort
      Src: /src/mhd2/src/tests/client_server/libtest_convenience.c:451,1
    - Dst: MHD_daemon_process_reg_events
      Src: /src/mhd2/src/tests/client_server/libtest_convenience.c:458,1
    - Dst: fprintf
      Src: /src/mhd2/src/tests/client_server/libtest_convenience.c:461,1
    - Dst: FD_ZERO
      Src: /src/mhd2/src/tests/client_server/libtest_convenience.c:476,1
    - Dst: FD_SET
      Src: /src/mhd2/src/tests/client_server/libtest_convenience.c:477,1
    - Dst: FD_SET
      Src: /src/mhd2/src/tests/client_server/libtest_convenience.c:479,1
    - Dst: select
      Src: /src/mhd2/src/tests/client_server/libtest_convenience.c:482,1
    - Dst: fprintf
      Src: /src/mhd2/src/tests/client_server/libtest_convenience.c:489,1
    - Dst: strerror
      Src: /src/mhd2/src/tests/client_server/libtest_convenience.c:491,1
    - Dst: FD_ISSET
      Src: /src/mhd2/src/tests/client_server/libtest_convenience.c:494,1
    - Dst: FD_ISSET
      Src: /src/mhd2/src/tests/client_server/libtest_convenience.c:497,1
    - Dst: epoll_wait
      Src: /src/mhd2/src/tests/client_server/libtest_convenience.c:505,1
    - Dst: fprintf
      Src: /src/mhd2/src/tests/client_server/libtest_convenience.c:511,1
    - Dst: strerror
      Src: /src/mhd2/src/tests/client_server/libtest_convenience.c:513,1
    - Dst: MHD_FD_STATE_SET_RECV
      Src: /src/mhd2/src/tests/client_server/libtest_convenience.c:521,1
    - Dst: MHD_FD_STATE_SET_SEND
      Src: /src/mhd2/src/tests/client_server/libtest_convenience.c:523,1
    - Dst: MHD_FD_STATE_SET_EXCEPT
      Src: /src/mhd2/src/tests/client_server/libtest_convenience.c:525,1
    - Dst: MHD_daemon_event_update
      Src: /src/mhd2/src/tests/client_server/libtest_convenience.c:526,1
    - Dst: FD_ISSET
      Src: /src/mhd2/src/tests/client_server/libtest_convenience.c:537,1
    - Dst: read
      Src: /src/mhd2/src/tests/client_server/libtest_convenience.c:539,1
    - Dst: fprintf
      Src: /src/mhd2/src/tests/client_server/libtest_convenience.c:543,1
    - Dst: close
      Src: /src/mhd2/src/tests/client_server/libtest_convenience.c:548,1
    CyclomaticComplexity: 18
    EdgeCount: 18
    ICount: 45
    argCount: 3
    argNames:
    - cls
    - finsig
    - d
    argTypes:
    - void*
    - int
    - struct MHD_Daemon*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 550
      start: 442
    functionDepth: 1
    functionLinenumber: 442
    functionLinenumberEnd: 550
    functionName: MHDT_server_run_external
    functionSourceFile: /src/mhd2/src/tests/client_server/libtest_convenience.c
    functionUses: 0
    functionsReached:
    - close
    - FD_ZERO
    - fprintf
    - abort
    - MHD_FD_STATE_SET_SEND
    - MHD_FD_STATE_SET_EXCEPT
    - MHD_daemon_event_update
    - FD_ISSET
    - read
    - epoll_wait
    - MHD_FD_STATE_SET_RECV
    - MHD_daemon_process_reg_events
    - select
    - strerror
    - FD_SET
    linkageType: ''
    returnType: void
    signature: "void MHDT_server_run_external (void *cls,\n                          int
      finsig,\n                          struct MHD_Daemon *d)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - arr
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 74
      start: 73
    functionDepth: 0
    functionLinenumber: 73
    functionLinenumberEnd: 74
    functionName: mhdt_ARR_CNT
    functionSourceFile: /src/mhd2/src/tests/client_server/mhdt_tmpfile.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: mhdt_ARR_CNT(arr)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 2
    argNames:
    - val
    - rot
    argTypes:
    - uint_least32_t
    - unsigned int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 127
      start: 114
    functionDepth: 0
    functionLinenumber: 114
    functionLinenumberEnd: 127
    functionName: mhdtl_rotl32
    functionSourceFile: /src/mhd2/src/tests/client_server/mhdt_tmpfile.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: uint_least32_t
    signature: "uint_least32_t mhdtl_rotl32 (uint_least32_t val,\n              unsigned
      int rot)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: mhdtl_rotl32
      Src: /src/mhd2/src/tests/client_server/mhdt_tmpfile.c:148,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    argCount: 2
    argNames:
    - a
    - b
    argTypes:
    - uint_fast32_t
    - uint_fast32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 158
      start: 137
    functionDepth: 1
    functionLinenumber: 137
    functionLinenumberEnd: 158
    functionName: mhdtl_mix32
    functionSourceFile: /src/mhd2/src/tests/client_server/mhdt_tmpfile.c
    functionUses: 0
    functionsReached:
    - mhdtl_rotl32
    linkageType: ''
    returnType: uint_least32_t
    signature: "uint_least32_t mhdtl_mix32 (uint_fast32_t a,\n             uint_fast32_t
      b)"
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: strlen
      Src: /src/mhd2/src/tests/client_server/mhdt_tmpfile.c:194,1
    - Dst: memcpy
      Src: /src/mhd2/src/tests/client_server/mhdt_tmpfile.c:200,1
    - Dst: strcmp
      Src: /src/mhd2/src/tests/client_server/mhdt_tmpfile.c:213,1
    - Dst: memcpy
      Src: /src/mhd2/src/tests/client_server/mhdt_tmpfile.c:216,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 20
    argCount: 3
    argNames:
    - tmp_dir_name
    - (*tmp_dirs)
    - dirs_have_ptr
    argTypes:
    - char*
    - char[]
    - unsigned int*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 218
      start: 183
    functionDepth: 0
    functionLinenumber: 183
    functionLinenumberEnd: 218
    functionName: tmpdirs_try_add
    functionSourceFile: /src/mhd2/src/tests/client_server/mhdt_tmpfile.c
    functionUses: 0
    functionsReached:
    - strlen
    - memcpy
    - strcmp
    linkageType: ''
    returnType: void
    signature: "void tmpdirs_try_add (const char *tmp_dir_name,\n                 char
      (*tmp_dirs)[MHDT_FILENAME_MAX + 1],\n                 unsigned int *dirs_have_ptr)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: abort
      Src: /src/mhd2/src/tests/client_server/mhdt_tmpfile.c:239,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 3
    argNames:
    - buf_size
    - buf
    - number
    argTypes:
    - size_t
    - char*
    - uint_least32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 246
      start: 231
    functionDepth: 0
    functionLinenumber: 231
    functionLinenumberEnd: 246
    functionName: mhdt_num_to_hex
    functionSourceFile: /src/mhd2/src/tests/client_server/mhdt_tmpfile.c
    functionUses: 0
    functionsReached:
    - abort
    linkageType: ''
    returnType: void
    signature: "void mhdt_num_to_hex (size_t buf_size,\n                 char *buf,\n
      \                uint_least32_t number)"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: tmpdirs_try_add
      Src: /src/mhd2/src/tests/client_server/mhdt_tmpfile.c:271,1
    - Dst: getenv
      Src: /src/mhd2/src/tests/client_server/mhdt_tmpfile.c:271,1
    - Dst: tmpdirs_try_add
      Src: /src/mhd2/src/tests/client_server/mhdt_tmpfile.c:273,1
    - Dst: getenv
      Src: /src/mhd2/src/tests/client_server/mhdt_tmpfile.c:273,1
    - Dst: tmpdirs_try_add
      Src: /src/mhd2/src/tests/client_server/mhdt_tmpfile.c:275,1
    - Dst: getenv
      Src: /src/mhd2/src/tests/client_server/mhdt_tmpfile.c:275,1
    - Dst: tmpdirs_try_add
      Src: /src/mhd2/src/tests/client_server/mhdt_tmpfile.c:277,1
    - Dst: tmpdirs_try_add
      Src: /src/mhd2/src/tests/client_server/mhdt_tmpfile.c:280,1
    - Dst: tmpdirs_try_add
      Src: /src/mhd2/src/tests/client_server/mhdt_tmpfile.c:283,1
    - Dst: abort
      Src: /src/mhd2/src/tests/client_server/mhdt_tmpfile.c:286,1
    - Dst: abort
      Src: /src/mhd2/src/tests/client_server/mhdt_tmpfile.c:289,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 17
    argCount: 1
    argNames:
    - fallback_num
    argTypes:
    - unsigned int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 298
      start: 257
    functionDepth: 1
    functionLinenumber: 257
    functionLinenumberEnd: 298
    functionName: mhdt_get_tmpfile_dir
    functionSourceFile: /src/mhd2/src/tests/client_server/mhdt_tmpfile.c
    functionUses: 0
    functionsReached:
    - abort
    - tmpdirs_try_add
    - getenv
    linkageType: ''
    returnType: char
    signature: 'char *

      mhdt_get_tmpfile_dir (unsigned int fallback_num)'
  - BBCount: 16
    BranchProfiles: []
    Callsites:
    - Dst: mhdt_get_tmpfile_dir
      Src: /src/mhd2/src/tests/client_server/mhdt_tmpfile.c:326,1
    - Dst: mhdt_ARR_CNT
      Src: /src/mhd2/src/tests/client_server/mhdt_tmpfile.c:329,1
    - Dst: strlen
      Src: /src/mhd2/src/tests/client_server/mhdt_tmpfile.c:336,1
    - Dst: memcpy
      Src: /src/mhd2/src/tests/client_server/mhdt_tmpfile.c:337,1
    - Dst: memcpy
      Src: /src/mhd2/src/tests/client_server/mhdt_tmpfile.c:338,1
    - Dst: mhdt_ARR_CNT
      Src: /src/mhd2/src/tests/client_server/mhdt_tmpfile.c:340,1
    - Dst: memset
      Src: /src/mhd2/src/tests/client_server/mhdt_tmpfile.c:341,1
    - Dst: mhdt_ARR_CNT
      Src: /src/mhd2/src/tests/client_server/mhdt_tmpfile.c:341,1
    - Dst: mhdt_ARR_CNT
      Src: /src/mhd2/src/tests/client_server/mhdt_tmpfile.c:344,1
    - Dst: open
      Src: /src/mhd2/src/tests/client_server/mhdt_tmpfile.c:369,1
    - Dst: mkostemp
      Src: /src/mhd2/src/tests/client_server/mhdt_tmpfile.c:394,1
    - Dst: mkstemp
      Src: /src/mhd2/src/tests/client_server/mhdt_tmpfile.c:403,1
    - Dst: memcpy
      Src: /src/mhd2/src/tests/client_server/mhdt_tmpfile.c:416,1
    - Dst: memcpy
      Src: /src/mhd2/src/tests/client_server/mhdt_tmpfile.c:417,1
    - Dst: mhdt_ARR_CNT
      Src: /src/mhd2/src/tests/client_server/mhdt_tmpfile.c:419,1
    - Dst: mhdtl_mix32
      Src: /src/mhd2/src/tests/client_server/mhdt_tmpfile.c:433,1
    - Dst: getpid
      Src: /src/mhd2/src/tests/client_server/mhdt_tmpfile.c:433,1
    - Dst: mhd_PTR_TO_INT
      Src: /src/mhd2/src/tests/client_server/mhdt_tmpfile.c:434,1
    - Dst: mhdtl_mix32
      Src: /src/mhd2/src/tests/client_server/mhdt_tmpfile.c:438,1
    - Dst: mhdt_ARR_CNT
      Src: /src/mhd2/src/tests/client_server/mhdt_tmpfile.c:440,1
    - Dst: mhdt_num_to_hex
      Src: /src/mhd2/src/tests/client_server/mhdt_tmpfile.c:442,1
    - Dst: open
      Src: /src/mhd2/src/tests/client_server/mhdt_tmpfile.c:446,1
    - Dst: fcntl
      Src: /src/mhd2/src/tests/client_server/mhdt_tmpfile.c:470,1
    - Dst: fcntl
      Src: /src/mhd2/src/tests/client_server/mhdt_tmpfile.c:476,1
    - Dst: fcntl
      Src: /src/mhd2/src/tests/client_server/mhdt_tmpfile.c:485,1
    - Dst: unlink
      Src: /src/mhd2/src/tests/client_server/mhdt_tmpfile.c:498,1
    - Dst: close
      Src: /src/mhd2/src/tests/client_server/mhdt_tmpfile.c:502,1
    - Dst: unlink
      Src: /src/mhd2/src/tests/client_server/mhdt_tmpfile.c:504,1
    CyclomaticComplexity: 25
    EdgeCount: 25
    ICount: 78
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 514
      start: 319
    functionDepth: 2
    functionLinenumber: 319
    functionLinenumberEnd: 514
    functionName: mhdt_create_tmpfile_posix
    functionSourceFile: /src/mhd2/src/tests/client_server/mhdt_tmpfile.c
    functionUses: 0
    functionsReached:
    - close
    - mhd_PTR_TO_INT
    - fcntl
    - memcpy
    - mkostemp
    - open
    - mhdt_get_tmpfile_dir
    - mkstemp
    - mhdt_num_to_hex
    - getpid
    - unlink
    - mhdtl_mix32
    - strlen
    - memset
    - mhdt_ARR_CNT
    linkageType: ''
    returnType: int
    signature: int mhdt_create_tmpfile_posix (void)
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: wcscmp
      Src: /src/mhd2/src/tests/client_server/mhdt_tmpfile.c:567,1
    - Dst: wmemcpy
      Src: /src/mhd2/src/tests/client_server/mhdt_tmpfile.c:570,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 21
    argCount: 4
    argNames:
    - tmp_dir_name_len
    - tmp_dir_name
    - (*tmp_dirs)
    - dirs_have_ptr
    argTypes:
    - unsigned long
    - wchar_t[]
    - wchar_t[]
    - unsigned int*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 574
      start: 531
    functionDepth: 0
    functionLinenumber: 531
    functionLinenumberEnd: 574
    functionName: tmpdirs_try_add_w32
    functionSourceFile: /src/mhd2/src/tests/client_server/mhdt_tmpfile.c
    functionUses: 0
    functionsReached:
    - wmemcpy
    - wcscmp
    linkageType: ''
    returnType: void
    signature: "void tmpdirs_try_add_w32 (unsigned long tmp_dir_name_len,\n                     wchar_t
      tmp_dir_name[MHDT_FILENAME_MAX + 1],\n                     wchar_t (*tmp_dirs)[MHDT_FILENAME_MAX
      + 1],\n                     unsigned int *dirs_have_ptr)"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: tmpdirs_try_add_w32
      Src: /src/mhd2/src/tests/client_server/mhdt_tmpfile.c:601,1
    - Dst: GetEnvironmentVariableW
      Src: /src/mhd2/src/tests/client_server/mhdt_tmpfile.c:601,1
    - Dst: tmpdirs_try_add_w32
      Src: /src/mhd2/src/tests/client_server/mhdt_tmpfile.c:608,1
    - Dst: GetEnvironmentVariableW
      Src: /src/mhd2/src/tests/client_server/mhdt_tmpfile.c:608,1
    - Dst: wmemcpy
      Src: /src/mhd2/src/tests/client_server/mhdt_tmpfile.c:615,1
    - Dst: tmpdirs_try_add_w32
      Src: /src/mhd2/src/tests/client_server/mhdt_tmpfile.c:616,1
    - Dst: tmpdirs_try_add_w32
      Src: /src/mhd2/src/tests/client_server/mhdt_tmpfile.c:621,1
    - Dst: GetEnvironmentVariableW
      Src: /src/mhd2/src/tests/client_server/mhdt_tmpfile.c:621,1
    - Dst: tmpdirs_try_add_w32
      Src: /src/mhd2/src/tests/client_server/mhdt_tmpfile.c:629,1
    - Dst: GetTempPathW
      Src: /src/mhd2/src/tests/client_server/mhdt_tmpfile.c:629,1
    - Dst: abort
      Src: /src/mhd2/src/tests/client_server/mhdt_tmpfile.c:636,1
    - Dst: abort
      Src: /src/mhd2/src/tests/client_server/mhdt_tmpfile.c:639,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 17
    argCount: 1
    argNames:
    - fallback_num
    argTypes:
    - unsigned int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 648
      start: 585
    functionDepth: 1
    functionLinenumber: 585
    functionLinenumberEnd: 648
    functionName: mhdt_get_tmpfile_dir_w32
    functionSourceFile: /src/mhd2/src/tests/client_server/mhdt_tmpfile.c
    functionUses: 0
    functionsReached:
    - abort
    - GetTempPathW
    - GetEnvironmentVariableW
    - wmemcpy
    - tmpdirs_try_add_w32
    linkageType: ''
    returnType: wchar_t
    signature: 'wchar_t *

      mhdt_get_tmpfile_dir_w32 (unsigned int fallback_num)'
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: abort
      Src: /src/mhd2/src/tests/client_server/mhdt_tmpfile.c:669,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 3
    argNames:
    - buf_size
    - buf
    - number
    argTypes:
    - size_t
    - wchar_t*
    - uint_least32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 676
      start: 661
    functionDepth: 0
    functionLinenumber: 661
    functionLinenumberEnd: 676
    functionName: mhdt_num_to_hex_w
    functionSourceFile: /src/mhd2/src/tests/client_server/mhdt_tmpfile.c
    functionUses: 0
    functionsReached:
    - abort
    linkageType: ''
    returnType: void
    signature: "void mhdt_num_to_hex_w (size_t buf_size,\n                   wchar_t
      *buf,\n                   uint_least32_t number)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - str
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 680
      start: 679
    functionDepth: 0
    functionLinenumber: 679
    functionLinenumberEnd: 680
    functionName: mhdt_WSTR_
    functionSourceFile: /src/mhd2/src/tests/client_server/mhdt_tmpfile.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: mhdt_WSTR_(str)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - str
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 681
      start: 680
    functionDepth: 0
    functionLinenumber: 680
    functionLinenumberEnd: 681
    functionName: mhdt_WSTR
    functionSourceFile: /src/mhd2/src/tests/client_server/mhdt_tmpfile.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: mhdt_WSTR(str)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: mhdt_get_tmpfile_dir_w32
      Src: /src/mhd2/src/tests/client_server/mhdt_tmpfile.c:709,1
    - Dst: mhdt_ARR_CNT
      Src: /src/mhd2/src/tests/client_server/mhdt_tmpfile.c:712,1
    - Dst: wcslen
      Src: /src/mhd2/src/tests/client_server/mhdt_tmpfile.c:721,1
    - Dst: wmemcpy
      Src: /src/mhd2/src/tests/client_server/mhdt_tmpfile.c:722,1
    - Dst: wmemcpy
      Src: /src/mhd2/src/tests/client_server/mhdt_tmpfile.c:725,1
    - Dst: mhdt_ARR_CNT
      Src: /src/mhd2/src/tests/client_server/mhdt_tmpfile.c:727,1
    - Dst: mhdtl_mix32
      Src: /src/mhd2/src/tests/client_server/mhdt_tmpfile.c:732,1
    - Dst: GetCurrentProcessId
      Src: /src/mhd2/src/tests/client_server/mhdt_tmpfile.c:732,1
    - Dst: mhd_PTR_TO_INT
      Src: /src/mhd2/src/tests/client_server/mhdt_tmpfile.c:733,1
    - Dst: mhdtl_mix32
      Src: /src/mhd2/src/tests/client_server/mhdt_tmpfile.c:737,1
    - Dst: mhdt_ARR_CNT
      Src: /src/mhd2/src/tests/client_server/mhdt_tmpfile.c:739,1
    - Dst: mhdt_num_to_hex_w
      Src: /src/mhd2/src/tests/client_server/mhdt_tmpfile.c:741,1
    - Dst: _wopen
      Src: /src/mhd2/src/tests/client_server/mhdt_tmpfile.c:745,1
    - Dst: CreateFileW
      Src: /src/mhd2/src/tests/client_server/mhdt_tmpfile.c:759,1
    - Dst: CloseHandle
      Src: /src/mhd2/src/tests/client_server/mhdt_tmpfile.c:769,1
    CyclomaticComplexity: 15
    EdgeCount: 15
    ICount: 34
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 783
      start: 702
    functionDepth: 2
    functionLinenumber: 702
    functionLinenumberEnd: 783
    functionName: mhdt_create_tmpfile_w32
    functionSourceFile: /src/mhd2/src/tests/client_server/mhdt_tmpfile.c
    functionUses: 0
    functionsReached:
    - mhd_PTR_TO_INT
    - mhdt_num_to_hex_w
    - CreateFileW
    - mhdt_get_tmpfile_dir_w32
    - wcslen
    - GetCurrentProcessId
    - _wopen
    - mhdtl_mix32
    - CloseHandle
    - wmemcpy
    - mhdt_ARR_CNT
    linkageType: ''
    returnType: int
    signature: int mhdt_create_tmpfile_w32 (void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: mhdt_create_tmpfile_posix
      Src: /src/mhd2/src/tests/client_server/mhdt_tmpfile.c:792,1
    - Dst: mhdt_create_tmpfile_w32
      Src: /src/mhd2/src/tests/client_server/mhdt_tmpfile.c:794,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 796
      start: 788
    functionDepth: 3
    functionLinenumber: 788
    functionLinenumberEnd: 796
    functionName: MHDT_create_tmpfile
    functionSourceFile: /src/mhd2/src/tests/client_server/mhdt_tmpfile.c
    functionUses: 1
    functionsReached:
    - mhdt_create_tmpfile_posix
    - mhdt_create_tmpfile_w32
    linkageType: ''
    returnType: int
    signature: int MHDT_create_tmpfile (void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: fprintf
      Src: /src/mhd2/src/tests/raw/test_incompatible.c:671,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 4
    argNames:
    - upload_cls
    - request
    - content_data_size
    - content_data
    argTypes:
    - void*
    - struct MHD_Request*
    - size_t
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 676
      start: 665
    functionDepth: 0
    functionLinenumber: 665
    functionLinenumberEnd: 676
    functionName: uc_fail
    functionSourceFile: /src/mhd2/src/tests/raw/test_incompatible.c
    functionUses: 0
    functionsReached:
    - fprintf
    linkageType: ''
    returnType: struct MHD_UploadAction
    signature: "struct MHD_UploadAction *\nuc_fail (void *upload_cls,\n         struct
      MHD_Request *request,\n         size_t content_data_size,\n         void *content_data)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: MHD_action_process_upload
      Src: /src/mhd2/src/tests/raw/test_incompatible.c:712,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 5
    argNames:
    - cls
    - MHD_RESTRICT
    - MHD_RESTRICT
    - method
    - upload_size
    argTypes:
    - void*
    - struct MHD_Request*
    - struct MHD_String*
    - enum MHD_HTTP_Method
    - uint_fast64_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 718
      start: 705
    functionDepth: 1
    functionLinenumber: 705
    functionLinenumberEnd: 718
    functionName: server_upload_req_cb
    functionSourceFile: /src/mhd2/src/tests/raw/test_incompatible.c
    functionUses: 0
    functionsReached:
    - MHD_action_process_upload
    linkageType: ''
    returnType: struct MHD_Action
    signature: "struct MHD_Action *\nserver_upload_req_cb (void *cls,\n                      struct
      MHD_Request *MHD_RESTRICT request,\n                      const struct MHD_String
      *MHD_RESTRICT path,\n                      enum MHD_HTTP_Method method,\n                      uint_fast64_t
      upload_size)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: fprintf
      Src: /src/mhd2/src/tests/raw/test_incompatible.c:754,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 5
    argNames:
    - cls
    - MHD_RESTRICT
    - MHD_RESTRICT
    - method
    - upload_size
    argTypes:
    - void*
    - struct MHD_Request*
    - struct MHD_String*
    - enum MHD_HTTP_Method
    - uint_fast64_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 759
      start: 747
    functionDepth: 0
    functionLinenumber: 747
    functionLinenumberEnd: 759
    functionName: server_req_cb
    functionSourceFile: /src/mhd2/src/tests/raw/test_incompatible.c
    functionUses: 0
    functionsReached:
    - fprintf
    linkageType: ''
    returnType: struct MHD_Action
    signature: "struct MHD_Action *\nserver_req_cb (void *cls,\n               struct
      MHD_Request *MHD_RESTRICT request,\n               const struct MHD_String *MHD_RESTRICT
      path,\n               enum MHD_HTTP_Method method,\n               uint_fast64_t
      upload_size)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: write
      Src: /src/mhd2/src/tests/raw/test_incompatible.c:783,1
    - Dst: fprintf
      Src: /src/mhd2/src/tests/raw/test_incompatible.c:788,1
    - Dst: strerror
      Src: /src/mhd2/src/tests/raw/test_incompatible.c:792,1
    - Dst: exit
      Src: /src/mhd2/src/tests/raw/test_incompatible.c:793,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 3
    argNames:
    - fd
    - buf
    - buf_size
    argTypes:
    - int
    - void*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 797
      start: 770
    functionDepth: 0
    functionLinenumber: 770
    functionLinenumberEnd: 797
    functionName: write_all
    functionSourceFile: /src/mhd2/src/tests/raw/test_incompatible.c
    functionUses: 0
    functionsReached:
    - exit
    - strerror
    - write
    - fprintf
    linkageType: ''
    returnType: void
    signature: "void write_all (int fd,\n           const void *buf,\n           size_t
      buf_size)"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: htons
      Src: /src/mhd2/src/tests/raw/test_incompatible.c:806,1
    - Dst: socket
      Src: /src/mhd2/src/tests/raw/test_incompatible.c:810,1
    - Dst: fprintf
      Src: /src/mhd2/src/tests/raw/test_incompatible.c:813,1
    - Dst: strerror
      Src: /src/mhd2/src/tests/raw/test_incompatible.c:815,1
    - Dst: inet_pton
      Src: /src/mhd2/src/tests/raw/test_incompatible.c:818,1
    - Dst: connect
      Src: /src/mhd2/src/tests/raw/test_incompatible.c:821,1
    - Dst: fprintf
      Src: /src/mhd2/src/tests/raw/test_incompatible.c:825,1
    - Dst: strerror
      Src: /src/mhd2/src/tests/raw/test_incompatible.c:827,1
    - Dst: close
      Src: /src/mhd2/src/tests/raw/test_incompatible.c:828,1
    - Dst: write_all
      Src: /src/mhd2/src/tests/raw/test_incompatible.c:831,1
    - Dst: strlen
      Src: /src/mhd2/src/tests/raw/test_incompatible.c:833,1
    - Dst: shutdown
      Src: /src/mhd2/src/tests/raw/test_incompatible.c:834,1
    - Dst: read
      Src: /src/mhd2/src/tests/raw/test_incompatible.c:837,1
    - Dst: fprintf
      Src: /src/mhd2/src/tests/raw/test_incompatible.c:842,1
    - Dst: close
      Src: /src/mhd2/src/tests/raw/test_incompatible.c:846,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 21
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 850
      start: 800
    functionDepth: 0
    functionLinenumber: 800
    functionLinenumberEnd: 850
    functionName: run_test
    functionSourceFile: /src/mhd2/src/tests/raw/test_incompatible.c
    functionUses: 0
    functionsReached:
    - close
    - fprintf
    - read
    - inet_pton
    - htons
    - socket
    - strlen
    - connect
    - strerror
    - write_all
    - shutdown
    linkageType: ''
    returnType: int
    signature: int run_test ()
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: fprintf
      Src: /src/mhd2/src/tests/raw/test_incompatible.c:862,1
    - Dst: run_test
      Src: /src/mhd2/src/tests/raw/test_incompatible.c:866,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 8
    argCount: 1
    argNames:
    - tests
    argTypes:
    - struct Test*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 870
      start: 853
    functionDepth: 0
    functionLinenumber: 853
    functionLinenumberEnd: 870
    functionName: run_tests
    functionSourceFile: /src/mhd2/src/tests/raw/test_incompatible.c
    functionUses: 0
    functionsReached:
    - run_test
    - fprintf
    linkageType: ''
    returnType: int
    signature: int run_tests (struct Test *tests)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: MHD_daemon_create
      Src: /src/mhd2/src/tests/raw/test_incompatible.c:880,1
    - Dst: MHD_DAEMON_SET_OPTIONS
      Src: /src/mhd2/src/tests/raw/test_incompatible.c:883,1
    - Dst: MHD_D_OPTION_WM_WORKER_THREADS
      Src: /src/mhd2/src/tests/raw/test_incompatible.c:885,1
    - Dst: MHD_D_OPTION_LOG_CALLBACK
      Src: /src/mhd2/src/tests/raw/test_incompatible.c:887,1
    - Dst: MHD_D_OPTION_PROTOCOL_STRICT_LEVEL
      Src: /src/mhd2/src/tests/raw/test_incompatible.c:890,1
    - Dst: MHD_D_OPTION_DEFAULT_TIMEOUT_MILSEC
      Src: /src/mhd2/src/tests/raw/test_incompatible.c:892,1
    - Dst: MHD_D_OPTION_BIND_PORT
      Src: /src/mhd2/src/tests/raw/test_incompatible.c:893,1
    - Dst: fprintf
      Src: /src/mhd2/src/tests/raw/test_incompatible.c:896,1
    - Dst: MHD_daemon_start
      Src: /src/mhd2/src/tests/raw/test_incompatible.c:904,1
    - Dst: fprintf
      Src: /src/mhd2/src/tests/raw/test_incompatible.c:908,1
    - Dst: MHD_status_code_to_string_lazy
      Src: /src/mhd2/src/tests/raw/test_incompatible.c:910,1
    - Dst: fprintf
      Src: /src/mhd2/src/tests/raw/test_incompatible.c:912,1
    - Dst: MHD_daemon_destroy
      Src: /src/mhd2/src/tests/raw/test_incompatible.c:916,1
    - Dst: MHD_daemon_get_info_fixed
      Src: /src/mhd2/src/tests/raw/test_incompatible.c:925,1
    - Dst: fprintf
      Src: /src/mhd2/src/tests/raw/test_incompatible.c:931,1
    - Dst: MHD_daemon_destroy
      Src: /src/mhd2/src/tests/raw/test_incompatible.c:934,1
    - Dst: run_tests
      Src: /src/mhd2/src/tests/raw/test_incompatible.c:943,1
    - Dst: MHD_daemon_destroy
      Src: /src/mhd2/src/tests/raw/test_incompatible.c:944,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 26
    argCount: 3
    argNames:
    - cb
    - tests
    - psl
    argTypes:
    - MHD_RequestCallback
    - struct Test*
    - enum MHD_ProtocolStrictLevel
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 947
      start: 873
    functionDepth: 1
    functionLinenumber: 873
    functionLinenumberEnd: 947
    functionName: run
    functionSourceFile: /src/mhd2/src/tests/raw/test_incompatible.c
    functionUses: 1
    functionsReached:
    - fprintf
    - MHD_daemon_create
    - MHD_daemon_start
    - MHD_D_OPTION_BIND_PORT
    - MHD_D_OPTION_PROTOCOL_STRICT_LEVEL
    - MHD_D_OPTION_LOG_CALLBACK
    - MHD_DAEMON_SET_OPTIONS
    - MHD_D_OPTION_WM_WORKER_THREADS
    - MHD_daemon_destroy
    - MHD_daemon_get_info_fixed
    - MHD_status_code_to_string_lazy
    - run_tests
    - MHD_D_OPTION_DEFAULT_TIMEOUT_MILSEC
    linkageType: ''
    returnType: int
    signature: "int run (MHD_RequestCallback cb,\n     struct Test *tests,\n     enum
      MHD_ProtocolStrictLevel psl)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: run
      Src: /src/mhd2/src/tests/raw/test_incompatible.c:954,1
    - Dst: run
      Src: /src/mhd2/src/tests/raw/test_incompatible.c:959,1
    - Dst: run
      Src: /src/mhd2/src/tests/raw/test_incompatible.c:964,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 969
      start: 950
    functionDepth: 2
    functionLinenumber: 950
    functionLinenumberEnd: 969
    functionName: main
    functionSourceFile: /src/mhd2/src/tests/raw/test_incompatible.c
    functionUses: 0
    functionsReached:
    - run
    linkageType: ''
    returnType: int
    signature: int main (void)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: MHD_DCC_action_finish_with_footer
      Src: /src/mhd2/src/tests/raw/test_oom.c:114,1
    - Dst: memset
      Src: /src/mhd2/src/tests/raw/test_oom.c:118,1
    - Dst: MHD_DCC_action_continue
      Src: /src/mhd2/src/tests/raw/test_oom.c:121,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 5
    argNames:
    - dyn_cont_cls
    - ctx
    - pos
    - buf
    - max
    argTypes:
    - void*
    - struct MHD_DynamicContentCreatorContext*
    - uint_fast64_t
    - void*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 123
      start: 100
    functionDepth: 1
    functionLinenumber: 100
    functionLinenumberEnd: 123
    functionName: dyn_cc
    functionSourceFile: /src/mhd2/src/tests/raw/test_oom.c
    functionUses: 0
    functionsReached:
    - MHD_DCC_action_continue
    - memset
    - MHD_DCC_action_finish_with_footer
    linkageType: ''
    returnType: struct MHD_DynamicContentCreatorAction
    signature: "struct MHD_DynamicContentCreatorAction *\ndyn_cc (void *dyn_cont_cls,\n
      \       struct MHD_DynamicContentCreatorContext *ctx,\n        uint_fast64_t
      pos,\n        void *buf,\n        size_t max)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: free
      Src: /src/mhd2/src/tests/raw/test_oom.c:137,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - free_cls
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 138
      start: 134
    functionDepth: 0
    functionLinenumber: 134
    functionLinenumberEnd: 138
    functionName: dyn_cc_free
    functionSourceFile: /src/mhd2/src/tests/raw/test_oom.c
    functionUses: 0
    functionsReached:
    - free
    linkageType: ''
    returnType: void
    signature: void dyn_cc_free (void *free_cls)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: malloc
      Src: /src/mhd2/src/tests/raw/test_oom.c:174,1
    - Dst: MHD_upload_action_from_response
      Src: /src/mhd2/src/tests/raw/test_oom.c:177,1
    - Dst: MHD_response_from_callback
      Src: /src/mhd2/src/tests/raw/test_oom.c:179,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 4
    argNames:
    - upload_cls
    - request
    - content_data_size
    - content_data
    argTypes:
    - void*
    - struct MHD_Request*
    - size_t
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 184
      start: 163
    functionDepth: 1
    functionLinenumber: 163
    functionLinenumberEnd: 184
    functionName: upload_cb
    functionSourceFile: /src/mhd2/src/tests/raw/test_oom.c
    functionUses: 0
    functionsReached:
    - malloc
    - MHD_upload_action_from_response
    - MHD_response_from_callback
    linkageType: ''
    returnType: struct MHD_UploadAction
    signature: "struct MHD_UploadAction *\nupload_cb (void *upload_cls,\n           struct
      MHD_Request *request,\n           size_t content_data_size,\n           void
      *content_data)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: MHD_action_process_upload_full
      Src: /src/mhd2/src/tests/raw/test_oom.c:221,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 5
    argNames:
    - cls
    - MHD_RESTRICT
    - MHD_RESTRICT
    - method
    - upload_size
    argTypes:
    - void*
    - struct MHD_Request*
    - struct MHD_String*
    - enum MHD_HTTP_Method
    - uint_fast64_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 225
      start: 210
    functionDepth: 1
    functionLinenumber: 210
    functionLinenumberEnd: 225
    functionName: server_req_cb
    functionSourceFile: /src/mhd2/src/tests/raw/test_oom.c
    functionUses: 0
    functionsReached:
    - MHD_action_process_upload_full
    linkageType: ''
    returnType: struct MHD_Action
    signature: "struct MHD_Action *\nserver_req_cb (void *cls,\n               struct
      MHD_Request *MHD_RESTRICT request,\n               const struct MHD_String *MHD_RESTRICT
      path,\n               enum MHD_HTTP_Method method,\n               uint_fast64_t
      upload_size)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: write
      Src: /src/mhd2/src/tests/raw/test_oom.c:249,1
    - Dst: fprintf
      Src: /src/mhd2/src/tests/raw/test_oom.c:254,1
    - Dst: strerror
      Src: /src/mhd2/src/tests/raw/test_oom.c:258,1
    - Dst: exit
      Src: /src/mhd2/src/tests/raw/test_oom.c:259,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 3
    argNames:
    - fd
    - buf
    - buf_size
    argTypes:
    - int
    - void*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 263
      start: 236
    functionDepth: 0
    functionLinenumber: 236
    functionLinenumberEnd: 263
    functionName: write_all
    functionSourceFile: /src/mhd2/src/tests/raw/test_oom.c
    functionUses: 1
    functionsReached:
    - exit
    - strerror
    - write
    - fprintf
    linkageType: ''
    returnType: void
    signature: "void write_all (int fd,\n           const void *buf,\n           size_t
      buf_size)"
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: memset
      Src: /src/mhd2/src/tests/raw/test_oom.c:277,1
    - Dst: socket
      Src: /src/mhd2/src/tests/raw/test_oom.c:281,1
    - Dst: fprintf
      Src: /src/mhd2/src/tests/raw/test_oom.c:286,1
    - Dst: strerror
      Src: /src/mhd2/src/tests/raw/test_oom.c:288,1
    - Dst: htons
      Src: /src/mhd2/src/tests/raw/test_oom.c:295,1
    - Dst: inet_pton
      Src: /src/mhd2/src/tests/raw/test_oom.c:297,1
    - Dst: connect
      Src: /src/mhd2/src/tests/raw/test_oom.c:300,1
    - Dst: fprintf
      Src: /src/mhd2/src/tests/raw/test_oom.c:304,1
    - Dst: strerror
      Src: /src/mhd2/src/tests/raw/test_oom.c:306,1
    - Dst: close
      Src: /src/mhd2/src/tests/raw/test_oom.c:307,1
    - Dst: snprintf
      Src: /src/mhd2/src/tests/raw/test_oom.c:316,1
    - Dst: fprintf
      Src: /src/mhd2/src/tests/raw/test_oom.c:337,1
    - Dst: close
      Src: /src/mhd2/src/tests/raw/test_oom.c:340,1
    - Dst: write_all
      Src: /src/mhd2/src/tests/raw/test_oom.c:343,1
    - Dst: strlen
      Src: /src/mhd2/src/tests/raw/test_oom.c:345,1
    - Dst: recv
      Src: /src/mhd2/src/tests/raw/test_oom.c:358,1
    - Dst: strstr
      Src: /src/mhd2/src/tests/raw/test_oom.c:370,1
    - Dst: fprintf
      Src: /src/mhd2/src/tests/raw/test_oom.c:382,1
    - Dst: close
      Src: /src/mhd2/src/tests/raw/test_oom.c:391,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 45
    argCount: 5
    argNames:
    - url_len
    - query_len
    - header_len
    - cookie_len
    - body_len
    argTypes:
    - unsigned int
    - unsigned int
    - unsigned int
    - unsigned int
    - unsigned int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 393
      start: 266
    functionDepth: 0
    functionLinenumber: 266
    functionLinenumberEnd: 393
    functionName: run_test
    functionSourceFile: /src/mhd2/src/tests/raw/test_oom.c
    functionUses: 1
    functionsReached:
    - close
    - fprintf
    - connect
    - strstr
    - inet_pton
    - recv
    - htons
    - socket
    - snprintf
    - strlen
    - memset
    - strerror
    - write_all
    linkageType: ''
    returnType: int
    signature: "int run_test (unsigned int url_len,\n          unsigned int query_len,\n
      \         unsigned int header_len,\n          unsigned int cookie_len,\n          unsigned
      int body_len)"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: run_test
      Src: /src/mhd2/src/tests/raw/test_oom.c:408,1
    - Dst: fprintf
      Src: /src/mhd2/src/tests/raw/test_oom.c:419,1
    - Dst: fprintf
      Src: /src/mhd2/src/tests/raw/test_oom.c:426,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 19
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 431
      start: 396
    functionDepth: 0
    functionLinenumber: 396
    functionLinenumberEnd: 431
    functionName: test_url
    functionSourceFile: /src/mhd2/src/tests/raw/test_oom.c
    functionUses: 0
    functionsReached:
    - run_test
    - fprintf
    linkageType: ''
    returnType: int
    signature: int test_url (void)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: run_test
      Src: /src/mhd2/src/tests/raw/test_oom.c:446,1
    - Dst: fprintf
      Src: /src/mhd2/src/tests/raw/test_oom.c:457,1
    - Dst: fprintf
      Src: /src/mhd2/src/tests/raw/test_oom.c:464,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 19
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 469
      start: 434
    functionDepth: 0
    functionLinenumber: 434
    functionLinenumberEnd: 469
    functionName: test_query
    functionSourceFile: /src/mhd2/src/tests/raw/test_oom.c
    functionUses: 0
    functionsReached:
    - run_test
    - fprintf
    linkageType: ''
    returnType: int
    signature: int test_query (void)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: run_test
      Src: /src/mhd2/src/tests/raw/test_oom.c:484,1
    - Dst: fprintf
      Src: /src/mhd2/src/tests/raw/test_oom.c:495,1
    - Dst: fprintf
      Src: /src/mhd2/src/tests/raw/test_oom.c:502,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 19
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 507
      start: 472
    functionDepth: 0
    functionLinenumber: 472
    functionLinenumberEnd: 507
    functionName: test_header
    functionSourceFile: /src/mhd2/src/tests/raw/test_oom.c
    functionUses: 0
    functionsReached:
    - run_test
    - fprintf
    linkageType: ''
    returnType: int
    signature: int test_header (void)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: run_test
      Src: /src/mhd2/src/tests/raw/test_oom.c:522,1
    - Dst: fprintf
      Src: /src/mhd2/src/tests/raw/test_oom.c:533,1
    - Dst: fprintf
      Src: /src/mhd2/src/tests/raw/test_oom.c:540,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 19
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 545
      start: 510
    functionDepth: 0
    functionLinenumber: 510
    functionLinenumberEnd: 545
    functionName: test_cookie
    functionSourceFile: /src/mhd2/src/tests/raw/test_oom.c
    functionUses: 0
    functionsReached:
    - run_test
    - fprintf
    linkageType: ''
    returnType: int
    signature: int test_cookie (void)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: run_test
      Src: /src/mhd2/src/tests/raw/test_oom.c:560,1
    - Dst: fprintf
      Src: /src/mhd2/src/tests/raw/test_oom.c:571,1
    - Dst: fprintf
      Src: /src/mhd2/src/tests/raw/test_oom.c:578,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 19
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 583
      start: 548
    functionDepth: 0
    functionLinenumber: 548
    functionLinenumberEnd: 583
    functionName: test_body
    functionSourceFile: /src/mhd2/src/tests/raw/test_oom.c
    functionUses: 0
    functionsReached:
    - run_test
    - fprintf
    linkageType: ''
    returnType: int
    signature: int test_body (void)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: run_test
      Src: /src/mhd2/src/tests/raw/test_oom.c:598,1
    - Dst: fprintf
      Src: /src/mhd2/src/tests/raw/test_oom.c:609,1
    - Dst: fprintf
      Src: /src/mhd2/src/tests/raw/test_oom.c:616,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 18
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 623
      start: 586
    functionDepth: 0
    functionLinenumber: 586
    functionLinenumberEnd: 623
    functionName: test_mix
    functionSourceFile: /src/mhd2/src/tests/raw/test_oom.c
    functionUses: 0
    functionsReached:
    - run_test
    - fprintf
    linkageType: ''
    returnType: int
    signature: int test_mix (void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: test_url
      Src: /src/mhd2/src/tests/raw/test_oom.c:632,1
    - Dst: test_query
      Src: /src/mhd2/src/tests/raw/test_oom.c:633,1
    - Dst: test_header
      Src: /src/mhd2/src/tests/raw/test_oom.c:634,1
    - Dst: test_cookie
      Src: /src/mhd2/src/tests/raw/test_oom.c:635,1
    - Dst: test_body
      Src: /src/mhd2/src/tests/raw/test_oom.c:636,1
    - Dst: test_mix
      Src: /src/mhd2/src/tests/raw/test_oom.c:637,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 640
      start: 626
    functionDepth: 1
    functionLinenumber: 626
    functionLinenumberEnd: 640
    functionName: run_tests
    functionSourceFile: /src/mhd2/src/tests/raw/test_oom.c
    functionUses: 1
    functionsReached:
    - test_body
    - test_cookie
    - test_query
    - test_mix
    - test_url
    - test_header
    linkageType: ''
    returnType: int
    signature: int run_tests (void)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 4
    argNames:
    - cls
    - sc
    - fm
    - ap
    argTypes:
    - void*
    - enum MHD_StatusCode
    - char*
    - va_list
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 655
      start: 643
    functionDepth: 0
    functionLinenumber: 643
    functionLinenumberEnd: 655
    functionName: no_log
    functionSourceFile: /src/mhd2/src/tests/raw/test_oom.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: "void no_log (void *cls,\n        enum MHD_StatusCode sc,\n        const
      char *fm,\n        va_list ap)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: MHD_daemon_create
      Src: /src/mhd2/src/tests/raw/test_oom.c:663,1
    - Dst: MHD_DAEMON_SET_OPTIONS
      Src: /src/mhd2/src/tests/raw/test_oom.c:666,1
    - Dst: MHD_D_OPTION_WM_WORKER_THREADS
      Src: /src/mhd2/src/tests/raw/test_oom.c:668,1
    - Dst: MHD_D_OPTION_LOG_CALLBACK
      Src: /src/mhd2/src/tests/raw/test_oom.c:669,1
    - Dst: MHD_D_OPTION_CONN_MEMORY_LIMIT
      Src: /src/mhd2/src/tests/raw/test_oom.c:670,1
    - Dst: MHD_D_OPTION_DEFAULT_TIMEOUT_MILSEC
      Src: /src/mhd2/src/tests/raw/test_oom.c:671,1
    - Dst: MHD_D_OPTION_BIND_PORT
      Src: /src/mhd2/src/tests/raw/test_oom.c:672,1
    - Dst: fprintf
      Src: /src/mhd2/src/tests/raw/test_oom.c:675,1
    - Dst: MHD_daemon_start
      Src: /src/mhd2/src/tests/raw/test_oom.c:683,1
    - Dst: fprintf
      Src: /src/mhd2/src/tests/raw/test_oom.c:687,1
    - Dst: MHD_status_code_to_string_lazy
      Src: /src/mhd2/src/tests/raw/test_oom.c:689,1
    - Dst: fprintf
      Src: /src/mhd2/src/tests/raw/test_oom.c:691,1
    - Dst: MHD_daemon_destroy
      Src: /src/mhd2/src/tests/raw/test_oom.c:695,1
    - Dst: MHD_daemon_get_info_fixed
      Src: /src/mhd2/src/tests/raw/test_oom.c:704,1
    - Dst: fprintf
      Src: /src/mhd2/src/tests/raw/test_oom.c:710,1
    - Dst: MHD_daemon_destroy
      Src: /src/mhd2/src/tests/raw/test_oom.c:713,1
    - Dst: run_tests
      Src: /src/mhd2/src/tests/raw/test_oom.c:722,1
    - Dst: MHD_daemon_destroy
      Src: /src/mhd2/src/tests/raw/test_oom.c:723,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 26
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 726
      start: 658
    functionDepth: 1
    functionLinenumber: 658
    functionLinenumberEnd: 726
    functionName: main
    functionSourceFile: /src/mhd2/src/tests/raw/test_oom.c
    functionUses: 0
    functionsReached:
    - fprintf
    - MHD_daemon_create
    - MHD_daemon_get_info_fixed
    - MHD_daemon_start
    - MHD_D_OPTION_BIND_PORT
    - MHD_D_OPTION_LOG_CALLBACK
    - MHD_D_OPTION_CONN_MEMORY_LIMIT
    - MHD_DAEMON_SET_OPTIONS
    - MHD_D_OPTION_WM_WORKER_THREADS
    - MHD_daemon_destroy
    - MHD_status_code_to_string_lazy
    - run_tests
    - MHD_D_OPTION_DEFAULT_TIMEOUT_MILSEC
    linkageType: ''
    returnType: int
    signature: int main (void)
  - BBCount: 28
    BranchProfiles: []
    Callsites:
    - Dst: strdup
      Src: /src/mhd2/src/tests/raw/test_raw.c:577,1
    - Dst: strlen
      Src: /src/mhd2/src/tests/raw/test_raw.c:579,1
    - Dst: strlen
      Src: /src/mhd2/src/tests/raw/test_raw.c:580,1
    - Dst: strtok
      Src: /src/mhd2/src/tests/raw/test_raw.c:582,1
    - Dst: strtok
      Src: /src/mhd2/src/tests/raw/test_raw.c:585,1
    - Dst: sscanf
      Src: /src/mhd2/src/tests/raw/test_raw.c:591,1
    - Dst: MHD_request_get_value
      Src: /src/mhd2/src/tests/raw/test_raw.c:598,1
    - Dst: fprintf
      Src: /src/mhd2/src/tests/raw/test_raw.c:603,1
    - Dst: strcmp
      Src: /src/mhd2/src/tests/raw/test_raw.c:609,1
    - Dst: fprintf
      Src: /src/mhd2/src/tests/raw/test_raw.c:612,1
    - Dst: sscanf
      Src: /src/mhd2/src/tests/raw/test_raw.c:621,1
    - Dst: MHD_request_get_value
      Src: /src/mhd2/src/tests/raw/test_raw.c:628,1
    - Dst: fprintf
      Src: /src/mhd2/src/tests/raw/test_raw.c:633,1
    - Dst: strcmp
      Src: /src/mhd2/src/tests/raw/test_raw.c:639,1
    - Dst: fprintf
      Src: /src/mhd2/src/tests/raw/test_raw.c:642,1
    - Dst: sscanf
      Src: /src/mhd2/src/tests/raw/test_raw.c:651,1
    - Dst: MHD_request_get_value
      Src: /src/mhd2/src/tests/raw/test_raw.c:658,1
    - Dst: fprintf
      Src: /src/mhd2/src/tests/raw/test_raw.c:663,1
    - Dst: strcmp
      Src: /src/mhd2/src/tests/raw/test_raw.c:669,1
    - Dst: fprintf
      Src: /src/mhd2/src/tests/raw/test_raw.c:672,1
    - Dst: sscanf
      Src: /src/mhd2/src/tests/raw/test_raw.c:681,1
    - Dst: MHD_request_get_value
      Src: /src/mhd2/src/tests/raw/test_raw.c:688,1
    - Dst: fprintf
      Src: /src/mhd2/src/tests/raw/test_raw.c:693,1
    - Dst: strcmp
      Src: /src/mhd2/src/tests/raw/test_raw.c:699,1
    - Dst: fprintf
      Src: /src/mhd2/src/tests/raw/test_raw.c:702,1
    - Dst: sscanf
      Src: /src/mhd2/src/tests/raw/test_raw.c:710,1
    - Dst: MHD_request_get_value
      Src: /src/mhd2/src/tests/raw/test_raw.c:718,1
    - Dst: fprintf
      Src: /src/mhd2/src/tests/raw/test_raw.c:723,1
    - Dst: strcmp
      Src: /src/mhd2/src/tests/raw/test_raw.c:729,1
    - Dst: fprintf
      Src: /src/mhd2/src/tests/raw/test_raw.c:732,1
    - Dst: sscanf
      Src: /src/mhd2/src/tests/raw/test_raw.c:740,1
    - Dst: MHD_request_get_value
      Src: /src/mhd2/src/tests/raw/test_raw.c:747,1
    - Dst: fprintf
      Src: /src/mhd2/src/tests/raw/test_raw.c:752,1
    - Dst: fprintf
      Src: /src/mhd2/src/tests/raw/test_raw.c:759,1
    - Dst: sscanf
      Src: /src/mhd2/src/tests/raw/test_raw.c:767,1
    - Dst: MHD_request_get_value
      Src: /src/mhd2/src/tests/raw/test_raw.c:775,1
    - Dst: fprintf
      Src: /src/mhd2/src/tests/raw/test_raw.c:780,1
    - Dst: strcmp
      Src: /src/mhd2/src/tests/raw/test_raw.c:786,1
    - Dst: fprintf
      Src: /src/mhd2/src/tests/raw/test_raw.c:789,1
    - Dst: sscanf
      Src: /src/mhd2/src/tests/raw/test_raw.c:797,1
    - Dst: MHD_request_get_value
      Src: /src/mhd2/src/tests/raw/test_raw.c:804,1
    - Dst: fprintf
      Src: /src/mhd2/src/tests/raw/test_raw.c:809,1
    - Dst: fprintf
      Src: /src/mhd2/src/tests/raw/test_raw.c:816,1
    - Dst: sscanf
      Src: /src/mhd2/src/tests/raw/test_raw.c:824,1
    - Dst: MHD_request_get_value
      Src: /src/mhd2/src/tests/raw/test_raw.c:830,1
    - Dst: fprintf
      Src: /src/mhd2/src/tests/raw/test_raw.c:835,1
    - Dst: strcmp
      Src: /src/mhd2/src/tests/raw/test_raw.c:840,1
    - Dst: fprintf
      Src: /src/mhd2/src/tests/raw/test_raw.c:843,1
    - Dst: fprintf
      Src: /src/mhd2/src/tests/raw/test_raw.c:852,1
    - Dst: free
      Src: /src/mhd2/src/tests/raw/test_raw.c:858,1
    CyclomaticComplexity: 35
    EdgeCount: 35
    ICount: 98
    argCount: 2
    argNames:
    - MHD_RESTRICT
    - spec
    argTypes:
    - struct MHD_Request*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 860
      start: 572
    functionDepth: 1
    functionLinenumber: 572
    functionLinenumberEnd: 860
    functionName: check_headers
    functionSourceFile: /src/mhd2/src/tests/raw/test_raw.c
    functionUses: 0
    functionsReached:
    - fprintf
    - strcmp
    - strtok
    - sscanf
    - free
    - MHD_request_get_value
    - strlen
    - strdup
    linkageType: ''
    returnType: bool
    signature: "bool check_headers (struct MHD_Request *MHD_RESTRICT request,\n               const
      char *spec)"
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: fprintf
      Src: /src/mhd2/src/tests/raw/test_raw.c:897,1
    - Dst: strcmp
      Src: /src/mhd2/src/tests/raw/test_raw.c:901,1
    - Dst: fprintf
      Src: /src/mhd2/src/tests/raw/test_raw.c:904,1
    - Dst: fprintf
      Src: /src/mhd2/src/tests/raw/test_raw.c:912,1
    - Dst: check_headers
      Src: /src/mhd2/src/tests/raw/test_raw.c:918,1
    - Dst: MHD_action_from_response
      Src: /src/mhd2/src/tests/raw/test_raw.c:923,1
    - Dst: MHD_response_from_empty
      Src: /src/mhd2/src/tests/raw/test_raw.c:925,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 18
    argCount: 5
    argNames:
    - cls
    - MHD_RESTRICT
    - MHD_RESTRICT
    - method
    - upload_size
    argTypes:
    - void*
    - struct MHD_Request*
    - struct MHD_String*
    - enum MHD_HTTP_Method
    - uint_fast64_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 926
      start: 886
    functionDepth: 2
    functionLinenumber: 886
    functionLinenumberEnd: 926
    functionName: server_req_cb
    functionSourceFile: /src/mhd2/src/tests/raw/test_raw.c
    functionUses: 0
    functionsReached:
    - fprintf
    - strcmp
    - check_headers
    - MHD_action_from_response
    - MHD_response_from_empty
    linkageType: ''
    returnType: struct MHD_Action
    signature: "struct MHD_Action *\nserver_req_cb (void *cls,\n               struct
      MHD_Request *MHD_RESTRICT request,\n               const struct MHD_String *MHD_RESTRICT
      path,\n               enum MHD_HTTP_Method method,\n               uint_fast64_t
      upload_size)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: write
      Src: /src/mhd2/src/tests/raw/test_raw.c:950,1
    - Dst: fprintf
      Src: /src/mhd2/src/tests/raw/test_raw.c:955,1
    - Dst: strerror
      Src: /src/mhd2/src/tests/raw/test_raw.c:959,1
    - Dst: exit
      Src: /src/mhd2/src/tests/raw/test_raw.c:960,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 3
    argNames:
    - fd
    - buf
    - buf_size
    argTypes:
    - int
    - void*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 964
      start: 937
    functionDepth: 0
    functionLinenumber: 937
    functionLinenumberEnd: 964
    functionName: write_all
    functionSourceFile: /src/mhd2/src/tests/raw/test_raw.c
    functionUses: 2
    functionsReached:
    - exit
    - strerror
    - write
    - fprintf
    linkageType: ''
    returnType: void
    signature: "void write_all (int fd,\n           const void *buf,\n           size_t
      buf_size)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: htons
      Src: /src/mhd2/src/tests/raw/test_raw.c:973,1
    - Dst: socket
      Src: /src/mhd2/src/tests/raw/test_raw.c:977,1
    - Dst: fprintf
      Src: /src/mhd2/src/tests/raw/test_raw.c:980,1
    - Dst: strerror
      Src: /src/mhd2/src/tests/raw/test_raw.c:982,1
    - Dst: inet_pton
      Src: /src/mhd2/src/tests/raw/test_raw.c:985,1
    - Dst: connect
      Src: /src/mhd2/src/tests/raw/test_raw.c:988,1
    - Dst: fprintf
      Src: /src/mhd2/src/tests/raw/test_raw.c:992,1
    - Dst: strerror
      Src: /src/mhd2/src/tests/raw/test_raw.c:994,1
    - Dst: close
      Src: /src/mhd2/src/tests/raw/test_raw.c:995,1
    - Dst: write_all
      Src: /src/mhd2/src/tests/raw/test_raw.c:998,1
    - Dst: strlen
      Src: /src/mhd2/src/tests/raw/test_raw.c:1000,1
    - Dst: shutdown
      Src: /src/mhd2/src/tests/raw/test_raw.c:1001,1
    - Dst: read
      Src: /src/mhd2/src/tests/raw/test_raw.c:1004,1
    - Dst: fprintf
      Src: /src/mhd2/src/tests/raw/test_raw.c:1008,1
    - Dst: close
      Src: /src/mhd2/src/tests/raw/test_raw.c:1010,1
    - Dst: close
      Src: /src/mhd2/src/tests/raw/test_raw.c:1013,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 21
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1015
      start: 967
    functionDepth: 0
    functionLinenumber: 967
    functionLinenumberEnd: 1015
    functionName: run_test
    functionSourceFile: /src/mhd2/src/tests/raw/test_raw.c
    functionUses: 7
    functionsReached:
    - close
    - fprintf
    - read
    - inet_pton
    - htons
    - socket
    - strlen
    - connect
    - strerror
    - write_all
    - shutdown
    linkageType: ''
    returnType: int
    signature: int run_test ()
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: run_test
      Src: /src/mhd2/src/tests/raw/test_raw.c:1026,1
    - Dst: fprintf
      Src: /src/mhd2/src/tests/raw/test_raw.c:1028,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1035
      start: 1018
    functionDepth: 0
    functionLinenumber: 1018
    functionLinenumberEnd: 1035
    functionName: run_tests
    functionSourceFile: /src/mhd2/src/tests/raw/test_raw.c
    functionUses: 2
    functionsReached:
    - run_test
    - fprintf
    linkageType: ''
    returnType: int
    signature: int run_tests (void)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: MHD_daemon_create
      Src: /src/mhd2/src/tests/raw/test_raw.c:1043,1
    - Dst: MHD_DAEMON_SET_OPTIONS
      Src: /src/mhd2/src/tests/raw/test_raw.c:1046,1
    - Dst: MHD_D_OPTION_WM_WORKER_THREADS
      Src: /src/mhd2/src/tests/raw/test_raw.c:1048,1
    - Dst: MHD_D_OPTION_DEFAULT_TIMEOUT_MILSEC
      Src: /src/mhd2/src/tests/raw/test_raw.c:1049,1
    - Dst: MHD_D_OPTION_BIND_PORT
      Src: /src/mhd2/src/tests/raw/test_raw.c:1050,1
    - Dst: fprintf
      Src: /src/mhd2/src/tests/raw/test_raw.c:1053,1
    - Dst: MHD_daemon_start
      Src: /src/mhd2/src/tests/raw/test_raw.c:1061,1
    - Dst: fprintf
      Src: /src/mhd2/src/tests/raw/test_raw.c:1065,1
    - Dst: MHD_status_code_to_string_lazy
      Src: /src/mhd2/src/tests/raw/test_raw.c:1067,1
    - Dst: fprintf
      Src: /src/mhd2/src/tests/raw/test_raw.c:1069,1
    - Dst: MHD_daemon_destroy
      Src: /src/mhd2/src/tests/raw/test_raw.c:1073,1
    - Dst: MHD_daemon_get_info_fixed
      Src: /src/mhd2/src/tests/raw/test_raw.c:1082,1
    - Dst: fprintf
      Src: /src/mhd2/src/tests/raw/test_raw.c:1088,1
    - Dst: MHD_daemon_destroy
      Src: /src/mhd2/src/tests/raw/test_raw.c:1091,1
    - Dst: run_tests
      Src: /src/mhd2/src/tests/raw/test_raw.c:1100,1
    - Dst: MHD_daemon_destroy
      Src: /src/mhd2/src/tests/raw/test_raw.c:1101,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 26
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1104
      start: 1038
    functionDepth: 1
    functionLinenumber: 1038
    functionLinenumberEnd: 1104
    functionName: main
    functionSourceFile: /src/mhd2/src/tests/raw/test_raw.c
    functionUses: 0
    functionsReached:
    - fprintf
    - MHD_daemon_create
    - MHD_daemon_start
    - MHD_D_OPTION_BIND_PORT
    - MHD_DAEMON_SET_OPTIONS
    - MHD_D_OPTION_WM_WORKER_THREADS
    - MHD_daemon_destroy
    - MHD_daemon_get_info_fixed
    - MHD_status_code_to_string_lazy
    - run_tests
    - MHD_D_OPTION_DEFAULT_TIMEOUT_MILSEC
    linkageType: ''
    returnType: int
    signature: int main (void)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: strlen
      Src: /src/mhd2/src/tests/unit/unit_sha512_256.c:73,1
    - Dst: sscanf
      Src: /src/mhd2/src/tests/unit/unit_sha512_256.c:79,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 3
    argNames:
    - hex
    - bin
    - max_len
    argTypes:
    - char*
    - uint8_t*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 82
      start: 68
    functionDepth: 0
    functionLinenumber: 68
    functionLinenumberEnd: 82
    functionName: hex2bin
    functionSourceFile: /src/mhd2/src/tests/unit/unit_sha512_256.c
    functionUses: 0
    functionsReached:
    - strlen
    - sscanf
    linkageType: ''
    returnType: size_t
    signature: "size_t hex2bin (const char *hex,\n         uint8_t *bin,\n         size_t
      max_len)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: hex2bin
      Src: /src/mhd2/src/tests/unit/unit_sha512_256.c:93,1
    - Dst: printf
      Src: /src/mhd2/src/tests/unit/unit_sha512_256.c:97,1
    - Dst: memcmp
      Src: /src/mhd2/src/tests/unit/unit_sha512_256.c:102,1
    - Dst: printf
      Src: /src/mhd2/src/tests/unit/unit_sha512_256.c:104,1
    - Dst: printf
      Src: /src/mhd2/src/tests/unit/unit_sha512_256.c:105,1
    - Dst: printf
      Src: /src/mhd2/src/tests/unit/unit_sha512_256.c:106,1
    - Dst: printf
      Src: /src/mhd2/src/tests/unit/unit_sha512_256.c:109,1
    - Dst: printf
      Src: /src/mhd2/src/tests/unit/unit_sha512_256.c:111,1
    - Dst: printf
      Src: /src/mhd2/src/tests/unit/unit_sha512_256.c:116,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 18
    argCount: 4
    argNames:
    - digest
    - digest_len
    - expected_hex
    - test_name
    argTypes:
    - uint8_t*
    - size_t
    - char*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 119
      start: 86
    functionDepth: 0
    functionLinenumber: 86
    functionLinenumberEnd: 119
    functionName: check_digest
    functionSourceFile: /src/mhd2/src/tests/unit/unit_sha512_256.c
    functionUses: 2
    functionsReached:
    - hex2bin
    - printf
    - memcmp
    linkageType: ''
    returnType: unsigned int
    signature: "unsigned int check_digest (const uint8_t *digest,\n              size_t
      digest_len,\n              const char *expected_hex,\n              const char
      *test_name)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - s
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 129
      start: 128
    functionDepth: 0
    functionLinenumber: 128
    functionLinenumberEnd: 129
    functionName: D_STR_W_LEN
    functionSourceFile: /src/mhd2/src/tests/unit/unit_sha512_256.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: D_STR_W_LEN(s)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 3
    argNames:
    - bin
    - len
    - hex
    argTypes:
    - uint8_t*
    - size_t
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 491
      start: 477
    functionDepth: 0
    functionLinenumber: 477
    functionLinenumberEnd: 491
    functionName: bin2hex
    functionSourceFile: /src/mhd2/src/tests/unit/unit_sha512_256.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: "void bin2hex (const uint8_t *bin,\n         size_t len,\n         char
      *hex)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: memcmp
      Src: /src/mhd2/src/tests/unit/unit_sha512_256.c:500,1
    - Dst: bin2hex
      Src: /src/mhd2/src/tests/unit/unit_sha512_256.c:509,1
    - Dst: bin2hex
      Src: /src/mhd2/src/tests/unit/unit_sha512_256.c:510,1
    - Dst: fprintf
      Src: /src/mhd2/src/tests/unit/unit_sha512_256.c:511,1
    - Dst: fflush
      Src: /src/mhd2/src/tests/unit/unit_sha512_256.c:514,1
    - Dst: bin2hex
      Src: /src/mhd2/src/tests/unit/unit_sha512_256.c:520,1
    - Dst: printf
      Src: /src/mhd2/src/tests/unit/unit_sha512_256.c:521,1
    - Dst: fflush
      Src: /src/mhd2/src/tests/unit/unit_sha512_256.c:524,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 15
    argCount: 4
    argNames:
    - test_name
    - check_num
    - calculated
    - expected
    argTypes:
    - char*
    - unsigned int
    - uint8_t[]
    - uint8_t[]
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 527
      start: 494
    functionDepth: 0
    functionLinenumber: 494
    functionLinenumberEnd: 527
    functionName: check_result
    functionSourceFile: /src/mhd2/src/tests/unit/unit_sha512_256.c
    functionUses: 0
    functionsReached:
    - fprintf
    - printf
    - fflush
    - memcmp
    - bin2hex
    linkageType: ''
    returnType: unsigned int
    signature: "unsigned int check_result (const char *test_name,\n              unsigned
      int check_num,\n              const uint8_t calculated[mhd_SHA512_256_DIGEST_SIZE],\n
      \             const uint8_t expected[mhd_SHA512_256_DIGEST_SIZE])"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: mhd_SHA512_256_init
      Src: /src/mhd2/src/tests/unit/unit_sha512_256.c:542,1
    - Dst: mhd_SHA512_256_update
      Src: /src/mhd2/src/tests/unit/unit_sha512_256.c:548,1
    - Dst: mhd_SHA512_256_finish_reset
      Src: /src/mhd2/src/tests/unit/unit_sha512_256.c:551,1
    - Dst: mhd_SHA512_256_has_err
      Src: /src/mhd2/src/tests/unit/unit_sha512_256.c:553,1
    - Dst: fprintf
      Src: /src/mhd2/src/tests/unit/unit_sha512_256.c:555,1
    - Dst: mhd_SHA512_256_get_err
      Src: /src/mhd2/src/tests/unit/unit_sha512_256.c:557,1
    - Dst: mhd_SHA512_256_deinit
      Src: /src/mhd2/src/tests/unit/unit_sha512_256.c:558,1
    - Dst: exit
      Src: /src/mhd2/src/tests/unit/unit_sha512_256.c:559,1
    - Dst: check_result
      Src: /src/mhd2/src/tests/unit/unit_sha512_256.c:561,1
    - Dst: mhd_SHA512_256_deinit
      Src: /src/mhd2/src/tests/unit/unit_sha512_256.c:566,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 15
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 568
      start: 535
    functionDepth: 1
    functionLinenumber: 535
    functionLinenumberEnd: 568
    functionName: test1_str
    functionSourceFile: /src/mhd2/src/tests/unit/unit_sha512_256.c
    functionUses: 0
    functionsReached:
    - check_result
    - fprintf
    - mhd_SHA512_256_has_err
    - mhd_SHA512_256_finish_reset
    - mhd_SHA512_256_get_err
    - mhd_SHA512_256_init
    - mhd_SHA512_256_deinit
    - exit
    - mhd_SHA512_256_update
    linkageType: ''
    returnType: unsigned int
    signature: unsigned int test1_str (void)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: mhd_SHA512_256_init
      Src: /src/mhd2/src/tests/unit/unit_sha512_256.c:578,1
    - Dst: mhd_SHA512_256_update
      Src: /src/mhd2/src/tests/unit/unit_sha512_256.c:583,1
    - Dst: mhd_SHA512_256_finish_reset
      Src: /src/mhd2/src/tests/unit/unit_sha512_256.c:586,1
    - Dst: mhd_SHA512_256_has_err
      Src: /src/mhd2/src/tests/unit/unit_sha512_256.c:588,1
    - Dst: fprintf
      Src: /src/mhd2/src/tests/unit/unit_sha512_256.c:590,1
    - Dst: mhd_SHA512_256_get_err
      Src: /src/mhd2/src/tests/unit/unit_sha512_256.c:592,1
    - Dst: mhd_SHA512_256_deinit
      Src: /src/mhd2/src/tests/unit/unit_sha512_256.c:593,1
    - Dst: exit
      Src: /src/mhd2/src/tests/unit/unit_sha512_256.c:594,1
    - Dst: check_result
      Src: /src/mhd2/src/tests/unit/unit_sha512_256.c:596,1
    - Dst: mhd_SHA512_256_deinit
      Src: /src/mhd2/src/tests/unit/unit_sha512_256.c:601,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 14
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 603
      start: 571
    functionDepth: 1
    functionLinenumber: 571
    functionLinenumberEnd: 603
    functionName: test1_bin
    functionSourceFile: /src/mhd2/src/tests/unit/unit_sha512_256.c
    functionUses: 0
    functionsReached:
    - check_result
    - fprintf
    - mhd_SHA512_256_has_err
    - mhd_SHA512_256_finish_reset
    - mhd_SHA512_256_get_err
    - mhd_SHA512_256_init
    - mhd_SHA512_256_deinit
    - exit
    - mhd_SHA512_256_update
    linkageType: ''
    returnType: unsigned int
    signature: unsigned int test1_bin (void)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: mhd_SHA512_256_init
      Src: /src/mhd2/src/tests/unit/unit_sha512_256.c:614,1
    - Dst: mhd_SHA512_256_update
      Src: /src/mhd2/src/tests/unit/unit_sha512_256.c:621,1
    - Dst: mhd_SHA512_256_update
      Src: /src/mhd2/src/tests/unit/unit_sha512_256.c:625,1
    - Dst: mhd_SHA512_256_finish_reset
      Src: /src/mhd2/src/tests/unit/unit_sha512_256.c:629,1
    - Dst: mhd_SHA512_256_has_err
      Src: /src/mhd2/src/tests/unit/unit_sha512_256.c:631,1
    - Dst: fprintf
      Src: /src/mhd2/src/tests/unit/unit_sha512_256.c:633,1
    - Dst: mhd_SHA512_256_get_err
      Src: /src/mhd2/src/tests/unit/unit_sha512_256.c:635,1
    - Dst: mhd_SHA512_256_deinit
      Src: /src/mhd2/src/tests/unit/unit_sha512_256.c:636,1
    - Dst: exit
      Src: /src/mhd2/src/tests/unit/unit_sha512_256.c:637,1
    - Dst: check_result
      Src: /src/mhd2/src/tests/unit/unit_sha512_256.c:639,1
    - Dst: mhd_SHA512_256_deinit
      Src: /src/mhd2/src/tests/unit/unit_sha512_256.c:644,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 17
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 646
      start: 607
    functionDepth: 1
    functionLinenumber: 607
    functionLinenumberEnd: 646
    functionName: test2_str
    functionSourceFile: /src/mhd2/src/tests/unit/unit_sha512_256.c
    functionUses: 0
    functionsReached:
    - check_result
    - fprintf
    - mhd_SHA512_256_has_err
    - mhd_SHA512_256_finish_reset
    - mhd_SHA512_256_get_err
    - mhd_SHA512_256_init
    - mhd_SHA512_256_deinit
    - exit
    - mhd_SHA512_256_update
    linkageType: ''
    returnType: unsigned int
    signature: unsigned int test2_str (void)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: mhd_SHA512_256_init
      Src: /src/mhd2/src/tests/unit/unit_sha512_256.c:656,1
    - Dst: mhd_SHA512_256_update
      Src: /src/mhd2/src/tests/unit/unit_sha512_256.c:662,1
    - Dst: mhd_SHA512_256_update
      Src: /src/mhd2/src/tests/unit/unit_sha512_256.c:665,1
    - Dst: mhd_SHA512_256_finish_reset
      Src: /src/mhd2/src/tests/unit/unit_sha512_256.c:668,1
    - Dst: mhd_SHA512_256_has_err
      Src: /src/mhd2/src/tests/unit/unit_sha512_256.c:670,1
    - Dst: fprintf
      Src: /src/mhd2/src/tests/unit/unit_sha512_256.c:672,1
    - Dst: mhd_SHA512_256_get_err
      Src: /src/mhd2/src/tests/unit/unit_sha512_256.c:674,1
    - Dst: mhd_SHA512_256_deinit
      Src: /src/mhd2/src/tests/unit/unit_sha512_256.c:675,1
    - Dst: exit
      Src: /src/mhd2/src/tests/unit/unit_sha512_256.c:676,1
    - Dst: check_result
      Src: /src/mhd2/src/tests/unit/unit_sha512_256.c:678,1
    - Dst: mhd_SHA512_256_deinit
      Src: /src/mhd2/src/tests/unit/unit_sha512_256.c:683,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 15
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 685
      start: 649
    functionDepth: 1
    functionLinenumber: 649
    functionLinenumberEnd: 685
    functionName: test2_bin
    functionSourceFile: /src/mhd2/src/tests/unit/unit_sha512_256.c
    functionUses: 0
    functionsReached:
    - check_result
    - fprintf
    - mhd_SHA512_256_has_err
    - mhd_SHA512_256_finish_reset
    - mhd_SHA512_256_get_err
    - mhd_SHA512_256_init
    - mhd_SHA512_256_deinit
    - exit
    - mhd_SHA512_256_update
    linkageType: ''
    returnType: unsigned int
    signature: unsigned int test2_bin (void)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: malloc
      Src: /src/mhd2/src/tests/unit/unit_sha512_256.c:702,1
    - Dst: malloc
      Src: /src/mhd2/src/tests/unit/unit_sha512_256.c:703,1
    - Dst: fprintf
      Src: /src/mhd2/src/tests/unit/unit_sha512_256.c:706,1
    - Dst: free
      Src: /src/mhd2/src/tests/unit/unit_sha512_256.c:708,1
    - Dst: free
      Src: /src/mhd2/src/tests/unit/unit_sha512_256.c:709,1
    - Dst: exit
      Src: /src/mhd2/src/tests/unit/unit_sha512_256.c:710,1
    - Dst: mhd_SHA512_256_init
      Src: /src/mhd2/src/tests/unit/unit_sha512_256.c:713,1
    - Dst: memcpy
      Src: /src/mhd2/src/tests/unit/unit_sha512_256.c:720,1
    - Dst: memset
      Src: /src/mhd2/src/tests/unit/unit_sha512_256.c:724,1
    - Dst: mhd_SHA512_256_update
      Src: /src/mhd2/src/tests/unit/unit_sha512_256.c:727,1
    - Dst: mhd_SHA512_256_finish_reset
      Src: /src/mhd2/src/tests/unit/unit_sha512_256.c:730,1
    - Dst: mhd_SHA512_256_has_err
      Src: /src/mhd2/src/tests/unit/unit_sha512_256.c:732,1
    - Dst: fprintf
      Src: /src/mhd2/src/tests/unit/unit_sha512_256.c:734,1
    - Dst: mhd_SHA512_256_get_err
      Src: /src/mhd2/src/tests/unit/unit_sha512_256.c:736,1
    - Dst: mhd_SHA512_256_deinit
      Src: /src/mhd2/src/tests/unit/unit_sha512_256.c:737,1
    - Dst: free
      Src: /src/mhd2/src/tests/unit/unit_sha512_256.c:738,1
    - Dst: free
      Src: /src/mhd2/src/tests/unit/unit_sha512_256.c:739,1
    - Dst: exit
      Src: /src/mhd2/src/tests/unit/unit_sha512_256.c:740,1
    - Dst: check_result
      Src: /src/mhd2/src/tests/unit/unit_sha512_256.c:742,1
    - Dst: mhd_SHA512_256_deinit
      Src: /src/mhd2/src/tests/unit/unit_sha512_256.c:747,1
    - Dst: free
      Src: /src/mhd2/src/tests/unit/unit_sha512_256.c:748,1
    - Dst: free
      Src: /src/mhd2/src/tests/unit/unit_sha512_256.c:749,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 30
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 751
      start: 692
    functionDepth: 1
    functionLinenumber: 692
    functionLinenumberEnd: 751
    functionName: test_unaligned
    functionSourceFile: /src/mhd2/src/tests/unit/unit_sha512_256.c
    functionUses: 0
    functionsReached:
    - check_result
    - fprintf
    - memset
    - malloc
    - mhd_SHA512_256_has_err
    - mhd_SHA512_256_finish_reset
    - mhd_SHA512_256_get_err
    - free
    - exit
    - mhd_SHA512_256_init
    - mhd_SHA512_256_deinit
    - mhd_SHA512_256_update
    - memcpy
    linkageType: ''
    returnType: unsigned int
    signature: unsigned int test_unaligned (void)
  - BBCount: 21
    BranchProfiles: []
    Callsites:
    - Dst: mhdt_has_param
      Src: /src/mhd2/src/tests/unit/unit_sha512_256.c:805,1
    - Dst: mhdt_has_param
      Src: /src/mhd2/src/tests/unit/unit_sha512_256.c:806,1
    - Dst: mhd_SHA512_256_init
      Src: /src/mhd2/src/tests/unit/unit_sha512_256.c:814,1
    - Dst: mhd_SHA512_256_has_err
      Src: /src/mhd2/src/tests/unit/unit_sha512_256.c:815,1
    - Dst: hex2bin
      Src: /src/mhd2/src/tests/unit/unit_sha512_256.c:817,1
    - Dst: mhd_SHA512_256_update
      Src: /src/mhd2/src/tests/unit/unit_sha512_256.c:821,1
    - Dst: mhd_SHA512_256_finish
      Src: /src/mhd2/src/tests/unit/unit_sha512_256.c:824,1
    - Dst: mhd_SHA512_256_has_err
      Src: /src/mhd2/src/tests/unit/unit_sha512_256.c:826,1
    - Dst: check_digest
      Src: /src/mhd2/src/tests/unit/unit_sha512_256.c:828,1
    - Dst: fprintf
      Src: /src/mhd2/src/tests/unit/unit_sha512_256.c:836,1
    - Dst: mhd_SHA512_256_get_err
      Src: /src/mhd2/src/tests/unit/unit_sha512_256.c:840,1
    - Dst: mhd_SHA512_256_deinit
      Src: /src/mhd2/src/tests/unit/unit_sha512_256.c:841,1
    - Dst: exit
      Src: /src/mhd2/src/tests/unit/unit_sha512_256.c:842,1
    - Dst: fprintf
      Src: /src/mhd2/src/tests/unit/unit_sha512_256.c:847,1
    - Dst: mhd_SHA512_256_get_err
      Src: /src/mhd2/src/tests/unit/unit_sha512_256.c:850,1
    - Dst: mhd_SHA512_256_deinit
      Src: /src/mhd2/src/tests/unit/unit_sha512_256.c:851,1
    - Dst: exit
      Src: /src/mhd2/src/tests/unit/unit_sha512_256.c:852,1
    - Dst: mhd_SHA512_256_deinit
      Src: /src/mhd2/src/tests/unit/unit_sha512_256.c:854,1
    - Dst: mhd_SHA512_256_init
      Src: /src/mhd2/src/tests/unit/unit_sha512_256.c:862,1
    - Dst: mhd_SHA512_256_has_err
      Src: /src/mhd2/src/tests/unit/unit_sha512_256.c:863,1
    - Dst: mhd_SHA512_256_update
      Src: /src/mhd2/src/tests/unit/unit_sha512_256.c:866,1
    - Dst: mhd_SHA512_256_update
      Src: /src/mhd2/src/tests/unit/unit_sha512_256.c:870,1
    - Dst: mhd_SHA512_256_update
      Src: /src/mhd2/src/tests/unit/unit_sha512_256.c:873,1
    - Dst: mhd_SHA512_256_update
      Src: /src/mhd2/src/tests/unit/unit_sha512_256.c:877,1
    - Dst: mhd_SHA512_256_finish
      Src: /src/mhd2/src/tests/unit/unit_sha512_256.c:880,1
    - Dst: mhd_SHA512_256_has_err
      Src: /src/mhd2/src/tests/unit/unit_sha512_256.c:882,1
    - Dst: check_digest
      Src: /src/mhd2/src/tests/unit/unit_sha512_256.c:884,1
    - Dst: fprintf
      Src: /src/mhd2/src/tests/unit/unit_sha512_256.c:892,1
    - Dst: mhd_SHA512_256_get_err
      Src: /src/mhd2/src/tests/unit/unit_sha512_256.c:895,1
    - Dst: mhd_SHA512_256_deinit
      Src: /src/mhd2/src/tests/unit/unit_sha512_256.c:896,1
    - Dst: exit
      Src: /src/mhd2/src/tests/unit/unit_sha512_256.c:897,1
    - Dst: fprintf
      Src: /src/mhd2/src/tests/unit/unit_sha512_256.c:902,1
    - Dst: mhd_SHA512_256_get_err
      Src: /src/mhd2/src/tests/unit/unit_sha512_256.c:905,1
    - Dst: mhd_SHA512_256_deinit
      Src: /src/mhd2/src/tests/unit/unit_sha512_256.c:906,1
    - Dst: exit
      Src: /src/mhd2/src/tests/unit/unit_sha512_256.c:907,1
    - Dst: mhd_SHA512_256_deinit
      Src: /src/mhd2/src/tests/unit/unit_sha512_256.c:909,1
    - Dst: mhd_SHA512_256_init
      Src: /src/mhd2/src/tests/unit/unit_sha512_256.c:916,1
    - Dst: mhd_SHA512_256_has_err
      Src: /src/mhd2/src/tests/unit/unit_sha512_256.c:917,1
    - Dst: hex2bin
      Src: /src/mhd2/src/tests/unit/unit_sha512_256.c:920,1
    - Dst: mhd_SHA512_256_update
      Src: /src/mhd2/src/tests/unit/unit_sha512_256.c:923,1
    - Dst: mhd_SHA512_256_finish_reset
      Src: /src/mhd2/src/tests/unit/unit_sha512_256.c:926,1
    - Dst: mhd_SHA512_256_has_err
      Src: /src/mhd2/src/tests/unit/unit_sha512_256.c:928,1
    - Dst: fprintf
      Src: /src/mhd2/src/tests/unit/unit_sha512_256.c:930,1
    - Dst: mhd_SHA512_256_get_err
      Src: /src/mhd2/src/tests/unit/unit_sha512_256.c:933,1
    - Dst: mhd_SHA512_256_deinit
      Src: /src/mhd2/src/tests/unit/unit_sha512_256.c:934,1
    - Dst: exit
      Src: /src/mhd2/src/tests/unit/unit_sha512_256.c:935,1
    - Dst: check_digest
      Src: /src/mhd2/src/tests/unit/unit_sha512_256.c:937,1
    - Dst: hex2bin
      Src: /src/mhd2/src/tests/unit/unit_sha512_256.c:945,1
    - Dst: mhd_SHA512_256_update
      Src: /src/mhd2/src/tests/unit/unit_sha512_256.c:948,1
    - Dst: mhd_SHA512_256_finish
      Src: /src/mhd2/src/tests/unit/unit_sha512_256.c:951,1
    - Dst: mhd_SHA512_256_has_err
      Src: /src/mhd2/src/tests/unit/unit_sha512_256.c:954,1
    - Dst: check_digest
      Src: /src/mhd2/src/tests/unit/unit_sha512_256.c:956,1
    - Dst: fprintf
      Src: /src/mhd2/src/tests/unit/unit_sha512_256.c:964,1
    - Dst: mhd_SHA512_256_get_err
      Src: /src/mhd2/src/tests/unit/unit_sha512_256.c:967,1
    - Dst: mhd_SHA512_256_deinit
      Src: /src/mhd2/src/tests/unit/unit_sha512_256.c:968,1
    - Dst: exit
      Src: /src/mhd2/src/tests/unit/unit_sha512_256.c:969,1
    - Dst: fprintf
      Src: /src/mhd2/src/tests/unit/unit_sha512_256.c:974,1
    - Dst: mhd_SHA512_256_get_err
      Src: /src/mhd2/src/tests/unit/unit_sha512_256.c:977,1
    - Dst: mhd_SHA512_256_deinit
      Src: /src/mhd2/src/tests/unit/unit_sha512_256.c:978,1
    - Dst: exit
      Src: /src/mhd2/src/tests/unit/unit_sha512_256.c:979,1
    - Dst: mhd_SHA512_256_deinit
      Src: /src/mhd2/src/tests/unit/unit_sha512_256.c:981,1
    - Dst: mhd_SHA512_256_init
      Src: /src/mhd2/src/tests/unit/unit_sha512_256.c:988,1
    - Dst: mhd_SHA512_256_has_err
      Src: /src/mhd2/src/tests/unit/unit_sha512_256.c:989,1
    - Dst: fprintf
      Src: /src/mhd2/src/tests/unit/unit_sha512_256.c:991,1
    - Dst: mhd_SHA512_256_get_err
      Src: /src/mhd2/src/tests/unit/unit_sha512_256.c:994,1
    - Dst: mhd_SHA512_256_deinit
      Src: /src/mhd2/src/tests/unit/unit_sha512_256.c:995,1
    - Dst: exit
      Src: /src/mhd2/src/tests/unit/unit_sha512_256.c:996,1
    - Dst: hex2bin
      Src: /src/mhd2/src/tests/unit/unit_sha512_256.c:998,1
    - Dst: mhd_SHA512_256_update
      Src: /src/mhd2/src/tests/unit/unit_sha512_256.c:1001,1
    - Dst: mhd_SHA512_256_finish_deinit
      Src: /src/mhd2/src/tests/unit/unit_sha512_256.c:1004,1
    - Dst: mhd_SHA512_256_has_err
      Src: /src/mhd2/src/tests/unit/unit_sha512_256.c:1006,1
    - Dst: fprintf
      Src: /src/mhd2/src/tests/unit/unit_sha512_256.c:1008,1
    - Dst: mhd_SHA512_256_get_err
      Src: /src/mhd2/src/tests/unit/unit_sha512_256.c:1011,1
    - Dst: exit
      Src: /src/mhd2/src/tests/unit/unit_sha512_256.c:1012,1
    - Dst: check_digest
      Src: /src/mhd2/src/tests/unit/unit_sha512_256.c:1014,1
    - Dst: mhd_SHA512_256_init
      Src: /src/mhd2/src/tests/unit/unit_sha512_256.c:1025,1
    - Dst: mhd_SHA512_256_has_err
      Src: /src/mhd2/src/tests/unit/unit_sha512_256.c:1026,1
    - Dst: fprintf
      Src: /src/mhd2/src/tests/unit/unit_sha512_256.c:1028,1
    - Dst: mhd_SHA512_256_get_err
      Src: /src/mhd2/src/tests/unit/unit_sha512_256.c:1031,1
    - Dst: mhd_SHA512_256_deinit
      Src: /src/mhd2/src/tests/unit/unit_sha512_256.c:1032,1
    - Dst: exit
      Src: /src/mhd2/src/tests/unit/unit_sha512_256.c:1033,1
    - Dst: memset
      Src: /src/mhd2/src/tests/unit/unit_sha512_256.c:1035,1
    - Dst: mhd_SHA512_256_update
      Src: /src/mhd2/src/tests/unit/unit_sha512_256.c:1037,1
    - Dst: mhd_SHA512_256_finish
      Src: /src/mhd2/src/tests/unit/unit_sha512_256.c:1040,1
    - Dst: mhd_SHA512_256_has_err
      Src: /src/mhd2/src/tests/unit/unit_sha512_256.c:1042,1
    - Dst: fprintf
      Src: /src/mhd2/src/tests/unit/unit_sha512_256.c:1044,1
    - Dst: mhd_SHA512_256_get_err
      Src: /src/mhd2/src/tests/unit/unit_sha512_256.c:1047,1
    - Dst: mhd_SHA512_256_deinit
      Src: /src/mhd2/src/tests/unit/unit_sha512_256.c:1048,1
    - Dst: exit
      Src: /src/mhd2/src/tests/unit/unit_sha512_256.c:1049,1
    - Dst: check_digest
      Src: /src/mhd2/src/tests/unit/unit_sha512_256.c:1051,1
    - Dst: mhd_SHA512_256_deinit
      Src: /src/mhd2/src/tests/unit/unit_sha512_256.c:1056,1
    - Dst: test1_str
      Src: /src/mhd2/src/tests/unit/unit_sha512_256.c:1060,1
    - Dst: test1_bin
      Src: /src/mhd2/src/tests/unit/unit_sha512_256.c:1061,1
    - Dst: test2_str
      Src: /src/mhd2/src/tests/unit/unit_sha512_256.c:1063,1
    - Dst: test2_bin
      Src: /src/mhd2/src/tests/unit/unit_sha512_256.c:1064,1
    - Dst: test_unaligned
      Src: /src/mhd2/src/tests/unit/unit_sha512_256.c:1066,1
    - Dst: fprintf
      Src: /src/mhd2/src/tests/unit/unit_sha512_256.c:1069,1
    CyclomaticComplexity: 24
    EdgeCount: 24
    ICount: 129
    argCount: 2
    argNames:
    - argc
    - argv
    argTypes:
    - int
    - char**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1074
      start: 754
    functionDepth: 1
    functionLinenumber: 754
    functionLinenumberEnd: 1074
    functionName: main
    functionSourceFile: /src/mhd2/src/tests/unit/unit_sha512_256.c
    functionUses: 0
    functionsReached:
    - test1_bin
    - fprintf
    - mhd_SHA512_256_has_err
    - mhd_SHA512_256_finish_deinit
    - mhd_SHA512_256_finish
    - hex2bin
    - mhd_SHA512_256_finish_reset
    - mhd_SHA512_256_init
    - check_digest
    - mhdt_has_param
    - test2_bin
    - test2_str
    - mhd_SHA512_256_get_err
    - exit
    - mhd_SHA512_256_update
    - memset
    - test1_str
    - test_unaligned
    - mhd_SHA512_256_deinit
    linkageType: ''
    returnType: int
    signature: "int main (int argc,\n      char **argv)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - macro
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 41
      start: 40
    functionDepth: 0
    functionLinenumber: 40
    functionLinenumberEnd: 41
    functionName: MHD_STATICSTR_LEN_
    functionSourceFile: /src/mhd2/src/tests/unit/unit_str_base64.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: MHD_STATICSTR_LEN_(macro)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: mhd_assert
      Src: /src/mhd2/src/tests/unit/unit_str_base64.c:57,1
    - Dst: mhd_assert
      Src: /src/mhd2/src/tests/unit/unit_str_base64.c:58,1
    - Dst: mhd_assert
      Src: /src/mhd2/src/tests/unit/unit_str_base64.c:59,1
    - Dst: mhd_assert
      Src: /src/mhd2/src/tests/unit/unit_str_base64.c:60,1
    - Dst: mhd_assert
      Src: /src/mhd2/src/tests/unit/unit_str_base64.c:61,1
    - Dst: memset
      Src: /src/mhd2/src/tests/unit/unit_str_base64.c:64,1
    - Dst: mhd_base64_to_bin_n
      Src: /src/mhd2/src/tests/unit/unit_str_base64.c:65,1
    - Dst: fprintf
      Src: /src/mhd2/src/tests/unit/unit_str_base64.c:70,1
    - Dst: memcmp
      Src: /src/mhd2/src/tests/unit/unit_str_base64.c:73,1
    - Dst: fprintf
      Src: /src/mhd2/src/tests/unit/unit_str_base64.c:76,1
    - Dst: fprintf
      Src: /src/mhd2/src/tests/unit/unit_str_base64.c:85,1
    - Dst: mhd_bin_to_hex_z
      Src: /src/mhd2/src/tests/unit/unit_str_base64.c:93,1
    - Dst: mhd_assert
      Src: /src/mhd2/src/tests/unit/unit_str_base64.c:94,1
    - Dst: fprintf
      Src: /src/mhd2/src/tests/unit/unit_str_base64.c:96,1
    - Dst: mhd_bin_to_hex_z
      Src: /src/mhd2/src/tests/unit/unit_str_base64.c:103,1
    - Dst: mhd_assert
      Src: /src/mhd2/src/tests/unit/unit_str_base64.c:104,1
    - Dst: fprintf
      Src: /src/mhd2/src/tests/unit/unit_str_base64.c:105,1
    - Dst: fprintf
      Src: /src/mhd2/src/tests/unit/unit_str_base64.c:111,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 31
    argCount: 5
    argNames:
    - encoded
    - encoded_len
    - decoded
    - decoded_size
    - line_num
    argTypes:
    - char*
    - size_t
    - uint8_t*
    - size_t
    - unsigned int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 115
      start: 47
    functionDepth: 1
    functionLinenumber: 47
    functionLinenumberEnd: 115
    functionName: expect_decoded_n
    functionSourceFile: /src/mhd2/src/tests/unit/unit_str_base64.c
    functionUses: 0
    functionsReached:
    - fprintf
    - memset
    - mhd_base64_to_bin_n
    - mhd_bin_to_hex_z
    - mhd_assert
    - memcmp
    linkageType: ''
    returnType: unsigned int
    signature: "unsigned int expect_decoded_n (const char *const encoded, const size_t
      encoded_len,\n                  const uint8_t *const decoded, const size_t decoded_size,\n
      \                 const unsigned int line_num)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - e
    - ','
    - d
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 122
      start: 118
    functionDepth: 0
    functionLinenumber: 118
    functionLinenumberEnd: 122
    functionName: expect_decoded
    functionSourceFile: /src/mhd2/src/tests/unit/unit_str_base64.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: expect_decoded(e, d)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: expect_decoded
      Src: /src/mhd2/src/tests/unit/unit_str_base64.c:128,1
    - Dst: expect_decoded
      Src: /src/mhd2/src/tests/unit/unit_str_base64.c:131,1
    - Dst: expect_decoded
      Src: /src/mhd2/src/tests/unit/unit_str_base64.c:132,1
    - Dst: expect_decoded
      Src: /src/mhd2/src/tests/unit/unit_str_base64.c:133,1
    - Dst: expect_decoded
      Src: /src/mhd2/src/tests/unit/unit_str_base64.c:134,1
    - Dst: expect_decoded
      Src: /src/mhd2/src/tests/unit/unit_str_base64.c:135,1
    - Dst: expect_decoded
      Src: /src/mhd2/src/tests/unit/unit_str_base64.c:136,1
    - Dst: expect_decoded
      Src: /src/mhd2/src/tests/unit/unit_str_base64.c:137,1
    - Dst: expect_decoded
      Src: /src/mhd2/src/tests/unit/unit_str_base64.c:138,1
    - Dst: expect_decoded
      Src: /src/mhd2/src/tests/unit/unit_str_base64.c:139,1
    - Dst: expect_decoded
      Src: /src/mhd2/src/tests/unit/unit_str_base64.c:140,1
    - Dst: expect_decoded
      Src: /src/mhd2/src/tests/unit/unit_str_base64.c:141,1
    - Dst: expect_decoded
      Src: /src/mhd2/src/tests/unit/unit_str_base64.c:142,1
    - Dst: expect_decoded
      Src: /src/mhd2/src/tests/unit/unit_str_base64.c:143,1
    - Dst: expect_decoded
      Src: /src/mhd2/src/tests/unit/unit_str_base64.c:144,1
    - Dst: expect_decoded
      Src: /src/mhd2/src/tests/unit/unit_str_base64.c:145,1
    - Dst: expect_decoded
      Src: /src/mhd2/src/tests/unit/unit_str_base64.c:146,1
    - Dst: expect_decoded
      Src: /src/mhd2/src/tests/unit/unit_str_base64.c:147,1
    - Dst: expect_decoded
      Src: /src/mhd2/src/tests/unit/unit_str_base64.c:148,1
    - Dst: expect_decoded
      Src: /src/mhd2/src/tests/unit/unit_str_base64.c:149,1
    - Dst: expect_decoded
      Src: /src/mhd2/src/tests/unit/unit_str_base64.c:150,1
    - Dst: expect_decoded
      Src: /src/mhd2/src/tests/unit/unit_str_base64.c:151,1
    - Dst: expect_decoded
      Src: /src/mhd2/src/tests/unit/unit_str_base64.c:152,1
    - Dst: expect_decoded
      Src: /src/mhd2/src/tests/unit/unit_str_base64.c:153,1
    - Dst: expect_decoded
      Src: /src/mhd2/src/tests/unit/unit_str_base64.c:154,1
    - Dst: expect_decoded
      Src: /src/mhd2/src/tests/unit/unit_str_base64.c:155,1
    - Dst: expect_decoded
      Src: /src/mhd2/src/tests/unit/unit_str_base64.c:156,1
    - Dst: expect_decoded
      Src: /src/mhd2/src/tests/unit/unit_str_base64.c:157,1
    - Dst: expect_decoded
      Src: /src/mhd2/src/tests/unit/unit_str_base64.c:158,1
    - Dst: expect_decoded
      Src: /src/mhd2/src/tests/unit/unit_str_base64.c:159,1
    - Dst: expect_decoded
      Src: /src/mhd2/src/tests/unit/unit_str_base64.c:160,1
    - Dst: expect_decoded
      Src: /src/mhd2/src/tests/unit/unit_str_base64.c:161,1
    - Dst: expect_decoded
      Src: /src/mhd2/src/tests/unit/unit_str_base64.c:162,1
    - Dst: expect_decoded
      Src: /src/mhd2/src/tests/unit/unit_str_base64.c:163,1
    - Dst: expect_decoded
      Src: /src/mhd2/src/tests/unit/unit_str_base64.c:164,1
    - Dst: expect_decoded
      Src: /src/mhd2/src/tests/unit/unit_str_base64.c:165,1
    - Dst: expect_decoded
      Src: /src/mhd2/src/tests/unit/unit_str_base64.c:166,1
    - Dst: expect_decoded
      Src: /src/mhd2/src/tests/unit/unit_str_base64.c:167,1
    - Dst: expect_decoded
      Src: /src/mhd2/src/tests/unit/unit_str_base64.c:168,1
    - Dst: expect_decoded
      Src: /src/mhd2/src/tests/unit/unit_str_base64.c:169,1
    - Dst: expect_decoded
      Src: /src/mhd2/src/tests/unit/unit_str_base64.c:170,1
    - Dst: expect_decoded
      Src: /src/mhd2/src/tests/unit/unit_str_base64.c:171,1
    - Dst: expect_decoded
      Src: /src/mhd2/src/tests/unit/unit_str_base64.c:172,1
    - Dst: expect_decoded
      Src: /src/mhd2/src/tests/unit/unit_str_base64.c:175,1
    - Dst: expect_decoded
      Src: /src/mhd2/src/tests/unit/unit_str_base64.c:176,1
    - Dst: expect_decoded
      Src: /src/mhd2/src/tests/unit/unit_str_base64.c:177,1
    - Dst: expect_decoded
      Src: /src/mhd2/src/tests/unit/unit_str_base64.c:178,1
    - Dst: expect_decoded
      Src: /src/mhd2/src/tests/unit/unit_str_base64.c:179,1
    - Dst: expect_decoded
      Src: /src/mhd2/src/tests/unit/unit_str_base64.c:180,1
    - Dst: expect_decoded
      Src: /src/mhd2/src/tests/unit/unit_str_base64.c:181,1
    - Dst: expect_decoded
      Src: /src/mhd2/src/tests/unit/unit_str_base64.c:182,1
    - Dst: expect_decoded
      Src: /src/mhd2/src/tests/unit/unit_str_base64.c:183,1
    - Dst: expect_decoded
      Src: /src/mhd2/src/tests/unit/unit_str_base64.c:184,1
    - Dst: expect_decoded
      Src: /src/mhd2/src/tests/unit/unit_str_base64.c:185,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 56
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 188
      start: 123
    functionDepth: 0
    functionLinenumber: 123
    functionLinenumberEnd: 188
    functionName: check_decode_str
    functionSourceFile: /src/mhd2/src/tests/unit/unit_str_base64.c
    functionUses: 0
    functionsReached:
    - expect_decoded
    linkageType: ''
    returnType: unsigned int
    signature: unsigned int check_decode_str (void)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - e
    - ','
    - a
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 195
      start: 191
    functionDepth: 0
    functionLinenumber: 191
    functionLinenumberEnd: 195
    functionName: expect_decoded_arr
    functionSourceFile: /src/mhd2/src/tests/unit/unit_str_base64.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: expect_decoded_arr(e, a)
  - BBCount: 16
    BranchProfiles: []
    Callsites:
    - Dst: expect_decoded_arr
      Src: /src/mhd2/src/tests/unit/unit_str_base64.c:226,1
    - Dst: expect_decoded_arr
      Src: /src/mhd2/src/tests/unit/unit_str_base64.c:261,1
    - Dst: expect_decoded_arr
      Src: /src/mhd2/src/tests/unit/unit_str_base64.c:296,1
    - Dst: expect_decoded_arr
      Src: /src/mhd2/src/tests/unit/unit_str_base64.c:331,1
    - Dst: expect_decoded_arr
      Src: /src/mhd2/src/tests/unit/unit_str_base64.c:366,1
    - Dst: expect_decoded_arr
      Src: /src/mhd2/src/tests/unit/unit_str_base64.c:401,1
    - Dst: expect_decoded_arr
      Src: /src/mhd2/src/tests/unit/unit_str_base64.c:436,1
    - Dst: expect_decoded_arr
      Src: /src/mhd2/src/tests/unit/unit_str_base64.c:471,1
    - Dst: expect_decoded_arr
      Src: /src/mhd2/src/tests/unit/unit_str_base64.c:506,1
    - Dst: expect_decoded_arr
      Src: /src/mhd2/src/tests/unit/unit_str_base64.c:541,1
    - Dst: expect_decoded_arr
      Src: /src/mhd2/src/tests/unit/unit_str_base64.c:576,1
    - Dst: expect_decoded_arr
      Src: /src/mhd2/src/tests/unit/unit_str_base64.c:593,1
    - Dst: expect_decoded_arr
      Src: /src/mhd2/src/tests/unit/unit_str_base64.c:605,1
    - Dst: expect_decoded_arr
      Src: /src/mhd2/src/tests/unit/unit_str_base64.c:617,1
    - Dst: expect_decoded_arr
      Src: /src/mhd2/src/tests/unit/unit_str_base64.c:629,1
    CyclomaticComplexity: 15
    EdgeCount: 15
    ICount: 47
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 634
      start: 196
    functionDepth: 0
    functionLinenumber: 196
    functionLinenumberEnd: 634
    functionName: check_decode_bin
    functionSourceFile: /src/mhd2/src/tests/unit/unit_str_base64.c
    functionUses: 0
    functionsReached:
    - expect_decoded_arr
    linkageType: ''
    returnType: unsigned int
    signature: unsigned int check_decode_bin (void)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: mhd_assert
      Src: /src/mhd2/src/tests/unit/unit_str_base64.c:647,1
    - Dst: mhd_assert
      Src: /src/mhd2/src/tests/unit/unit_str_base64.c:648,1
    - Dst: memset
      Src: /src/mhd2/src/tests/unit/unit_str_base64.c:651,1
    - Dst: mhd_base64_to_bin_n
      Src: /src/mhd2/src/tests/unit/unit_str_base64.c:652,1
    - Dst: fprintf
      Src: /src/mhd2/src/tests/unit/unit_str_base64.c:657,1
    - Dst: fprintf
      Src: /src/mhd2/src/tests/unit/unit_str_base64.c:666,1
    - Dst: mhd_bin_to_hex_z
      Src: /src/mhd2/src/tests/unit/unit_str_base64.c:674,1
    - Dst: mhd_assert
      Src: /src/mhd2/src/tests/unit/unit_str_base64.c:675,1
    - Dst: fprintf
      Src: /src/mhd2/src/tests/unit/unit_str_base64.c:677,1
    - Dst: fprintf
      Src: /src/mhd2/src/tests/unit/unit_str_base64.c:684,1
    - Dst: fprintf
      Src: /src/mhd2/src/tests/unit/unit_str_base64.c:689,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 22
    argCount: 3
    argNames:
    - encoded
    - encoded_len
    - line_num
    argTypes:
    - char*
    - size_t
    - unsigned int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 693
      start: 638
    functionDepth: 1
    functionLinenumber: 638
    functionLinenumberEnd: 693
    functionName: expect_fail_n
    functionSourceFile: /src/mhd2/src/tests/unit/unit_str_base64.c
    functionUses: 0
    functionsReached:
    - fprintf
    - memset
    - mhd_base64_to_bin_n
    - mhd_bin_to_hex_z
    - mhd_assert
    linkageType: ''
    returnType: unsigned int
    signature: "unsigned int expect_fail_n (const char *const encoded, const size_t
      encoded_len,\n               const unsigned int line_num)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - e
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 698
      start: 696
    functionDepth: 0
    functionLinenumber: 696
    functionLinenumberEnd: 698
    functionName: expect_fail
    functionSourceFile: /src/mhd2/src/tests/unit/unit_str_base64.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: expect_fail(e)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: expect_fail
      Src: /src/mhd2/src/tests/unit/unit_str_base64.c:706,1
    - Dst: expect_fail
      Src: /src/mhd2/src/tests/unit/unit_str_base64.c:707,1
    - Dst: expect_fail
      Src: /src/mhd2/src/tests/unit/unit_str_base64.c:708,1
    - Dst: expect_fail
      Src: /src/mhd2/src/tests/unit/unit_str_base64.c:709,1
    - Dst: expect_fail
      Src: /src/mhd2/src/tests/unit/unit_str_base64.c:710,1
    - Dst: expect_fail
      Src: /src/mhd2/src/tests/unit/unit_str_base64.c:711,1
    - Dst: expect_fail
      Src: /src/mhd2/src/tests/unit/unit_str_base64.c:714,1
    - Dst: expect_fail
      Src: /src/mhd2/src/tests/unit/unit_str_base64.c:715,1
    - Dst: expect_fail
      Src: /src/mhd2/src/tests/unit/unit_str_base64.c:716,1
    - Dst: expect_fail
      Src: /src/mhd2/src/tests/unit/unit_str_base64.c:717,1
    - Dst: expect_fail
      Src: /src/mhd2/src/tests/unit/unit_str_base64.c:718,1
    - Dst: expect_fail
      Src: /src/mhd2/src/tests/unit/unit_str_base64.c:719,1
    - Dst: expect_fail
      Src: /src/mhd2/src/tests/unit/unit_str_base64.c:720,1
    - Dst: expect_fail
      Src: /src/mhd2/src/tests/unit/unit_str_base64.c:721,1
    - Dst: expect_fail
      Src: /src/mhd2/src/tests/unit/unit_str_base64.c:722,1
    - Dst: expect_fail
      Src: /src/mhd2/src/tests/unit/unit_str_base64.c:723,1
    - Dst: expect_fail
      Src: /src/mhd2/src/tests/unit/unit_str_base64.c:724,1
    - Dst: expect_fail
      Src: /src/mhd2/src/tests/unit/unit_str_base64.c:725,1
    - Dst: expect_fail
      Src: /src/mhd2/src/tests/unit/unit_str_base64.c:726,1
    - Dst: expect_fail
      Src: /src/mhd2/src/tests/unit/unit_str_base64.c:727,1
    - Dst: expect_fail
      Src: /src/mhd2/src/tests/unit/unit_str_base64.c:728,1
    - Dst: expect_fail
      Src: /src/mhd2/src/tests/unit/unit_str_base64.c:729,1
    - Dst: expect_fail
      Src: /src/mhd2/src/tests/unit/unit_str_base64.c:730,1
    - Dst: expect_fail
      Src: /src/mhd2/src/tests/unit/unit_str_base64.c:731,1
    - Dst: expect_fail
      Src: /src/mhd2/src/tests/unit/unit_str_base64.c:732,1
    - Dst: expect_fail
      Src: /src/mhd2/src/tests/unit/unit_str_base64.c:733,1
    - Dst: expect_fail
      Src: /src/mhd2/src/tests/unit/unit_str_base64.c:734,1
    - Dst: expect_fail
      Src: /src/mhd2/src/tests/unit/unit_str_base64.c:735,1
    - Dst: expect_fail
      Src: /src/mhd2/src/tests/unit/unit_str_base64.c:736,1
    - Dst: expect_fail
      Src: /src/mhd2/src/tests/unit/unit_str_base64.c:737,1
    - Dst: expect_fail
      Src: /src/mhd2/src/tests/unit/unit_str_base64.c:738,1
    - Dst: expect_fail
      Src: /src/mhd2/src/tests/unit/unit_str_base64.c:739,1
    - Dst: expect_fail
      Src: /src/mhd2/src/tests/unit/unit_str_base64.c:740,1
    - Dst: expect_fail
      Src: /src/mhd2/src/tests/unit/unit_str_base64.c:741,1
    - Dst: expect_fail
      Src: /src/mhd2/src/tests/unit/unit_str_base64.c:742,1
    - Dst: expect_fail
      Src: /src/mhd2/src/tests/unit/unit_str_base64.c:743,1
    - Dst: expect_fail
      Src: /src/mhd2/src/tests/unit/unit_str_base64.c:744,1
    - Dst: expect_fail
      Src: /src/mhd2/src/tests/unit/unit_str_base64.c:745,1
    - Dst: expect_fail
      Src: /src/mhd2/src/tests/unit/unit_str_base64.c:746,1
    - Dst: expect_fail
      Src: /src/mhd2/src/tests/unit/unit_str_base64.c:747,1
    - Dst: expect_fail
      Src: /src/mhd2/src/tests/unit/unit_str_base64.c:748,1
    - Dst: expect_fail
      Src: /src/mhd2/src/tests/unit/unit_str_base64.c:749,1
    - Dst: expect_fail
      Src: /src/mhd2/src/tests/unit/unit_str_base64.c:752,1
    - Dst: expect_fail
      Src: /src/mhd2/src/tests/unit/unit_str_base64.c:753,1
    - Dst: expect_fail
      Src: /src/mhd2/src/tests/unit/unit_str_base64.c:754,1
    - Dst: expect_fail
      Src: /src/mhd2/src/tests/unit/unit_str_base64.c:755,1
    - Dst: expect_fail
      Src: /src/mhd2/src/tests/unit/unit_str_base64.c:756,1
    - Dst: expect_fail
      Src: /src/mhd2/src/tests/unit/unit_str_base64.c:757,1
    - Dst: expect_fail
      Src: /src/mhd2/src/tests/unit/unit_str_base64.c:758,1
    - Dst: expect_fail
      Src: /src/mhd2/src/tests/unit/unit_str_base64.c:759,1
    - Dst: expect_fail
      Src: /src/mhd2/src/tests/unit/unit_str_base64.c:760,1
    - Dst: expect_fail
      Src: /src/mhd2/src/tests/unit/unit_str_base64.c:761,1
    - Dst: expect_fail
      Src: /src/mhd2/src/tests/unit/unit_str_base64.c:762,1
    - Dst: expect_fail
      Src: /src/mhd2/src/tests/unit/unit_str_base64.c:763,1
    - Dst: expect_fail
      Src: /src/mhd2/src/tests/unit/unit_str_base64.c:764,1
    - Dst: expect_fail
      Src: /src/mhd2/src/tests/unit/unit_str_base64.c:765,1
    - Dst: expect_fail
      Src: /src/mhd2/src/tests/unit/unit_str_base64.c:766,1
    - Dst: expect_fail
      Src: /src/mhd2/src/tests/unit/unit_str_base64.c:767,1
    - Dst: expect_fail
      Src: /src/mhd2/src/tests/unit/unit_str_base64.c:770,1
    - Dst: expect_fail
      Src: /src/mhd2/src/tests/unit/unit_str_base64.c:771,1
    - Dst: expect_fail
      Src: /src/mhd2/src/tests/unit/unit_str_base64.c:772,1
    - Dst: expect_fail
      Src: /src/mhd2/src/tests/unit/unit_str_base64.c:773,1
    - Dst: expect_fail
      Src: /src/mhd2/src/tests/unit/unit_str_base64.c:774,1
    - Dst: expect_fail
      Src: /src/mhd2/src/tests/unit/unit_str_base64.c:775,1
    - Dst: expect_fail
      Src: /src/mhd2/src/tests/unit/unit_str_base64.c:776,1
    - Dst: expect_fail
      Src: /src/mhd2/src/tests/unit/unit_str_base64.c:777,1
    - Dst: expect_fail
      Src: /src/mhd2/src/tests/unit/unit_str_base64.c:778,1
    - Dst: expect_fail
      Src: /src/mhd2/src/tests/unit/unit_str_base64.c:781,1
    - Dst: expect_fail
      Src: /src/mhd2/src/tests/unit/unit_str_base64.c:782,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 71
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 785
      start: 700
    functionDepth: 1
    functionLinenumber: 700
    functionLinenumberEnd: 785
    functionName: check_fail
    functionSourceFile: /src/mhd2/src/tests/unit/unit_str_base64.c
    functionUses: 0
    functionsReached:
    - expect_fail
    linkageType: ''
    returnType: unsigned int
    signature: unsigned int check_fail (void)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: check_decode_str
      Src: /src/mhd2/src/tests/unit/unit_str_base64.c:794,1
    - Dst: check_decode_bin
      Src: /src/mhd2/src/tests/unit/unit_str_base64.c:795,1
    - Dst: check_fail
      Src: /src/mhd2/src/tests/unit/unit_str_base64.c:796,1
    - Dst: printf
      Src: /src/mhd2/src/tests/unit/unit_str_base64.c:798,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 9
    argCount: 2
    argNames:
    - argc
    - argv
    argTypes:
    - int
    - char*[]
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 800
      start: 788
    functionDepth: 2
    functionLinenumber: 788
    functionLinenumberEnd: 800
    functionName: main
    functionSourceFile: /src/mhd2/src/tests/unit/unit_str_base64.c
    functionUses: 0
    functionsReached:
    - check_decode_bin
    - check_decode_str
    - printf
    - check_fail
    linkageType: ''
    returnType: int
    signature: int main (int argc, char *argv[])
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: fprintf
      Src: /src/mhd2/src/tests/unit/unit_str_to_value.c:226,1
    - Dst: exit
      Src: /src/mhd2/src/tests/unit/unit_str_to_value.c:227,1
    - Dst: printf
      Src: /src/mhd2/src/tests/unit/unit_str_to_value.c:230,1
    - Dst: setlocale
      Src: /src/mhd2/src/tests/unit/unit_str_to_value.c:231,1
    - Dst: printf
      Src: /src/mhd2/src/tests/unit/unit_str_to_value.c:234,1
    - Dst: printf
      Src: /src/mhd2/src/tests/unit/unit_str_to_value.c:238,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 15
    argCount: 1
    argNames:
    - num
    argTypes:
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 240
      start: 221
    functionDepth: 0
    functionLinenumber: 221
    functionLinenumberEnd: 240
    functionName: set_test_locale
    functionSourceFile: /src/mhd2/src/tests/unit/unit_str_to_value.c
    functionUses: 0
    functionsReached:
    - setlocale
    - exit
    - printf
    - fprintf
    linkageType: ''
    returnType: int
    signature: int set_test_locale (size_t num)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: setlocale
      Src: /src/mhd2/src/tests/unit/unit_str_to_value.c:246,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 248
      start: 243
    functionDepth: 0
    functionLinenumber: 243
    functionLinenumberEnd: 248
    functionName: get_current_locale_str
    functionSourceFile: /src/mhd2/src/tests/unit/unit_str_to_value.c
    functionUses: 0
    functionsReached:
    - setlocale
    linkageType: ''
    returnType: char
    signature: 'char *

      get_current_locale_str (void)'
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: snprintf
      Src: /src/mhd2/src/tests/unit/unit_str_to_value.c:282,1
    CyclomaticComplexity: 15
    EdgeCount: 15
    ICount: 30
    argCount: 1
    argNames:
    - str
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 300
      start: 255
    functionDepth: 0
    functionLinenumber: 255
    functionLinenumberEnd: 300
    functionName: n_prnt
    functionSourceFile: /src/mhd2/src/tests/unit/unit_str_to_value.c
    functionUses: 0
    functionsReached:
    - snprintf
    linkageType: ''
    returnType: char
    signature: 'char *

      n_prnt (const char *str)'
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - s
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 310
      start: 309
    functionDepth: 0
    functionLinenumber: 309
    functionLinenumberEnd: 310
    functionName: D_STR_W_LEN
    functionSourceFile: /src/mhd2/src/tests/unit/unit_str_to_value.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: D_STR_W_LEN(s)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: memset
      Src: /src/mhd2/src/tests/unit/unit_str_to_value.c:587,1
    - Dst: set_test_locale
      Src: /src/mhd2/src/tests/unit/unit_str_to_value.c:591,1
    - Dst: fprintf
      Src: /src/mhd2/src/tests/unit/unit_str_to_value.c:603,1
    - Dst: exit
      Src: /src/mhd2/src/tests/unit/unit_str_to_value.c:611,1
    - Dst: mhd_str_to_uint64
      Src: /src/mhd2/src/tests/unit/unit_str_to_value.c:614,1
    - Dst: fprintf
      Src: /src/mhd2/src/tests/unit/unit_str_to_value.c:619,1
    - Dst: n_prnt
      Src: /src/mhd2/src/tests/unit/unit_str_to_value.c:624,1
    - Dst: get_current_locale_str
      Src: /src/mhd2/src/tests/unit/unit_str_to_value.c:625,1
    - Dst: fprintf
      Src: /src/mhd2/src/tests/unit/unit_str_to_value.c:631,1
    - Dst: n_prnt
      Src: /src/mhd2/src/tests/unit/unit_str_to_value.c:636,1
    - Dst: get_current_locale_str
      Src: /src/mhd2/src/tests/unit/unit_str_to_value.c:637,1
    - Dst: printf
      Src: /src/mhd2/src/tests/unit/unit_str_to_value.c:640,1
    - Dst: n_prnt
      Src: /src/mhd2/src/tests/unit/unit_str_to_value.c:642,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 28
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 646
      start: 578
    functionDepth: 0
    functionLinenumber: 578
    functionLinenumberEnd: 646
    functionName: check_str_to_uint64_valid
    functionSourceFile: /src/mhd2/src/tests/unit/unit_str_to_value.c
    functionUses: 0
    functionsReached:
    - fprintf
    - get_current_locale_str
    - printf
    - n_prnt
    - exit
    - set_test_locale
    - mhd_str_to_uint64
    - memset
    linkageType: ''
    returnType: size_t
    signature: size_t check_str_to_uint64_valid (void)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: memset
      Src: /src/mhd2/src/tests/unit/unit_str_to_value.c:657,1
    - Dst: set_test_locale
      Src: /src/mhd2/src/tests/unit/unit_str_to_value.c:664,1
    - Dst: mhd_str_to_uint64
      Src: /src/mhd2/src/tests/unit/unit_str_to_value.c:678,1
    - Dst: fprintf
      Src: /src/mhd2/src/tests/unit/unit_str_to_value.c:683,1
    - Dst: n_prnt
      Src: /src/mhd2/src/tests/unit/unit_str_to_value.c:687,1
    - Dst: get_current_locale_str
      Src: /src/mhd2/src/tests/unit/unit_str_to_value.c:688,1
    - Dst: fprintf
      Src: /src/mhd2/src/tests/unit/unit_str_to_value.c:694,1
    - Dst: n_prnt
      Src: /src/mhd2/src/tests/unit/unit_str_to_value.c:698,1
    - Dst: get_current_locale_str
      Src: /src/mhd2/src/tests/unit/unit_str_to_value.c:701,1
    - Dst: printf
      Src: /src/mhd2/src/tests/unit/unit_str_to_value.c:709,1
    - Dst: n_prnt
      Src: /src/mhd2/src/tests/unit/unit_str_to_value.c:711,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 28
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 716
      start: 649
    functionDepth: 0
    functionLinenumber: 649
    functionLinenumberEnd: 716
    functionName: check_str_to_uint64_all_chars
    functionSourceFile: /src/mhd2/src/tests/unit/unit_str_to_value.c
    functionUses: 0
    functionsReached:
    - fprintf
    - get_current_locale_str
    - printf
    - n_prnt
    - set_test_locale
    - mhd_str_to_uint64
    - memset
    linkageType: ''
    returnType: size_t
    signature: size_t check_str_to_uint64_all_chars (void)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: memset
      Src: /src/mhd2/src/tests/unit/unit_str_to_value.c:727,1
    - Dst: set_test_locale
      Src: /src/mhd2/src/tests/unit/unit_str_to_value.c:731,1
    - Dst: mhd_str_to_uint64
      Src: /src/mhd2/src/tests/unit/unit_str_to_value.c:744,1
    - Dst: fprintf
      Src: /src/mhd2/src/tests/unit/unit_str_to_value.c:749,1
    - Dst: n_prnt
      Src: /src/mhd2/src/tests/unit/unit_str_to_value.c:753,1
    - Dst: get_current_locale_str
      Src: /src/mhd2/src/tests/unit/unit_str_to_value.c:754,1
    - Dst: fprintf
      Src: /src/mhd2/src/tests/unit/unit_str_to_value.c:760,1
    - Dst: n_prnt
      Src: /src/mhd2/src/tests/unit/unit_str_to_value.c:764,1
    - Dst: get_current_locale_str
      Src: /src/mhd2/src/tests/unit/unit_str_to_value.c:767,1
    - Dst: printf
      Src: /src/mhd2/src/tests/unit/unit_str_to_value.c:771,1
    - Dst: n_prnt
      Src: /src/mhd2/src/tests/unit/unit_str_to_value.c:773,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 23
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 777
      start: 719
    functionDepth: 0
    functionLinenumber: 719
    functionLinenumberEnd: 777
    functionName: check_str_to_uint64_overflow
    functionSourceFile: /src/mhd2/src/tests/unit/unit_str_to_value.c
    functionUses: 0
    functionsReached:
    - fprintf
    - get_current_locale_str
    - printf
    - n_prnt
    - set_test_locale
    - mhd_str_to_uint64
    - memset
    linkageType: ''
    returnType: size_t
    signature: size_t check_str_to_uint64_overflow (void)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: memset
      Src: /src/mhd2/src/tests/unit/unit_str_to_value.c:788,1
    - Dst: set_test_locale
      Src: /src/mhd2/src/tests/unit/unit_str_to_value.c:792,1
    - Dst: mhd_str_to_uint64
      Src: /src/mhd2/src/tests/unit/unit_str_to_value.c:805,1
    - Dst: fprintf
      Src: /src/mhd2/src/tests/unit/unit_str_to_value.c:810,1
    - Dst: n_prnt
      Src: /src/mhd2/src/tests/unit/unit_str_to_value.c:814,1
    - Dst: get_current_locale_str
      Src: /src/mhd2/src/tests/unit/unit_str_to_value.c:815,1
    - Dst: fprintf
      Src: /src/mhd2/src/tests/unit/unit_str_to_value.c:821,1
    - Dst: n_prnt
      Src: /src/mhd2/src/tests/unit/unit_str_to_value.c:825,1
    - Dst: get_current_locale_str
      Src: /src/mhd2/src/tests/unit/unit_str_to_value.c:828,1
    - Dst: printf
      Src: /src/mhd2/src/tests/unit/unit_str_to_value.c:832,1
    - Dst: n_prnt
      Src: /src/mhd2/src/tests/unit/unit_str_to_value.c:834,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 23
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 838
      start: 780
    functionDepth: 0
    functionLinenumber: 780
    functionLinenumberEnd: 838
    functionName: check_str_to_uint64_no_val
    functionSourceFile: /src/mhd2/src/tests/unit/unit_str_to_value.c
    functionUses: 0
    functionsReached:
    - fprintf
    - get_current_locale_str
    - printf
    - n_prnt
    - set_test_locale
    - mhd_str_to_uint64
    - memset
    linkageType: ''
    returnType: size_t
    signature: size_t check_str_to_uint64_no_val (void)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: memset
      Src: /src/mhd2/src/tests/unit/unit_str_to_value.c:850,1
    - Dst: set_test_locale
      Src: /src/mhd2/src/tests/unit/unit_str_to_value.c:854,1
    - Dst: fprintf
      Src: /src/mhd2/src/tests/unit/unit_str_to_value.c:864,1
    - Dst: exit
      Src: /src/mhd2/src/tests/unit/unit_str_to_value.c:872,1
    - Dst: mhd_str_to_uint64_n
      Src: /src/mhd2/src/tests/unit/unit_str_to_value.c:876,1
    - Dst: fprintf
      Src: /src/mhd2/src/tests/unit/unit_str_to_value.c:881,1
    - Dst: n_prnt
      Src: /src/mhd2/src/tests/unit/unit_str_to_value.c:885,1
    - Dst: get_current_locale_str
      Src: /src/mhd2/src/tests/unit/unit_str_to_value.c:886,1
    - Dst: fprintf
      Src: /src/mhd2/src/tests/unit/unit_str_to_value.c:892,1
    - Dst: n_prnt
      Src: /src/mhd2/src/tests/unit/unit_str_to_value.c:897,1
    - Dst: get_current_locale_str
      Src: /src/mhd2/src/tests/unit/unit_str_to_value.c:899,1
    - Dst: printf
      Src: /src/mhd2/src/tests/unit/unit_str_to_value.c:903,1
    - Dst: n_prnt
      Src: /src/mhd2/src/tests/unit/unit_str_to_value.c:905,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 27
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 911
      start: 841
    functionDepth: 0
    functionLinenumber: 841
    functionLinenumberEnd: 911
    functionName: check_str_to_uint64_n_valid
    functionSourceFile: /src/mhd2/src/tests/unit/unit_str_to_value.c
    functionUses: 0
    functionsReached:
    - fprintf
    - get_current_locale_str
    - printf
    - mhd_str_to_uint64_n
    - n_prnt
    - exit
    - set_test_locale
    - memset
    linkageType: ''
    returnType: size_t
    signature: size_t check_str_to_uint64_n_valid (void)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: memset
      Src: /src/mhd2/src/tests/unit/unit_str_to_value.c:922,1
    - Dst: set_test_locale
      Src: /src/mhd2/src/tests/unit/unit_str_to_value.c:929,1
    - Dst: mhd_str_to_uint64_n
      Src: /src/mhd2/src/tests/unit/unit_str_to_value.c:948,1
    - Dst: fprintf
      Src: /src/mhd2/src/tests/unit/unit_str_to_value.c:953,1
    - Dst: n_prnt
      Src: /src/mhd2/src/tests/unit/unit_str_to_value.c:958,1
    - Dst: get_current_locale_str
      Src: /src/mhd2/src/tests/unit/unit_str_to_value.c:959,1
    - Dst: fprintf
      Src: /src/mhd2/src/tests/unit/unit_str_to_value.c:965,1
    - Dst: n_prnt
      Src: /src/mhd2/src/tests/unit/unit_str_to_value.c:971,1
    - Dst: get_current_locale_str
      Src: /src/mhd2/src/tests/unit/unit_str_to_value.c:972,1
    - Dst: printf
      Src: /src/mhd2/src/tests/unit/unit_str_to_value.c:981,1
    - Dst: n_prnt
      Src: /src/mhd2/src/tests/unit/unit_str_to_value.c:983,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 30
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 988
      start: 914
    functionDepth: 0
    functionLinenumber: 914
    functionLinenumberEnd: 988
    functionName: check_str_to_uint64_n_all_chars
    functionSourceFile: /src/mhd2/src/tests/unit/unit_str_to_value.c
    functionUses: 0
    functionsReached:
    - fprintf
    - get_current_locale_str
    - printf
    - mhd_str_to_uint64_n
    - n_prnt
    - set_test_locale
    - memset
    linkageType: ''
    returnType: size_t
    signature: size_t check_str_to_uint64_n_all_chars (void)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: memset
      Src: /src/mhd2/src/tests/unit/unit_str_to_value.c:999,1
    - Dst: set_test_locale
      Src: /src/mhd2/src/tests/unit/unit_str_to_value.c:1003,1
    - Dst: mhd_str_to_uint64_n
      Src: /src/mhd2/src/tests/unit/unit_str_to_value.c:1019,1
    - Dst: fprintf
      Src: /src/mhd2/src/tests/unit/unit_str_to_value.c:1024,1
    - Dst: n_prnt
      Src: /src/mhd2/src/tests/unit/unit_str_to_value.c:1029,1
    - Dst: get_current_locale_str
      Src: /src/mhd2/src/tests/unit/unit_str_to_value.c:1030,1
    - Dst: fprintf
      Src: /src/mhd2/src/tests/unit/unit_str_to_value.c:1036,1
    - Dst: n_prnt
      Src: /src/mhd2/src/tests/unit/unit_str_to_value.c:1041,1
    - Dst: get_current_locale_str
      Src: /src/mhd2/src/tests/unit/unit_str_to_value.c:1043,1
    - Dst: printf
      Src: /src/mhd2/src/tests/unit/unit_str_to_value.c:1048,1
    - Dst: n_prnt
      Src: /src/mhd2/src/tests/unit/unit_str_to_value.c:1050,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 25
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1056
      start: 991
    functionDepth: 0
    functionLinenumber: 991
    functionLinenumberEnd: 1056
    functionName: check_str_to_uint64_n_overflow
    functionSourceFile: /src/mhd2/src/tests/unit/unit_str_to_value.c
    functionUses: 0
    functionsReached:
    - fprintf
    - get_current_locale_str
    - printf
    - mhd_str_to_uint64_n
    - n_prnt
    - set_test_locale
    - memset
    linkageType: ''
    returnType: size_t
    signature: size_t check_str_to_uint64_n_overflow (void)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: memset
      Src: /src/mhd2/src/tests/unit/unit_str_to_value.c:1067,1
    - Dst: set_test_locale
      Src: /src/mhd2/src/tests/unit/unit_str_to_value.c:1071,1
    - Dst: mhd_str_to_uint64_n
      Src: /src/mhd2/src/tests/unit/unit_str_to_value.c:1087,1
    - Dst: fprintf
      Src: /src/mhd2/src/tests/unit/unit_str_to_value.c:1092,1
    - Dst: n_prnt
      Src: /src/mhd2/src/tests/unit/unit_str_to_value.c:1097,1
    - Dst: get_current_locale_str
      Src: /src/mhd2/src/tests/unit/unit_str_to_value.c:1098,1
    - Dst: fprintf
      Src: /src/mhd2/src/tests/unit/unit_str_to_value.c:1104,1
    - Dst: n_prnt
      Src: /src/mhd2/src/tests/unit/unit_str_to_value.c:1109,1
    - Dst: get_current_locale_str
      Src: /src/mhd2/src/tests/unit/unit_str_to_value.c:1111,1
    - Dst: printf
      Src: /src/mhd2/src/tests/unit/unit_str_to_value.c:1116,1
    - Dst: n_prnt
      Src: /src/mhd2/src/tests/unit/unit_str_to_value.c:1118,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 25
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1123
      start: 1059
    functionDepth: 0
    functionLinenumber: 1059
    functionLinenumberEnd: 1123
    functionName: check_str_to_uint64_n_no_val
    functionSourceFile: /src/mhd2/src/tests/unit/unit_str_to_value.c
    functionUses: 0
    functionsReached:
    - fprintf
    - get_current_locale_str
    - printf
    - mhd_str_to_uint64_n
    - n_prnt
    - set_test_locale
    - memset
    linkageType: ''
    returnType: size_t
    signature: size_t check_str_to_uint64_n_no_val (void)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: memset
      Src: /src/mhd2/src/tests/unit/unit_str_to_value.c:1135,1
    - Dst: set_test_locale
      Src: /src/mhd2/src/tests/unit/unit_str_to_value.c:1139,1
    - Dst: fprintf
      Src: /src/mhd2/src/tests/unit/unit_str_to_value.c:1154,1
    - Dst: exit
      Src: /src/mhd2/src/tests/unit/unit_str_to_value.c:1162,1
    - Dst: mhd_strx_to_uint32
      Src: /src/mhd2/src/tests/unit/unit_str_to_value.c:1165,1
    - Dst: fprintf
      Src: /src/mhd2/src/tests/unit/unit_str_to_value.c:1170,1
    - Dst: n_prnt
      Src: /src/mhd2/src/tests/unit/unit_str_to_value.c:1175,1
    - Dst: get_current_locale_str
      Src: /src/mhd2/src/tests/unit/unit_str_to_value.c:1178,1
    - Dst: fprintf
      Src: /src/mhd2/src/tests/unit/unit_str_to_value.c:1184,1
    - Dst: n_prnt
      Src: /src/mhd2/src/tests/unit/unit_str_to_value.c:1189,1
    - Dst: get_current_locale_str
      Src: /src/mhd2/src/tests/unit/unit_str_to_value.c:1190,1
    - Dst: printf
      Src: /src/mhd2/src/tests/unit/unit_str_to_value.c:1193,1
    - Dst: n_prnt
      Src: /src/mhd2/src/tests/unit/unit_str_to_value.c:1195,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 30
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1199
      start: 1126
    functionDepth: 0
    functionLinenumber: 1126
    functionLinenumberEnd: 1199
    functionName: check_strx_to_uint32_valid
    functionSourceFile: /src/mhd2/src/tests/unit/unit_str_to_value.c
    functionUses: 0
    functionsReached:
    - fprintf
    - get_current_locale_str
    - printf
    - n_prnt
    - exit
    - set_test_locale
    - mhd_strx_to_uint32
    - memset
    linkageType: ''
    returnType: size_t
    signature: size_t check_strx_to_uint32_valid (void)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: memset
      Src: /src/mhd2/src/tests/unit/unit_str_to_value.c:1210,1
    - Dst: set_test_locale
      Src: /src/mhd2/src/tests/unit/unit_str_to_value.c:1217,1
    - Dst: mhd_strx_to_uint32
      Src: /src/mhd2/src/tests/unit/unit_str_to_value.c:1233,1
    - Dst: fprintf
      Src: /src/mhd2/src/tests/unit/unit_str_to_value.c:1238,1
    - Dst: n_prnt
      Src: /src/mhd2/src/tests/unit/unit_str_to_value.c:1242,1
    - Dst: get_current_locale_str
      Src: /src/mhd2/src/tests/unit/unit_str_to_value.c:1243,1
    - Dst: fprintf
      Src: /src/mhd2/src/tests/unit/unit_str_to_value.c:1249,1
    - Dst: n_prnt
      Src: /src/mhd2/src/tests/unit/unit_str_to_value.c:1253,1
    - Dst: get_current_locale_str
      Src: /src/mhd2/src/tests/unit/unit_str_to_value.c:1256,1
    - Dst: printf
      Src: /src/mhd2/src/tests/unit/unit_str_to_value.c:1264,1
    - Dst: n_prnt
      Src: /src/mhd2/src/tests/unit/unit_str_to_value.c:1266,1
    CyclomaticComplexity: 16
    EdgeCount: 16
    ICount: 28
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1271
      start: 1202
    functionDepth: 0
    functionLinenumber: 1202
    functionLinenumberEnd: 1271
    functionName: check_strx_to_uint32_all_chars
    functionSourceFile: /src/mhd2/src/tests/unit/unit_str_to_value.c
    functionUses: 0
    functionsReached:
    - fprintf
    - get_current_locale_str
    - printf
    - n_prnt
    - set_test_locale
    - mhd_strx_to_uint32
    - memset
    linkageType: ''
    returnType: size_t
    signature: size_t check_strx_to_uint32_all_chars (void)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: memset
      Src: /src/mhd2/src/tests/unit/unit_str_to_value.c:1285,1
    - Dst: set_test_locale
      Src: /src/mhd2/src/tests/unit/unit_str_to_value.c:1289,1
    - Dst: mhd_strx_to_uint32
      Src: /src/mhd2/src/tests/unit/unit_str_to_value.c:1316,1
    - Dst: fprintf
      Src: /src/mhd2/src/tests/unit/unit_str_to_value.c:1321,1
    - Dst: n_prnt
      Src: /src/mhd2/src/tests/unit/unit_str_to_value.c:1325,1
    - Dst: get_current_locale_str
      Src: /src/mhd2/src/tests/unit/unit_str_to_value.c:1327,1
    - Dst: fprintf
      Src: /src/mhd2/src/tests/unit/unit_str_to_value.c:1333,1
    - Dst: n_prnt
      Src: /src/mhd2/src/tests/unit/unit_str_to_value.c:1337,1
    - Dst: get_current_locale_str
      Src: /src/mhd2/src/tests/unit/unit_str_to_value.c:1340,1
    - Dst: printf
      Src: /src/mhd2/src/tests/unit/unit_str_to_value.c:1344,1
    - Dst: n_prnt
      Src: /src/mhd2/src/tests/unit/unit_str_to_value.c:1346,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 30
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1350
      start: 1274
    functionDepth: 0
    functionLinenumber: 1274
    functionLinenumberEnd: 1350
    functionName: check_strx_to_uint32_overflow
    functionSourceFile: /src/mhd2/src/tests/unit/unit_str_to_value.c
    functionUses: 0
    functionsReached:
    - fprintf
    - get_current_locale_str
    - printf
    - n_prnt
    - set_test_locale
    - mhd_strx_to_uint32
    - memset
    linkageType: ''
    returnType: size_t
    signature: size_t check_strx_to_uint32_overflow (void)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: memset
      Src: /src/mhd2/src/tests/unit/unit_str_to_value.c:1361,1
    - Dst: set_test_locale
      Src: /src/mhd2/src/tests/unit/unit_str_to_value.c:1365,1
    - Dst: mhd_strx_to_uint32
      Src: /src/mhd2/src/tests/unit/unit_str_to_value.c:1378,1
    - Dst: fprintf
      Src: /src/mhd2/src/tests/unit/unit_str_to_value.c:1383,1
    - Dst: n_prnt
      Src: /src/mhd2/src/tests/unit/unit_str_to_value.c:1387,1
    - Dst: get_current_locale_str
      Src: /src/mhd2/src/tests/unit/unit_str_to_value.c:1388,1
    - Dst: fprintf
      Src: /src/mhd2/src/tests/unit/unit_str_to_value.c:1394,1
    - Dst: n_prnt
      Src: /src/mhd2/src/tests/unit/unit_str_to_value.c:1398,1
    - Dst: get_current_locale_str
      Src: /src/mhd2/src/tests/unit/unit_str_to_value.c:1401,1
    - Dst: printf
      Src: /src/mhd2/src/tests/unit/unit_str_to_value.c:1405,1
    - Dst: n_prnt
      Src: /src/mhd2/src/tests/unit/unit_str_to_value.c:1407,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 23
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1411
      start: 1353
    functionDepth: 0
    functionLinenumber: 1353
    functionLinenumberEnd: 1411
    functionName: check_strx_to_uint32_no_val
    functionSourceFile: /src/mhd2/src/tests/unit/unit_str_to_value.c
    functionUses: 0
    functionsReached:
    - fprintf
    - get_current_locale_str
    - printf
    - n_prnt
    - set_test_locale
    - mhd_strx_to_uint32
    - memset
    linkageType: ''
    returnType: size_t
    signature: size_t check_strx_to_uint32_no_val (void)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: memset
      Src: /src/mhd2/src/tests/unit/unit_str_to_value.c:1423,1
    - Dst: set_test_locale
      Src: /src/mhd2/src/tests/unit/unit_str_to_value.c:1427,1
    - Dst: fprintf
      Src: /src/mhd2/src/tests/unit/unit_str_to_value.c:1440,1
    - Dst: exit
      Src: /src/mhd2/src/tests/unit/unit_str_to_value.c:1448,1
    - Dst: mhd_strx_to_uint32_n
      Src: /src/mhd2/src/tests/unit/unit_str_to_value.c:1452,1
    - Dst: fprintf
      Src: /src/mhd2/src/tests/unit/unit_str_to_value.c:1457,1
    - Dst: n_prnt
      Src: /src/mhd2/src/tests/unit/unit_str_to_value.c:1461,1
    - Dst: get_current_locale_str
      Src: /src/mhd2/src/tests/unit/unit_str_to_value.c:1463,1
    - Dst: fprintf
      Src: /src/mhd2/src/tests/unit/unit_str_to_value.c:1469,1
    - Dst: n_prnt
      Src: /src/mhd2/src/tests/unit/unit_str_to_value.c:1474,1
    - Dst: get_current_locale_str
      Src: /src/mhd2/src/tests/unit/unit_str_to_value.c:1476,1
    - Dst: printf
      Src: /src/mhd2/src/tests/unit/unit_str_to_value.c:1480,1
    - Dst: n_prnt
      Src: /src/mhd2/src/tests/unit/unit_str_to_value.c:1484,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 29
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1490
      start: 1414
    functionDepth: 0
    functionLinenumber: 1414
    functionLinenumberEnd: 1490
    functionName: check_strx_to_uint32_n_valid
    functionSourceFile: /src/mhd2/src/tests/unit/unit_str_to_value.c
    functionUses: 0
    functionsReached:
    - fprintf
    - get_current_locale_str
    - printf
    - mhd_strx_to_uint32_n
    - n_prnt
    - exit
    - set_test_locale
    - memset
    linkageType: ''
    returnType: size_t
    signature: size_t check_strx_to_uint32_n_valid (void)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: memset
      Src: /src/mhd2/src/tests/unit/unit_str_to_value.c:1501,1
    - Dst: set_test_locale
      Src: /src/mhd2/src/tests/unit/unit_str_to_value.c:1508,1
    - Dst: mhd_strx_to_uint32_n
      Src: /src/mhd2/src/tests/unit/unit_str_to_value.c:1529,1
    - Dst: fprintf
      Src: /src/mhd2/src/tests/unit/unit_str_to_value.c:1534,1
    - Dst: n_prnt
      Src: /src/mhd2/src/tests/unit/unit_str_to_value.c:1540,1
    - Dst: get_current_locale_str
      Src: /src/mhd2/src/tests/unit/unit_str_to_value.c:1541,1
    - Dst: fprintf
      Src: /src/mhd2/src/tests/unit/unit_str_to_value.c:1547,1
    - Dst: n_prnt
      Src: /src/mhd2/src/tests/unit/unit_str_to_value.c:1553,1
    - Dst: get_current_locale_str
      Src: /src/mhd2/src/tests/unit/unit_str_to_value.c:1555,1
    - Dst: printf
      Src: /src/mhd2/src/tests/unit/unit_str_to_value.c:1564,1
    - Dst: n_prnt
      Src: /src/mhd2/src/tests/unit/unit_str_to_value.c:1566,1
    CyclomaticComplexity: 17
    EdgeCount: 17
    ICount: 30
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1571
      start: 1493
    functionDepth: 0
    functionLinenumber: 1493
    functionLinenumberEnd: 1571
    functionName: check_strx_to_uint32_n_all_chars
    functionSourceFile: /src/mhd2/src/tests/unit/unit_str_to_value.c
    functionUses: 0
    functionsReached:
    - fprintf
    - get_current_locale_str
    - printf
    - mhd_strx_to_uint32_n
    - n_prnt
    - set_test_locale
    - memset
    linkageType: ''
    returnType: size_t
    signature: size_t check_strx_to_uint32_n_all_chars (void)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: memset
      Src: /src/mhd2/src/tests/unit/unit_str_to_value.c:1585,1
    - Dst: set_test_locale
      Src: /src/mhd2/src/tests/unit/unit_str_to_value.c:1589,1
    - Dst: fprintf
      Src: /src/mhd2/src/tests/unit/unit_str_to_value.c:1613,1
    - Dst: exit
      Src: /src/mhd2/src/tests/unit/unit_str_to_value.c:1620,1
    - Dst: mhd_strx_to_uint32_n
      Src: /src/mhd2/src/tests/unit/unit_str_to_value.c:1635,1
    - Dst: fprintf
      Src: /src/mhd2/src/tests/unit/unit_str_to_value.c:1640,1
    - Dst: n_prnt
      Src: /src/mhd2/src/tests/unit/unit_str_to_value.c:1646,1
    - Dst: get_current_locale_str
      Src: /src/mhd2/src/tests/unit/unit_str_to_value.c:1647,1
    - Dst: fprintf
      Src: /src/mhd2/src/tests/unit/unit_str_to_value.c:1653,1
    - Dst: n_prnt
      Src: /src/mhd2/src/tests/unit/unit_str_to_value.c:1658,1
    - Dst: get_current_locale_str
      Src: /src/mhd2/src/tests/unit/unit_str_to_value.c:1660,1
    - Dst: printf
      Src: /src/mhd2/src/tests/unit/unit_str_to_value.c:1665,1
    - Dst: n_prnt
      Src: /src/mhd2/src/tests/unit/unit_str_to_value.c:1667,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 40
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1673
      start: 1574
    functionDepth: 0
    functionLinenumber: 1574
    functionLinenumberEnd: 1673
    functionName: check_strx_to_uint32_n_overflow
    functionSourceFile: /src/mhd2/src/tests/unit/unit_str_to_value.c
    functionUses: 0
    functionsReached:
    - fprintf
    - get_current_locale_str
    - printf
    - mhd_strx_to_uint32_n
    - n_prnt
    - exit
    - set_test_locale
    - memset
    linkageType: ''
    returnType: size_t
    signature: size_t check_strx_to_uint32_n_overflow (void)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: memset
      Src: /src/mhd2/src/tests/unit/unit_str_to_value.c:1684,1
    - Dst: set_test_locale
      Src: /src/mhd2/src/tests/unit/unit_str_to_value.c:1688,1
    - Dst: mhd_strx_to_uint32_n
      Src: /src/mhd2/src/tests/unit/unit_str_to_value.c:1704,1
    - Dst: fprintf
      Src: /src/mhd2/src/tests/unit/unit_str_to_value.c:1709,1
    - Dst: n_prnt
      Src: /src/mhd2/src/tests/unit/unit_str_to_value.c:1715,1
    - Dst: get_current_locale_str
      Src: /src/mhd2/src/tests/unit/unit_str_to_value.c:1716,1
    - Dst: fprintf
      Src: /src/mhd2/src/tests/unit/unit_str_to_value.c:1722,1
    - Dst: n_prnt
      Src: /src/mhd2/src/tests/unit/unit_str_to_value.c:1727,1
    - Dst: get_current_locale_str
      Src: /src/mhd2/src/tests/unit/unit_str_to_value.c:1729,1
    - Dst: printf
      Src: /src/mhd2/src/tests/unit/unit_str_to_value.c:1734,1
    - Dst: n_prnt
      Src: /src/mhd2/src/tests/unit/unit_str_to_value.c:1736,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 25
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1741
      start: 1676
    functionDepth: 0
    functionLinenumber: 1676
    functionLinenumberEnd: 1741
    functionName: check_strx_to_uint32_n_no_val
    functionSourceFile: /src/mhd2/src/tests/unit/unit_str_to_value.c
    functionUses: 0
    functionsReached:
    - fprintf
    - get_current_locale_str
    - printf
    - mhd_strx_to_uint32_n
    - n_prnt
    - set_test_locale
    - memset
    linkageType: ''
    returnType: size_t
    signature: size_t check_strx_to_uint32_n_no_val (void)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: memset
      Src: /src/mhd2/src/tests/unit/unit_str_to_value.c:1753,1
    - Dst: set_test_locale
      Src: /src/mhd2/src/tests/unit/unit_str_to_value.c:1757,1
    - Dst: fprintf
      Src: /src/mhd2/src/tests/unit/unit_str_to_value.c:1769,1
    - Dst: exit
      Src: /src/mhd2/src/tests/unit/unit_str_to_value.c:1777,1
    - Dst: mhd_strx_to_uint64
      Src: /src/mhd2/src/tests/unit/unit_str_to_value.c:1780,1
    - Dst: fprintf
      Src: /src/mhd2/src/tests/unit/unit_str_to_value.c:1785,1
    - Dst: n_prnt
      Src: /src/mhd2/src/tests/unit/unit_str_to_value.c:1789,1
    - Dst: get_current_locale_str
      Src: /src/mhd2/src/tests/unit/unit_str_to_value.c:1790,1
    - Dst: fprintf
      Src: /src/mhd2/src/tests/unit/unit_str_to_value.c:1796,1
    - Dst: n_prnt
      Src: /src/mhd2/src/tests/unit/unit_str_to_value.c:1801,1
    - Dst: get_current_locale_str
      Src: /src/mhd2/src/tests/unit/unit_str_to_value.c:1802,1
    - Dst: printf
      Src: /src/mhd2/src/tests/unit/unit_str_to_value.c:1805,1
    - Dst: n_prnt
      Src: /src/mhd2/src/tests/unit/unit_str_to_value.c:1807,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 28
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1811
      start: 1744
    functionDepth: 0
    functionLinenumber: 1744
    functionLinenumberEnd: 1811
    functionName: check_strx_to_uint64_valid
    functionSourceFile: /src/mhd2/src/tests/unit/unit_str_to_value.c
    functionUses: 0
    functionsReached:
    - fprintf
    - get_current_locale_str
    - printf
    - mhd_strx_to_uint64
    - n_prnt
    - exit
    - set_test_locale
    - memset
    linkageType: ''
    returnType: size_t
    signature: size_t check_strx_to_uint64_valid (void)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: memset
      Src: /src/mhd2/src/tests/unit/unit_str_to_value.c:1822,1
    - Dst: set_test_locale
      Src: /src/mhd2/src/tests/unit/unit_str_to_value.c:1829,1
    - Dst: mhd_strx_to_uint64
      Src: /src/mhd2/src/tests/unit/unit_str_to_value.c:1845,1
    - Dst: fprintf
      Src: /src/mhd2/src/tests/unit/unit_str_to_value.c:1850,1
    - Dst: n_prnt
      Src: /src/mhd2/src/tests/unit/unit_str_to_value.c:1854,1
    - Dst: get_current_locale_str
      Src: /src/mhd2/src/tests/unit/unit_str_to_value.c:1855,1
    - Dst: fprintf
      Src: /src/mhd2/src/tests/unit/unit_str_to_value.c:1861,1
    - Dst: n_prnt
      Src: /src/mhd2/src/tests/unit/unit_str_to_value.c:1865,1
    - Dst: get_current_locale_str
      Src: /src/mhd2/src/tests/unit/unit_str_to_value.c:1868,1
    - Dst: printf
      Src: /src/mhd2/src/tests/unit/unit_str_to_value.c:1876,1
    - Dst: n_prnt
      Src: /src/mhd2/src/tests/unit/unit_str_to_value.c:1878,1
    CyclomaticComplexity: 16
    EdgeCount: 16
    ICount: 28
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1883
      start: 1814
    functionDepth: 0
    functionLinenumber: 1814
    functionLinenumberEnd: 1883
    functionName: check_strx_to_uint64_all_chars
    functionSourceFile: /src/mhd2/src/tests/unit/unit_str_to_value.c
    functionUses: 0
    functionsReached:
    - fprintf
    - get_current_locale_str
    - printf
    - mhd_strx_to_uint64
    - n_prnt
    - set_test_locale
    - memset
    linkageType: ''
    returnType: size_t
    signature: size_t check_strx_to_uint64_all_chars (void)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: memset
      Src: /src/mhd2/src/tests/unit/unit_str_to_value.c:1894,1
    - Dst: set_test_locale
      Src: /src/mhd2/src/tests/unit/unit_str_to_value.c:1898,1
    - Dst: mhd_strx_to_uint64
      Src: /src/mhd2/src/tests/unit/unit_str_to_value.c:1911,1
    - Dst: fprintf
      Src: /src/mhd2/src/tests/unit/unit_str_to_value.c:1916,1
    - Dst: n_prnt
      Src: /src/mhd2/src/tests/unit/unit_str_to_value.c:1920,1
    - Dst: get_current_locale_str
      Src: /src/mhd2/src/tests/unit/unit_str_to_value.c:1921,1
    - Dst: fprintf
      Src: /src/mhd2/src/tests/unit/unit_str_to_value.c:1927,1
    - Dst: n_prnt
      Src: /src/mhd2/src/tests/unit/unit_str_to_value.c:1931,1
    - Dst: get_current_locale_str
      Src: /src/mhd2/src/tests/unit/unit_str_to_value.c:1934,1
    - Dst: printf
      Src: /src/mhd2/src/tests/unit/unit_str_to_value.c:1938,1
    - Dst: n_prnt
      Src: /src/mhd2/src/tests/unit/unit_str_to_value.c:1940,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 23
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1944
      start: 1886
    functionDepth: 0
    functionLinenumber: 1886
    functionLinenumberEnd: 1944
    functionName: check_strx_to_uint64_overflow
    functionSourceFile: /src/mhd2/src/tests/unit/unit_str_to_value.c
    functionUses: 0
    functionsReached:
    - fprintf
    - get_current_locale_str
    - printf
    - mhd_strx_to_uint64
    - n_prnt
    - set_test_locale
    - memset
    linkageType: ''
    returnType: size_t
    signature: size_t check_strx_to_uint64_overflow (void)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: memset
      Src: /src/mhd2/src/tests/unit/unit_str_to_value.c:1955,1
    - Dst: set_test_locale
      Src: /src/mhd2/src/tests/unit/unit_str_to_value.c:1959,1
    - Dst: mhd_strx_to_uint64
      Src: /src/mhd2/src/tests/unit/unit_str_to_value.c:1972,1
    - Dst: fprintf
      Src: /src/mhd2/src/tests/unit/unit_str_to_value.c:1977,1
    - Dst: n_prnt
      Src: /src/mhd2/src/tests/unit/unit_str_to_value.c:1981,1
    - Dst: get_current_locale_str
      Src: /src/mhd2/src/tests/unit/unit_str_to_value.c:1982,1
    - Dst: fprintf
      Src: /src/mhd2/src/tests/unit/unit_str_to_value.c:1988,1
    - Dst: n_prnt
      Src: /src/mhd2/src/tests/unit/unit_str_to_value.c:1992,1
    - Dst: get_current_locale_str
      Src: /src/mhd2/src/tests/unit/unit_str_to_value.c:1995,1
    - Dst: printf
      Src: /src/mhd2/src/tests/unit/unit_str_to_value.c:1999,1
    - Dst: n_prnt
      Src: /src/mhd2/src/tests/unit/unit_str_to_value.c:2001,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 23
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2005
      start: 1947
    functionDepth: 0
    functionLinenumber: 1947
    functionLinenumberEnd: 2005
    functionName: check_strx_to_uint64_no_val
    functionSourceFile: /src/mhd2/src/tests/unit/unit_str_to_value.c
    functionUses: 0
    functionsReached:
    - fprintf
    - get_current_locale_str
    - printf
    - mhd_strx_to_uint64
    - n_prnt
    - set_test_locale
    - memset
    linkageType: ''
    returnType: size_t
    signature: size_t check_strx_to_uint64_no_val (void)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: memset
      Src: /src/mhd2/src/tests/unit/unit_str_to_value.c:2016,1
    - Dst: set_test_locale
      Src: /src/mhd2/src/tests/unit/unit_str_to_value.c:2020,1
    - Dst: fprintf
      Src: /src/mhd2/src/tests/unit/unit_str_to_value.c:2030,1
    - Dst: exit
      Src: /src/mhd2/src/tests/unit/unit_str_to_value.c:2038,1
    - Dst: mhd_strx_to_uint64_n
      Src: /src/mhd2/src/tests/unit/unit_str_to_value.c:2042,1
    - Dst: fprintf
      Src: /src/mhd2/src/tests/unit/unit_str_to_value.c:2047,1
    - Dst: n_prnt
      Src: /src/mhd2/src/tests/unit/unit_str_to_value.c:2051,1
    - Dst: get_current_locale_str
      Src: /src/mhd2/src/tests/unit/unit_str_to_value.c:2052,1
    - Dst: fprintf
      Src: /src/mhd2/src/tests/unit/unit_str_to_value.c:2058,1
    - Dst: n_prnt
      Src: /src/mhd2/src/tests/unit/unit_str_to_value.c:2063,1
    - Dst: get_current_locale_str
      Src: /src/mhd2/src/tests/unit/unit_str_to_value.c:2065,1
    - Dst: printf
      Src: /src/mhd2/src/tests/unit/unit_str_to_value.c:2069,1
    - Dst: n_prnt
      Src: /src/mhd2/src/tests/unit/unit_str_to_value.c:2072,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 27
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2078
      start: 2008
    functionDepth: 0
    functionLinenumber: 2008
    functionLinenumberEnd: 2078
    functionName: check_strx_to_uint64_n_valid
    functionSourceFile: /src/mhd2/src/tests/unit/unit_str_to_value.c
    functionUses: 0
    functionsReached:
    - fprintf
    - mhd_strx_to_uint64_n
    - get_current_locale_str
    - printf
    - n_prnt
    - exit
    - set_test_locale
    - memset
    linkageType: ''
    returnType: size_t
    signature: size_t check_strx_to_uint64_n_valid (void)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: memset
      Src: /src/mhd2/src/tests/unit/unit_str_to_value.c:2089,1
    - Dst: set_test_locale
      Src: /src/mhd2/src/tests/unit/unit_str_to_value.c:2096,1
    - Dst: mhd_strx_to_uint64_n
      Src: /src/mhd2/src/tests/unit/unit_str_to_value.c:2117,1
    - Dst: fprintf
      Src: /src/mhd2/src/tests/unit/unit_str_to_value.c:2122,1
    - Dst: n_prnt
      Src: /src/mhd2/src/tests/unit/unit_str_to_value.c:2128,1
    - Dst: get_current_locale_str
      Src: /src/mhd2/src/tests/unit/unit_str_to_value.c:2129,1
    - Dst: fprintf
      Src: /src/mhd2/src/tests/unit/unit_str_to_value.c:2135,1
    - Dst: n_prnt
      Src: /src/mhd2/src/tests/unit/unit_str_to_value.c:2141,1
    - Dst: get_current_locale_str
      Src: /src/mhd2/src/tests/unit/unit_str_to_value.c:2142,1
    - Dst: printf
      Src: /src/mhd2/src/tests/unit/unit_str_to_value.c:2151,1
    - Dst: n_prnt
      Src: /src/mhd2/src/tests/unit/unit_str_to_value.c:2153,1
    CyclomaticComplexity: 17
    EdgeCount: 17
    ICount: 30
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2158
      start: 2081
    functionDepth: 0
    functionLinenumber: 2081
    functionLinenumberEnd: 2158
    functionName: check_strx_to_uint64_n_all_chars
    functionSourceFile: /src/mhd2/src/tests/unit/unit_str_to_value.c
    functionUses: 0
    functionsReached:
    - fprintf
    - mhd_strx_to_uint64_n
    - get_current_locale_str
    - printf
    - n_prnt
    - set_test_locale
    - memset
    linkageType: ''
    returnType: size_t
    signature: size_t check_strx_to_uint64_n_all_chars (void)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: memset
      Src: /src/mhd2/src/tests/unit/unit_str_to_value.c:2169,1
    - Dst: set_test_locale
      Src: /src/mhd2/src/tests/unit/unit_str_to_value.c:2173,1
    - Dst: mhd_strx_to_uint64_n
      Src: /src/mhd2/src/tests/unit/unit_str_to_value.c:2189,1
    - Dst: fprintf
      Src: /src/mhd2/src/tests/unit/unit_str_to_value.c:2194,1
    - Dst: n_prnt
      Src: /src/mhd2/src/tests/unit/unit_str_to_value.c:2200,1
    - Dst: get_current_locale_str
      Src: /src/mhd2/src/tests/unit/unit_str_to_value.c:2201,1
    - Dst: fprintf
      Src: /src/mhd2/src/tests/unit/unit_str_to_value.c:2207,1
    - Dst: n_prnt
      Src: /src/mhd2/src/tests/unit/unit_str_to_value.c:2212,1
    - Dst: get_current_locale_str
      Src: /src/mhd2/src/tests/unit/unit_str_to_value.c:2214,1
    - Dst: printf
      Src: /src/mhd2/src/tests/unit/unit_str_to_value.c:2219,1
    - Dst: n_prnt
      Src: /src/mhd2/src/tests/unit/unit_str_to_value.c:2221,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 25
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2227
      start: 2161
    functionDepth: 0
    functionLinenumber: 2161
    functionLinenumberEnd: 2227
    functionName: check_strx_to_uint64_n_overflow
    functionSourceFile: /src/mhd2/src/tests/unit/unit_str_to_value.c
    functionUses: 0
    functionsReached:
    - fprintf
    - mhd_strx_to_uint64_n
    - get_current_locale_str
    - printf
    - n_prnt
    - set_test_locale
    - memset
    linkageType: ''
    returnType: size_t
    signature: size_t check_strx_to_uint64_n_overflow (void)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: memset
      Src: /src/mhd2/src/tests/unit/unit_str_to_value.c:2238,1
    - Dst: set_test_locale
      Src: /src/mhd2/src/tests/unit/unit_str_to_value.c:2242,1
    - Dst: mhd_strx_to_uint64_n
      Src: /src/mhd2/src/tests/unit/unit_str_to_value.c:2258,1
    - Dst: fprintf
      Src: /src/mhd2/src/tests/unit/unit_str_to_value.c:2263,1
    - Dst: n_prnt
      Src: /src/mhd2/src/tests/unit/unit_str_to_value.c:2269,1
    - Dst: get_current_locale_str
      Src: /src/mhd2/src/tests/unit/unit_str_to_value.c:2270,1
    - Dst: fprintf
      Src: /src/mhd2/src/tests/unit/unit_str_to_value.c:2276,1
    - Dst: n_prnt
      Src: /src/mhd2/src/tests/unit/unit_str_to_value.c:2281,1
    - Dst: get_current_locale_str
      Src: /src/mhd2/src/tests/unit/unit_str_to_value.c:2283,1
    - Dst: printf
      Src: /src/mhd2/src/tests/unit/unit_str_to_value.c:2288,1
    - Dst: n_prnt
      Src: /src/mhd2/src/tests/unit/unit_str_to_value.c:2290,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 25
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2295
      start: 2230
    functionDepth: 0
    functionLinenumber: 2230
    functionLinenumberEnd: 2295
    functionName: check_strx_to_uint64_n_no_val
    functionSourceFile: /src/mhd2/src/tests/unit/unit_str_to_value.c
    functionUses: 0
    functionsReached:
    - fprintf
    - mhd_strx_to_uint64_n
    - get_current_locale_str
    - printf
    - n_prnt
    - set_test_locale
    - memset
    linkageType: ''
    returnType: size_t
    signature: size_t check_strx_to_uint64_n_no_val (void)
  - BBCount: 64
    BranchProfiles: []
    Callsites:
    - Dst: check_str_to_uint64_valid
      Src: /src/mhd2/src/tests/unit/unit_str_to_value.c:2309,1
    - Dst: fprintf
      Src: /src/mhd2/src/tests/unit/unit_str_to_value.c:2313,1
    - Dst: printf
      Src: /src/mhd2/src/tests/unit/unit_str_to_value.c:2317,1
    - Dst: check_str_to_uint64_all_chars
      Src: /src/mhd2/src/tests/unit/unit_str_to_value.c:2320,1
    - Dst: fprintf
      Src: /src/mhd2/src/tests/unit/unit_str_to_value.c:2324,1
    - Dst: printf
      Src: /src/mhd2/src/tests/unit/unit_str_to_value.c:2328,1
    - Dst: check_str_to_uint64_overflow
      Src: /src/mhd2/src/tests/unit/unit_str_to_value.c:2331,1
    - Dst: fprintf
      Src: /src/mhd2/src/tests/unit/unit_str_to_value.c:2335,1
    - Dst: printf
      Src: /src/mhd2/src/tests/unit/unit_str_to_value.c:2339,1
    - Dst: check_str_to_uint64_no_val
      Src: /src/mhd2/src/tests/unit/unit_str_to_value.c:2342,1
    - Dst: fprintf
      Src: /src/mhd2/src/tests/unit/unit_str_to_value.c:2346,1
    - Dst: printf
      Src: /src/mhd2/src/tests/unit/unit_str_to_value.c:2350,1
    - Dst: fprintf
      Src: /src/mhd2/src/tests/unit/unit_str_to_value.c:2354,1
    - Dst: printf
      Src: /src/mhd2/src/tests/unit/unit_str_to_value.c:2359,1
    - Dst: check_str_to_uint64_n_valid
      Src: /src/mhd2/src/tests/unit/unit_str_to_value.c:2362,1
    - Dst: fprintf
      Src: /src/mhd2/src/tests/unit/unit_str_to_value.c:2366,1
    - Dst: printf
      Src: /src/mhd2/src/tests/unit/unit_str_to_value.c:2370,1
    - Dst: check_str_to_uint64_n_all_chars
      Src: /src/mhd2/src/tests/unit/unit_str_to_value.c:2373,1
    - Dst: fprintf
      Src: /src/mhd2/src/tests/unit/unit_str_to_value.c:2377,1
    - Dst: printf
      Src: /src/mhd2/src/tests/unit/unit_str_to_value.c:2381,1
    - Dst: check_str_to_uint64_n_overflow
      Src: /src/mhd2/src/tests/unit/unit_str_to_value.c:2384,1
    - Dst: fprintf
      Src: /src/mhd2/src/tests/unit/unit_str_to_value.c:2388,1
    - Dst: printf
      Src: /src/mhd2/src/tests/unit/unit_str_to_value.c:2392,1
    - Dst: check_str_to_uint64_n_no_val
      Src: /src/mhd2/src/tests/unit/unit_str_to_value.c:2395,1
    - Dst: fprintf
      Src: /src/mhd2/src/tests/unit/unit_str_to_value.c:2399,1
    - Dst: printf
      Src: /src/mhd2/src/tests/unit/unit_str_to_value.c:2403,1
    - Dst: fprintf
      Src: /src/mhd2/src/tests/unit/unit_str_to_value.c:2407,1
    - Dst: printf
      Src: /src/mhd2/src/tests/unit/unit_str_to_value.c:2412,1
    - Dst: check_strx_to_uint32_valid
      Src: /src/mhd2/src/tests/unit/unit_str_to_value.c:2415,1
    - Dst: fprintf
      Src: /src/mhd2/src/tests/unit/unit_str_to_value.c:2419,1
    - Dst: printf
      Src: /src/mhd2/src/tests/unit/unit_str_to_value.c:2423,1
    - Dst: check_strx_to_uint32_all_chars
      Src: /src/mhd2/src/tests/unit/unit_str_to_value.c:2426,1
    - Dst: fprintf
      Src: /src/mhd2/src/tests/unit/unit_str_to_value.c:2430,1
    - Dst: printf
      Src: /src/mhd2/src/tests/unit/unit_str_to_value.c:2434,1
    - Dst: check_strx_to_uint32_overflow
      Src: /src/mhd2/src/tests/unit/unit_str_to_value.c:2437,1
    - Dst: fprintf
      Src: /src/mhd2/src/tests/unit/unit_str_to_value.c:2441,1
    - Dst: printf
      Src: /src/mhd2/src/tests/unit/unit_str_to_value.c:2445,1
    - Dst: check_strx_to_uint32_no_val
      Src: /src/mhd2/src/tests/unit/unit_str_to_value.c:2448,1
    - Dst: fprintf
      Src: /src/mhd2/src/tests/unit/unit_str_to_value.c:2452,1
    - Dst: printf
      Src: /src/mhd2/src/tests/unit/unit_str_to_value.c:2456,1
    - Dst: fprintf
      Src: /src/mhd2/src/tests/unit/unit_str_to_value.c:2460,1
    - Dst: printf
      Src: /src/mhd2/src/tests/unit/unit_str_to_value.c:2465,1
    - Dst: check_strx_to_uint32_n_valid
      Src: /src/mhd2/src/tests/unit/unit_str_to_value.c:2468,1
    - Dst: fprintf
      Src: /src/mhd2/src/tests/unit/unit_str_to_value.c:2472,1
    - Dst: printf
      Src: /src/mhd2/src/tests/unit/unit_str_to_value.c:2476,1
    - Dst: check_strx_to_uint32_n_all_chars
      Src: /src/mhd2/src/tests/unit/unit_str_to_value.c:2479,1
    - Dst: fprintf
      Src: /src/mhd2/src/tests/unit/unit_str_to_value.c:2483,1
    - Dst: printf
      Src: /src/mhd2/src/tests/unit/unit_str_to_value.c:2487,1
    - Dst: check_strx_to_uint32_n_overflow
      Src: /src/mhd2/src/tests/unit/unit_str_to_value.c:2490,1
    - Dst: fprintf
      Src: /src/mhd2/src/tests/unit/unit_str_to_value.c:2494,1
    - Dst: printf
      Src: /src/mhd2/src/tests/unit/unit_str_to_value.c:2498,1
    - Dst: check_strx_to_uint32_n_no_val
      Src: /src/mhd2/src/tests/unit/unit_str_to_value.c:2501,1
    - Dst: fprintf
      Src: /src/mhd2/src/tests/unit/unit_str_to_value.c:2505,1
    - Dst: printf
      Src: /src/mhd2/src/tests/unit/unit_str_to_value.c:2509,1
    - Dst: fprintf
      Src: /src/mhd2/src/tests/unit/unit_str_to_value.c:2513,1
    - Dst: printf
      Src: /src/mhd2/src/tests/unit/unit_str_to_value.c:2518,1
    - Dst: check_strx_to_uint64_valid
      Src: /src/mhd2/src/tests/unit/unit_str_to_value.c:2521,1
    - Dst: fprintf
      Src: /src/mhd2/src/tests/unit/unit_str_to_value.c:2525,1
    - Dst: printf
      Src: /src/mhd2/src/tests/unit/unit_str_to_value.c:2529,1
    - Dst: check_strx_to_uint64_all_chars
      Src: /src/mhd2/src/tests/unit/unit_str_to_value.c:2532,1
    - Dst: fprintf
      Src: /src/mhd2/src/tests/unit/unit_str_to_value.c:2536,1
    - Dst: printf
      Src: /src/mhd2/src/tests/unit/unit_str_to_value.c:2540,1
    - Dst: check_strx_to_uint64_overflow
      Src: /src/mhd2/src/tests/unit/unit_str_to_value.c:2543,1
    - Dst: fprintf
      Src: /src/mhd2/src/tests/unit/unit_str_to_value.c:2547,1
    - Dst: printf
      Src: /src/mhd2/src/tests/unit/unit_str_to_value.c:2551,1
    - Dst: check_strx_to_uint64_no_val
      Src: /src/mhd2/src/tests/unit/unit_str_to_value.c:2554,1
    - Dst: fprintf
      Src: /src/mhd2/src/tests/unit/unit_str_to_value.c:2558,1
    - Dst: printf
      Src: /src/mhd2/src/tests/unit/unit_str_to_value.c:2562,1
    - Dst: fprintf
      Src: /src/mhd2/src/tests/unit/unit_str_to_value.c:2566,1
    - Dst: printf
      Src: /src/mhd2/src/tests/unit/unit_str_to_value.c:2571,1
    - Dst: check_strx_to_uint64_n_valid
      Src: /src/mhd2/src/tests/unit/unit_str_to_value.c:2574,1
    - Dst: fprintf
      Src: /src/mhd2/src/tests/unit/unit_str_to_value.c:2578,1
    - Dst: printf
      Src: /src/mhd2/src/tests/unit/unit_str_to_value.c:2582,1
    - Dst: check_strx_to_uint64_n_all_chars
      Src: /src/mhd2/src/tests/unit/unit_str_to_value.c:2585,1
    - Dst: fprintf
      Src: /src/mhd2/src/tests/unit/unit_str_to_value.c:2589,1
    - Dst: printf
      Src: /src/mhd2/src/tests/unit/unit_str_to_value.c:2593,1
    - Dst: check_strx_to_uint64_n_overflow
      Src: /src/mhd2/src/tests/unit/unit_str_to_value.c:2596,1
    - Dst: fprintf
      Src: /src/mhd2/src/tests/unit/unit_str_to_value.c:2600,1
    - Dst: printf
      Src: /src/mhd2/src/tests/unit/unit_str_to_value.c:2604,1
    - Dst: check_strx_to_uint64_n_no_val
      Src: /src/mhd2/src/tests/unit/unit_str_to_value.c:2607,1
    - Dst: fprintf
      Src: /src/mhd2/src/tests/unit/unit_str_to_value.c:2611,1
    - Dst: printf
      Src: /src/mhd2/src/tests/unit/unit_str_to_value.c:2615,1
    - Dst: fprintf
      Src: /src/mhd2/src/tests/unit/unit_str_to_value.c:2619,1
    - Dst: printf
      Src: /src/mhd2/src/tests/unit/unit_str_to_value.c:2624,1
    - Dst: printf
      Src: /src/mhd2/src/tests/unit/unit_str_to_value.c:2632,1
    - Dst: printf
      Src: /src/mhd2/src/tests/unit/unit_str_to_value.c:2638,1
    CyclomaticComplexity: 68
    EdgeCount: 68
    ICount: 201
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2641
      start: 2298
    functionDepth: 1
    functionLinenumber: 2298
    functionLinenumberEnd: 2641
    functionName: run_str_to_X_tests
    functionSourceFile: /src/mhd2/src/tests/unit/unit_str_to_value.c
    functionUses: 0
    functionsReached:
    - check_strx_to_uint64_valid
    - check_str_to_uint64_n_overflow
    - check_strx_to_uint64_no_val
    - check_strx_to_uint64_n_overflow
    - fprintf
    - check_strx_to_uint64_n_no_val
    - check_strx_to_uint32_n_valid
    - check_strx_to_uint32_n_overflow
    - check_strx_to_uint32_n_all_chars
    - check_strx_to_uint32_n_no_val
    - check_str_to_uint64_overflow
    - check_strx_to_uint32_valid
    - check_strx_to_uint32_no_val
    - check_strx_to_uint64_all_chars
    - check_strx_to_uint64_overflow
    - check_str_to_uint64_all_chars
    - check_str_to_uint64_n_all_chars
    - printf
    - check_str_to_uint64_n_valid
    - check_strx_to_uint32_overflow
    - check_str_to_uint64_n_no_val
    - check_str_to_uint64_no_val
    - check_str_to_uint64_valid
    - check_strx_to_uint32_all_chars
    - check_strx_to_uint64_n_all_chars
    - check_strx_to_uint64_n_valid
    linkageType: ''
    returnType: int
    signature: int run_str_to_X_tests (void)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: mhdt_has_param
      Src: /src/mhd2/src/tests/unit/unit_str_to_value.c:2647,1
    - Dst: mhdt_has_param
      Src: /src/mhd2/src/tests/unit/unit_str_to_value.c:2648,1
    - Dst: mhdt_has_param
      Src: /src/mhd2/src/tests/unit/unit_str_to_value.c:2649,1
    - Dst: MHDT_set_verbosity
      Src: /src/mhd2/src/tests/unit/unit_str_to_value.c:2650,1
    - Dst: mhdt_has_param
      Src: /src/mhd2/src/tests/unit/unit_str_to_value.c:2651,1
    - Dst: mhdt_has_param
      Src: /src/mhd2/src/tests/unit/unit_str_to_value.c:2652,1
    - Dst: MHDT_set_verbosity
      Src: /src/mhd2/src/tests/unit/unit_str_to_value.c:2653,1
    - Dst: run_str_to_X_tests
      Src: /src/mhd2/src/tests/unit/unit_str_to_value.c:2655,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 6
    argCount: 2
    argNames:
    - argc
    - argv
    argTypes:
    - int
    - char*[]
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2656
      start: 2644
    functionDepth: 2
    functionLinenumber: 2644
    functionLinenumberEnd: 2656
    functionName: main
    functionSourceFile: /src/mhd2/src/tests/unit/unit_str_to_value.c
    functionUses: 0
    functionsReached:
    - mhdt_has_param
    - run_str_to_X_tests
    - MHDT_set_verbosity
    linkageType: ''
    returnType: int
    signature: int main (int argc, char *argv[])
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: strlen
      Src: /src/mhd2/src/tests/unit/unit_md5.c:70,1
    - Dst: sscanf
      Src: /src/mhd2/src/tests/unit/unit_md5.c:76,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 3
    argNames:
    - hex
    - bin
    - max_len
    argTypes:
    - char*
    - uint8_t*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 81
      start: 65
    functionDepth: 0
    functionLinenumber: 65
    functionLinenumberEnd: 81
    functionName: hex2bin
    functionSourceFile: /src/mhd2/src/tests/unit/unit_md5.c
    functionUses: 2
    functionsReached:
    - strlen
    - sscanf
    linkageType: ''
    returnType: size_t
    signature: "size_t hex2bin (const char *hex,\n         uint8_t *bin,\n         size_t
      max_len)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 3
    argNames:
    - bin
    - len
    - hex
    argTypes:
    - uint8_t*
    - size_t
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 109
      start: 95
    functionDepth: 0
    functionLinenumber: 95
    functionLinenumberEnd: 109
    functionName: bin2hex
    functionSourceFile: /src/mhd2/src/tests/unit/unit_md5.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: "void bin2hex (const uint8_t *bin,\n         size_t len,\n         char
      *hex)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: memcmp
      Src: /src/mhd2/src/tests/unit/unit_md5.c:119,1
    - Dst: bin2hex
      Src: /src/mhd2/src/tests/unit/unit_md5.c:129,1
    - Dst: bin2hex
      Src: /src/mhd2/src/tests/unit/unit_md5.c:132,1
    - Dst: fprintf
      Src: /src/mhd2/src/tests/unit/unit_md5.c:135,1
    - Dst: fflush
      Src: /src/mhd2/src/tests/unit/unit_md5.c:141,1
    - Dst: bin2hex
      Src: /src/mhd2/src/tests/unit/unit_md5.c:148,1
    - Dst: fprintf
      Src: /src/mhd2/src/tests/unit/unit_md5.c:151,1
    - Dst: fflush
      Src: /src/mhd2/src/tests/unit/unit_md5.c:157,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 15
    argCount: 4
    argNames:
    - test_name
    - check_num
    - calculated
    - expected
    argTypes:
    - char*
    - unsigned int
    - uint8_t[]
    - uint8_t[]
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 160
      start: 112
    functionDepth: 0
    functionLinenumber: 112
    functionLinenumberEnd: 160
    functionName: check_result
    functionSourceFile: /src/mhd2/src/tests/unit/unit_md5.c
    functionUses: 5
    functionsReached:
    - fflush
    - memcmp
    - fprintf
    - bin2hex
    linkageType: ''
    returnType: unsigned int
    signature: "unsigned int check_result (const char *test_name,\n              unsigned
      int check_num,\n              const uint8_t calculated[mhd_MD5_DIGEST_SIZE],\n
      \             const uint8_t expected[mhd_MD5_DIGEST_SIZE])"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - s
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 170
      start: 169
    functionDepth: 0
    functionLinenumber: 169
    functionLinenumberEnd: 170
    functionName: D_STR_W_LEN
    functionSourceFile: /src/mhd2/src/tests/unit/unit_md5.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: D_STR_W_LEN(s)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: mhd_MD5_init
      Src: /src/mhd2/src/tests/unit/unit_md5.c:236,1
    - Dst: mhd_MD5_update
      Src: /src/mhd2/src/tests/unit/unit_md5.c:242,1
    - Dst: mhd_MD5_finish_reset
      Src: /src/mhd2/src/tests/unit/unit_md5.c:245,1
    - Dst: mhd_MD5_has_err
      Src: /src/mhd2/src/tests/unit/unit_md5.c:247,1
    - Dst: fprintf
      Src: /src/mhd2/src/tests/unit/unit_md5.c:249,1
    - Dst: mhd_MD5_get_err
      Src: /src/mhd2/src/tests/unit/unit_md5.c:251,1
    - Dst: mhd_MD5_deinit
      Src: /src/mhd2/src/tests/unit/unit_md5.c:252,1
    - Dst: exit
      Src: /src/mhd2/src/tests/unit/unit_md5.c:253,1
    - Dst: check_result
      Src: /src/mhd2/src/tests/unit/unit_md5.c:255,1
    - Dst: mhd_MD5_deinit
      Src: /src/mhd2/src/tests/unit/unit_md5.c:260,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 15
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 262
      start: 229
    functionDepth: 1
    functionLinenumber: 229
    functionLinenumberEnd: 262
    functionName: test1_str
    functionSourceFile: /src/mhd2/src/tests/unit/unit_md5.c
    functionUses: 1
    functionsReached:
    - check_result
    - fprintf
    - mhd_MD5_init
    - mhd_MD5_deinit
    - mhd_MD5_update
    - exit
    - mhd_MD5_has_err
    - mhd_MD5_finish_reset
    - mhd_MD5_get_err
    linkageType: ''
    returnType: unsigned int
    signature: unsigned int test1_str (void)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: mhd_MD5_init
      Src: /src/mhd2/src/tests/unit/unit_md5.c:418,1
    - Dst: mhd_MD5_update
      Src: /src/mhd2/src/tests/unit/unit_md5.c:423,1
    - Dst: mhd_MD5_finish_reset
      Src: /src/mhd2/src/tests/unit/unit_md5.c:426,1
    - Dst: mhd_MD5_has_err
      Src: /src/mhd2/src/tests/unit/unit_md5.c:428,1
    - Dst: fprintf
      Src: /src/mhd2/src/tests/unit/unit_md5.c:430,1
    - Dst: mhd_MD5_get_err
      Src: /src/mhd2/src/tests/unit/unit_md5.c:432,1
    - Dst: mhd_MD5_deinit
      Src: /src/mhd2/src/tests/unit/unit_md5.c:433,1
    - Dst: exit
      Src: /src/mhd2/src/tests/unit/unit_md5.c:434,1
    - Dst: check_result
      Src: /src/mhd2/src/tests/unit/unit_md5.c:436,1
    - Dst: mhd_MD5_deinit
      Src: /src/mhd2/src/tests/unit/unit_md5.c:441,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 14
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 443
      start: 411
    functionDepth: 1
    functionLinenumber: 411
    functionLinenumberEnd: 443
    functionName: test1_bin
    functionSourceFile: /src/mhd2/src/tests/unit/unit_md5.c
    functionUses: 1
    functionsReached:
    - check_result
    - fprintf
    - mhd_MD5_init
    - mhd_MD5_deinit
    - mhd_MD5_update
    - exit
    - mhd_MD5_has_err
    - mhd_MD5_finish_reset
    - mhd_MD5_get_err
    linkageType: ''
    returnType: unsigned int
    signature: unsigned int test1_bin (void)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: mhd_MD5_init
      Src: /src/mhd2/src/tests/unit/unit_md5.c:454,1
    - Dst: mhd_MD5_update
      Src: /src/mhd2/src/tests/unit/unit_md5.c:461,1
    - Dst: mhd_MD5_update
      Src: /src/mhd2/src/tests/unit/unit_md5.c:465,1
    - Dst: mhd_MD5_finish_reset
      Src: /src/mhd2/src/tests/unit/unit_md5.c:468,1
    - Dst: mhd_MD5_has_err
      Src: /src/mhd2/src/tests/unit/unit_md5.c:470,1
    - Dst: fprintf
      Src: /src/mhd2/src/tests/unit/unit_md5.c:472,1
    - Dst: mhd_MD5_get_err
      Src: /src/mhd2/src/tests/unit/unit_md5.c:474,1
    - Dst: mhd_MD5_deinit
      Src: /src/mhd2/src/tests/unit/unit_md5.c:475,1
    - Dst: exit
      Src: /src/mhd2/src/tests/unit/unit_md5.c:476,1
    - Dst: check_result
      Src: /src/mhd2/src/tests/unit/unit_md5.c:478,1
    - Dst: mhd_MD5_deinit
      Src: /src/mhd2/src/tests/unit/unit_md5.c:483,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 17
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 485
      start: 447
    functionDepth: 1
    functionLinenumber: 447
    functionLinenumberEnd: 485
    functionName: test2_str
    functionSourceFile: /src/mhd2/src/tests/unit/unit_md5.c
    functionUses: 1
    functionsReached:
    - check_result
    - fprintf
    - mhd_MD5_init
    - mhd_MD5_deinit
    - mhd_MD5_update
    - exit
    - mhd_MD5_has_err
    - mhd_MD5_finish_reset
    - mhd_MD5_get_err
    linkageType: ''
    returnType: unsigned int
    signature: unsigned int test2_str (void)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: mhd_MD5_init
      Src: /src/mhd2/src/tests/unit/unit_md5.c:495,1
    - Dst: mhd_MD5_update
      Src: /src/mhd2/src/tests/unit/unit_md5.c:502,1
    - Dst: mhd_MD5_update
      Src: /src/mhd2/src/tests/unit/unit_md5.c:505,1
    - Dst: mhd_MD5_finish_reset
      Src: /src/mhd2/src/tests/unit/unit_md5.c:508,1
    - Dst: mhd_MD5_has_err
      Src: /src/mhd2/src/tests/unit/unit_md5.c:510,1
    - Dst: fprintf
      Src: /src/mhd2/src/tests/unit/unit_md5.c:512,1
    - Dst: mhd_MD5_get_err
      Src: /src/mhd2/src/tests/unit/unit_md5.c:514,1
    - Dst: mhd_MD5_deinit
      Src: /src/mhd2/src/tests/unit/unit_md5.c:515,1
    - Dst: exit
      Src: /src/mhd2/src/tests/unit/unit_md5.c:516,1
    - Dst: check_result
      Src: /src/mhd2/src/tests/unit/unit_md5.c:518,1
    - Dst: mhd_MD5_deinit
      Src: /src/mhd2/src/tests/unit/unit_md5.c:523,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 15
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 525
      start: 488
    functionDepth: 1
    functionLinenumber: 488
    functionLinenumberEnd: 525
    functionName: test2_bin
    functionSourceFile: /src/mhd2/src/tests/unit/unit_md5.c
    functionUses: 1
    functionsReached:
    - check_result
    - fprintf
    - mhd_MD5_init
    - mhd_MD5_deinit
    - mhd_MD5_update
    - exit
    - mhd_MD5_has_err
    - mhd_MD5_finish_reset
    - mhd_MD5_get_err
    linkageType: ''
    returnType: unsigned int
    signature: unsigned int test2_bin (void)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: malloc
      Src: /src/mhd2/src/tests/unit/unit_md5.c:542,1
    - Dst: malloc
      Src: /src/mhd2/src/tests/unit/unit_md5.c:543,1
    - Dst: fprintf
      Src: /src/mhd2/src/tests/unit/unit_md5.c:547,1
    - Dst: free
      Src: /src/mhd2/src/tests/unit/unit_md5.c:549,1
    - Dst: free
      Src: /src/mhd2/src/tests/unit/unit_md5.c:550,1
    - Dst: exit
      Src: /src/mhd2/src/tests/unit/unit_md5.c:551,1
    - Dst: mhd_MD5_init
      Src: /src/mhd2/src/tests/unit/unit_md5.c:554,1
    - Dst: memcpy
      Src: /src/mhd2/src/tests/unit/unit_md5.c:562,1
    - Dst: memset
      Src: /src/mhd2/src/tests/unit/unit_md5.c:566,1
    - Dst: mhd_MD5_update
      Src: /src/mhd2/src/tests/unit/unit_md5.c:569,1
    - Dst: mhd_MD5_finish_reset
      Src: /src/mhd2/src/tests/unit/unit_md5.c:572,1
    - Dst: mhd_MD5_has_err
      Src: /src/mhd2/src/tests/unit/unit_md5.c:574,1
    - Dst: fprintf
      Src: /src/mhd2/src/tests/unit/unit_md5.c:576,1
    - Dst: mhd_MD5_get_err
      Src: /src/mhd2/src/tests/unit/unit_md5.c:578,1
    - Dst: mhd_MD5_deinit
      Src: /src/mhd2/src/tests/unit/unit_md5.c:579,1
    - Dst: free
      Src: /src/mhd2/src/tests/unit/unit_md5.c:580,1
    - Dst: free
      Src: /src/mhd2/src/tests/unit/unit_md5.c:581,1
    - Dst: exit
      Src: /src/mhd2/src/tests/unit/unit_md5.c:582,1
    - Dst: check_result
      Src: /src/mhd2/src/tests/unit/unit_md5.c:584,1
    - Dst: mhd_MD5_deinit
      Src: /src/mhd2/src/tests/unit/unit_md5.c:589,1
    - Dst: free
      Src: /src/mhd2/src/tests/unit/unit_md5.c:590,1
    - Dst: free
      Src: /src/mhd2/src/tests/unit/unit_md5.c:591,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 30
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 593
      start: 532
    functionDepth: 1
    functionLinenumber: 532
    functionLinenumberEnd: 593
    functionName: test_unaligned
    functionSourceFile: /src/mhd2/src/tests/unit/unit_md5.c
    functionUses: 1
    functionsReached:
    - check_result
    - fprintf
    - mhd_MD5_init
    - memset
    - malloc
    - mhd_MD5_deinit
    - free
    - mhd_MD5_update
    - exit
    - mhd_MD5_has_err
    - mhd_MD5_finish_reset
    - memcpy
    - mhd_MD5_get_err
    linkageType: ''
    returnType: unsigned int
    signature: unsigned int test_unaligned (void)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: hex2bin
      Src: /src/mhd2/src/tests/unit/unit_md5.c:604,1
    - Dst: printf
      Src: /src/mhd2/src/tests/unit/unit_md5.c:610,1
    - Dst: memcmp
      Src: /src/mhd2/src/tests/unit/unit_md5.c:616,1
    - Dst: printf
      Src: /src/mhd2/src/tests/unit/unit_md5.c:620,1
    - Dst: printf
      Src: /src/mhd2/src/tests/unit/unit_md5.c:622,1
    - Dst: printf
      Src: /src/mhd2/src/tests/unit/unit_md5.c:624,1
    - Dst: printf
      Src: /src/mhd2/src/tests/unit/unit_md5.c:627,1
    - Dst: printf
      Src: /src/mhd2/src/tests/unit/unit_md5.c:630,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 16
    argCount: 4
    argNames:
    - digest
    - digest_len
    - expected_hex
    - test_name
    argTypes:
    - uint8_t*
    - size_t
    - char*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 634
      start: 597
    functionDepth: 0
    functionLinenumber: 597
    functionLinenumberEnd: 634
    functionName: check_digest
    functionSourceFile: /src/mhd2/src/tests/unit/unit_md5.c
    functionUses: 3
    functionsReached:
    - hex2bin
    - printf
    - memcmp
    linkageType: ''
    returnType: int
    signature: "int check_digest (const uint8_t *digest,\n              size_t digest_len,\n
      \             const char *expected_hex,\n              const char *test_name)"
  - BBCount: 20
    BranchProfiles: []
    Callsites:
    - Dst: mhdt_has_param
      Src: /src/mhd2/src/tests/unit/unit_md5.c:688,1
    - Dst: mhdt_has_param
      Src: /src/mhd2/src/tests/unit/unit_md5.c:689,1
    - Dst: mhd_MD5_init
      Src: /src/mhd2/src/tests/unit/unit_md5.c:695,1
    - Dst: mhd_MD5_has_err
      Src: /src/mhd2/src/tests/unit/unit_md5.c:696,1
    - Dst: hex2bin
      Src: /src/mhd2/src/tests/unit/unit_md5.c:698,1
    - Dst: mhd_MD5_update
      Src: /src/mhd2/src/tests/unit/unit_md5.c:702,1
    - Dst: mhd_MD5_finish
      Src: /src/mhd2/src/tests/unit/unit_md5.c:705,1
    - Dst: mhd_MD5_has_err
      Src: /src/mhd2/src/tests/unit/unit_md5.c:707,1
    - Dst: check_digest
      Src: /src/mhd2/src/tests/unit/unit_md5.c:709,1
    - Dst: fprintf
      Src: /src/mhd2/src/tests/unit/unit_md5.c:717,1
    - Dst: mhd_MD5_get_err
      Src: /src/mhd2/src/tests/unit/unit_md5.c:721,1
    - Dst: mhd_MD5_deinit
      Src: /src/mhd2/src/tests/unit/unit_md5.c:722,1
    - Dst: exit
      Src: /src/mhd2/src/tests/unit/unit_md5.c:723,1
    - Dst: fprintf
      Src: /src/mhd2/src/tests/unit/unit_md5.c:728,1
    - Dst: mhd_MD5_get_err
      Src: /src/mhd2/src/tests/unit/unit_md5.c:731,1
    - Dst: mhd_MD5_deinit
      Src: /src/mhd2/src/tests/unit/unit_md5.c:732,1
    - Dst: exit
      Src: /src/mhd2/src/tests/unit/unit_md5.c:733,1
    - Dst: mhd_MD5_deinit
      Src: /src/mhd2/src/tests/unit/unit_md5.c:735,1
    - Dst: mhd_MD5_init
      Src: /src/mhd2/src/tests/unit/unit_md5.c:743,1
    - Dst: mhd_MD5_has_err
      Src: /src/mhd2/src/tests/unit/unit_md5.c:744,1
    - Dst: mhd_MD5_update
      Src: /src/mhd2/src/tests/unit/unit_md5.c:747,1
    - Dst: mhd_MD5_update
      Src: /src/mhd2/src/tests/unit/unit_md5.c:751,1
    - Dst: mhd_MD5_update
      Src: /src/mhd2/src/tests/unit/unit_md5.c:754,1
    - Dst: mhd_MD5_update
      Src: /src/mhd2/src/tests/unit/unit_md5.c:758,1
    - Dst: mhd_MD5_finish
      Src: /src/mhd2/src/tests/unit/unit_md5.c:761,1
    - Dst: mhd_MD5_has_err
      Src: /src/mhd2/src/tests/unit/unit_md5.c:763,1
    - Dst: check_digest
      Src: /src/mhd2/src/tests/unit/unit_md5.c:765,1
    - Dst: fprintf
      Src: /src/mhd2/src/tests/unit/unit_md5.c:773,1
    - Dst: mhd_MD5_get_err
      Src: /src/mhd2/src/tests/unit/unit_md5.c:776,1
    - Dst: mhd_MD5_deinit
      Src: /src/mhd2/src/tests/unit/unit_md5.c:777,1
    - Dst: exit
      Src: /src/mhd2/src/tests/unit/unit_md5.c:778,1
    - Dst: fprintf
      Src: /src/mhd2/src/tests/unit/unit_md5.c:783,1
    - Dst: mhd_MD5_get_err
      Src: /src/mhd2/src/tests/unit/unit_md5.c:786,1
    - Dst: mhd_MD5_deinit
      Src: /src/mhd2/src/tests/unit/unit_md5.c:787,1
    - Dst: exit
      Src: /src/mhd2/src/tests/unit/unit_md5.c:788,1
    - Dst: mhd_MD5_deinit
      Src: /src/mhd2/src/tests/unit/unit_md5.c:790,1
    - Dst: mhd_MD5_init
      Src: /src/mhd2/src/tests/unit/unit_md5.c:797,1
    - Dst: mhd_MD5_has_err
      Src: /src/mhd2/src/tests/unit/unit_md5.c:798,1
    - Dst: hex2bin
      Src: /src/mhd2/src/tests/unit/unit_md5.c:801,1
    - Dst: mhd_MD5_update
      Src: /src/mhd2/src/tests/unit/unit_md5.c:804,1
    - Dst: mhd_MD5_finish_reset
      Src: /src/mhd2/src/tests/unit/unit_md5.c:807,1
    - Dst: mhd_MD5_has_err
      Src: /src/mhd2/src/tests/unit/unit_md5.c:809,1
    - Dst: fprintf
      Src: /src/mhd2/src/tests/unit/unit_md5.c:811,1
    - Dst: mhd_MD5_get_err
      Src: /src/mhd2/src/tests/unit/unit_md5.c:814,1
    - Dst: mhd_MD5_deinit
      Src: /src/mhd2/src/tests/unit/unit_md5.c:815,1
    - Dst: exit
      Src: /src/mhd2/src/tests/unit/unit_md5.c:816,1
    - Dst: check_digest
      Src: /src/mhd2/src/tests/unit/unit_md5.c:818,1
    - Dst: hex2bin
      Src: /src/mhd2/src/tests/unit/unit_md5.c:826,1
    - Dst: mhd_MD5_update
      Src: /src/mhd2/src/tests/unit/unit_md5.c:829,1
    - Dst: mhd_MD5_finish
      Src: /src/mhd2/src/tests/unit/unit_md5.c:832,1
    - Dst: mhd_MD5_has_err
      Src: /src/mhd2/src/tests/unit/unit_md5.c:835,1
    - Dst: check_digest
      Src: /src/mhd2/src/tests/unit/unit_md5.c:837,1
    - Dst: fprintf
      Src: /src/mhd2/src/tests/unit/unit_md5.c:845,1
    - Dst: mhd_MD5_get_err
      Src: /src/mhd2/src/tests/unit/unit_md5.c:848,1
    - Dst: mhd_MD5_deinit
      Src: /src/mhd2/src/tests/unit/unit_md5.c:849,1
    - Dst: exit
      Src: /src/mhd2/src/tests/unit/unit_md5.c:850,1
    - Dst: fprintf
      Src: /src/mhd2/src/tests/unit/unit_md5.c:855,1
    - Dst: mhd_MD5_get_err
      Src: /src/mhd2/src/tests/unit/unit_md5.c:858,1
    - Dst: mhd_MD5_deinit
      Src: /src/mhd2/src/tests/unit/unit_md5.c:859,1
    - Dst: exit
      Src: /src/mhd2/src/tests/unit/unit_md5.c:860,1
    - Dst: mhd_MD5_deinit
      Src: /src/mhd2/src/tests/unit/unit_md5.c:862,1
    - Dst: mhd_MD5_init
      Src: /src/mhd2/src/tests/unit/unit_md5.c:869,1
    - Dst: mhd_MD5_has_err
      Src: /src/mhd2/src/tests/unit/unit_md5.c:870,1
    - Dst: fprintf
      Src: /src/mhd2/src/tests/unit/unit_md5.c:872,1
    - Dst: mhd_MD5_get_err
      Src: /src/mhd2/src/tests/unit/unit_md5.c:875,1
    - Dst: mhd_MD5_deinit
      Src: /src/mhd2/src/tests/unit/unit_md5.c:876,1
    - Dst: exit
      Src: /src/mhd2/src/tests/unit/unit_md5.c:877,1
    - Dst: hex2bin
      Src: /src/mhd2/src/tests/unit/unit_md5.c:879,1
    - Dst: mhd_MD5_update
      Src: /src/mhd2/src/tests/unit/unit_md5.c:882,1
    - Dst: mhd_MD5_finish_deinit
      Src: /src/mhd2/src/tests/unit/unit_md5.c:885,1
    - Dst: mhd_MD5_has_err
      Src: /src/mhd2/src/tests/unit/unit_md5.c:887,1
    - Dst: fprintf
      Src: /src/mhd2/src/tests/unit/unit_md5.c:889,1
    - Dst: mhd_MD5_get_err
      Src: /src/mhd2/src/tests/unit/unit_md5.c:892,1
    - Dst: exit
      Src: /src/mhd2/src/tests/unit/unit_md5.c:893,1
    - Dst: check_digest
      Src: /src/mhd2/src/tests/unit/unit_md5.c:895,1
    - Dst: mhd_MD5_init
      Src: /src/mhd2/src/tests/unit/unit_md5.c:906,1
    - Dst: mhd_MD5_has_err
      Src: /src/mhd2/src/tests/unit/unit_md5.c:907,1
    - Dst: fprintf
      Src: /src/mhd2/src/tests/unit/unit_md5.c:909,1
    - Dst: mhd_MD5_get_err
      Src: /src/mhd2/src/tests/unit/unit_md5.c:912,1
    - Dst: mhd_MD5_deinit
      Src: /src/mhd2/src/tests/unit/unit_md5.c:913,1
    - Dst: exit
      Src: /src/mhd2/src/tests/unit/unit_md5.c:914,1
    - Dst: memset
      Src: /src/mhd2/src/tests/unit/unit_md5.c:916,1
    - Dst: mhd_MD5_update
      Src: /src/mhd2/src/tests/unit/unit_md5.c:918,1
    - Dst: mhd_MD5_finish
      Src: /src/mhd2/src/tests/unit/unit_md5.c:921,1
    - Dst: mhd_MD5_has_err
      Src: /src/mhd2/src/tests/unit/unit_md5.c:923,1
    - Dst: fprintf
      Src: /src/mhd2/src/tests/unit/unit_md5.c:925,1
    - Dst: mhd_MD5_get_err
      Src: /src/mhd2/src/tests/unit/unit_md5.c:928,1
    - Dst: mhd_MD5_deinit
      Src: /src/mhd2/src/tests/unit/unit_md5.c:929,1
    - Dst: exit
      Src: /src/mhd2/src/tests/unit/unit_md5.c:930,1
    - Dst: check_digest
      Src: /src/mhd2/src/tests/unit/unit_md5.c:932,1
    - Dst: mhd_MD5_deinit
      Src: /src/mhd2/src/tests/unit/unit_md5.c:937,1
    - Dst: test1_str
      Src: /src/mhd2/src/tests/unit/unit_md5.c:940,1
    - Dst: test1_bin
      Src: /src/mhd2/src/tests/unit/unit_md5.c:941,1
    - Dst: test2_str
      Src: /src/mhd2/src/tests/unit/unit_md5.c:942,1
    - Dst: test2_bin
      Src: /src/mhd2/src/tests/unit/unit_md5.c:943,1
    - Dst: test_unaligned
      Src: /src/mhd2/src/tests/unit/unit_md5.c:944,1
    - Dst: printf
      Src: /src/mhd2/src/tests/unit/unit_md5.c:946,1
    CyclomaticComplexity: 22
    EdgeCount: 22
    ICount: 128
    argCount: 2
    argNames:
    - argc
    - argv
    argTypes:
    - int
    - char**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 950
      start: 637
    functionDepth: 1
    functionLinenumber: 637
    functionLinenumberEnd: 950
    functionName: main
    functionSourceFile: /src/mhd2/src/tests/unit/unit_md5.c
    functionUses: 0
    functionsReached:
    - test1_bin
    - mhd_MD5_init
    - fprintf
    - mhd_MD5_finish
    - mhd_MD5_finish_reset
    - mhd_MD5_deinit
    - hex2bin
    - mhd_MD5_update
    - mhd_MD5_has_err
    - check_digest
    - mhdt_has_param
    - test2_bin
    - test2_str
    - mhd_MD5_finish_deinit
    - printf
    - exit
    - memset
    - mhd_MD5_get_err
    - test1_str
    - test_unaligned
    linkageType: ''
    returnType: int
    signature: "int main (int argc,\n      char **argv)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - macro
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 38
      start: 37
    functionDepth: 0
    functionLinenumber: 37
    functionLinenumberEnd: 38
    functionName: MHD_STATICSTR_LEN_
    functionSourceFile: /src/mhd2/src/tests/unit/unit_str_token.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: MHD_STATICSTR_LEN_(macro)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: mhd_str_has_token_caseless
      Src: /src/mhd2/src/tests/unit/unit_str_token.c:44,1
    - Dst: fprintf
      Src: /src/mhd2/src/tests/unit/unit_str_token.c:46,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 3
    argNames:
    - str
    - token
    - token_len
    argTypes:
    - char*
    - char*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 54
      start: 41
    functionDepth: 1
    functionLinenumber: 41
    functionLinenumberEnd: 54
    functionName: expect_found_n
    functionSourceFile: /src/mhd2/src/tests/unit/unit_str_token.c
    functionUses: 0
    functionsReached:
    - mhd_str_has_token_caseless
    - fprintf
    linkageType: ''
    returnType: int
    signature: int expect_found_n (const char *str, const char *token, size_t token_len)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - s
    - ','
    - t
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 58
      start: 57
    functionDepth: 0
    functionLinenumber: 57
    functionLinenumberEnd: 58
    functionName: expect_found
    functionSourceFile: /src/mhd2/src/tests/unit/unit_str_token.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: expect_found(s, t)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: mhd_str_has_token_caseless
      Src: /src/mhd2/src/tests/unit/unit_str_token.c:62,1
    - Dst: fprintf
      Src: /src/mhd2/src/tests/unit/unit_str_token.c:64,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 3
    argNames:
    - str
    - token
    - token_len
    argTypes:
    - char*
    - char*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 72
      start: 59
    functionDepth: 1
    functionLinenumber: 59
    functionLinenumberEnd: 72
    functionName: expect_not_found_n
    functionSourceFile: /src/mhd2/src/tests/unit/unit_str_token.c
    functionUses: 0
    functionsReached:
    - mhd_str_has_token_caseless
    - fprintf
    linkageType: ''
    returnType: int
    signature: int expect_not_found_n (const char *str, const char *token, size_t
      token_len)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - s
    - ','
    - t
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 77
      start: 75
    functionDepth: 0
    functionLinenumber: 75
    functionLinenumberEnd: 77
    functionName: expect_not_found
    functionSourceFile: /src/mhd2/src/tests/unit/unit_str_token.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: expect_not_found(s, t)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: expect_found
      Src: /src/mhd2/src/tests/unit/unit_str_token.c:82,1
    - Dst: expect_found
      Src: /src/mhd2/src/tests/unit/unit_str_token.c:83,1
    - Dst: expect_found
      Src: /src/mhd2/src/tests/unit/unit_str_token.c:84,1
    - Dst: expect_found
      Src: /src/mhd2/src/tests/unit/unit_str_token.c:85,1
    - Dst: expect_found
      Src: /src/mhd2/src/tests/unit/unit_str_token.c:86,1
    - Dst: expect_found
      Src: /src/mhd2/src/tests/unit/unit_str_token.c:87,1
    - Dst: expect_found
      Src: /src/mhd2/src/tests/unit/unit_str_token.c:88,1
    - Dst: expect_found
      Src: /src/mhd2/src/tests/unit/unit_str_token.c:89,1
    - Dst: expect_found
      Src: /src/mhd2/src/tests/unit/unit_str_token.c:90,1
    - Dst: expect_found
      Src: /src/mhd2/src/tests/unit/unit_str_token.c:91,1
    - Dst: expect_found
      Src: /src/mhd2/src/tests/unit/unit_str_token.c:92,1
    - Dst: expect_found
      Src: /src/mhd2/src/tests/unit/unit_str_token.c:93,1
    - Dst: expect_found
      Src: /src/mhd2/src/tests/unit/unit_str_token.c:94,1
    - Dst: expect_found
      Src: /src/mhd2/src/tests/unit/unit_str_token.c:95,1
    - Dst: expect_found
      Src: /src/mhd2/src/tests/unit/unit_str_token.c:96,1
    - Dst: expect_found
      Src: /src/mhd2/src/tests/unit/unit_str_token.c:97,1
    - Dst: expect_found
      Src: /src/mhd2/src/tests/unit/unit_str_token.c:98,1
    - Dst: expect_found
      Src: /src/mhd2/src/tests/unit/unit_str_token.c:99,1
    - Dst: expect_found
      Src: /src/mhd2/src/tests/unit/unit_str_token.c:100,1
    - Dst: expect_found
      Src: /src/mhd2/src/tests/unit/unit_str_token.c:101,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 22
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 103
      start: 78
    functionDepth: 1
    functionLinenumber: 78
    functionLinenumberEnd: 103
    functionName: check_match
    functionSourceFile: /src/mhd2/src/tests/unit/unit_str_token.c
    functionUses: 0
    functionsReached:
    - expect_found
    linkageType: ''
    returnType: int
    signature: int check_match (void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: expect_not_found
      Src: /src/mhd2/src/tests/unit/unit_str_token.c:110,1
    - Dst: expect_not_found
      Src: /src/mhd2/src/tests/unit/unit_str_token.c:111,1
    - Dst: expect_not_found
      Src: /src/mhd2/src/tests/unit/unit_str_token.c:112,1
    - Dst: expect_not_found
      Src: /src/mhd2/src/tests/unit/unit_str_token.c:113,1
    - Dst: expect_not_found
      Src: /src/mhd2/src/tests/unit/unit_str_token.c:114,1
    - Dst: expect_not_found
      Src: /src/mhd2/src/tests/unit/unit_str_token.c:115,1
    - Dst: expect_not_found
      Src: /src/mhd2/src/tests/unit/unit_str_token.c:116,1
    - Dst: expect_not_found
      Src: /src/mhd2/src/tests/unit/unit_str_token.c:117,1
    - Dst: expect_not_found
      Src: /src/mhd2/src/tests/unit/unit_str_token.c:118,1
    - Dst: expect_not_found
      Src: /src/mhd2/src/tests/unit/unit_str_token.c:119,1
    - Dst: expect_not_found
      Src: /src/mhd2/src/tests/unit/unit_str_token.c:120,1
    - Dst: expect_not_found
      Src: /src/mhd2/src/tests/unit/unit_str_token.c:121,1
    - Dst: expect_not_found
      Src: /src/mhd2/src/tests/unit/unit_str_token.c:122,1
    - Dst: expect_not_found
      Src: /src/mhd2/src/tests/unit/unit_str_token.c:123,1
    - Dst: expect_not_found
      Src: /src/mhd2/src/tests/unit/unit_str_token.c:124,1
    - Dst: expect_not_found
      Src: /src/mhd2/src/tests/unit/unit_str_token.c:125,1
    - Dst: expect_not_found
      Src: /src/mhd2/src/tests/unit/unit_str_token.c:126,1
    - Dst: expect_not_found
      Src: /src/mhd2/src/tests/unit/unit_str_token.c:127,1
    - Dst: expect_not_found
      Src: /src/mhd2/src/tests/unit/unit_str_token.c:128,1
    - Dst: expect_not_found
      Src: /src/mhd2/src/tests/unit/unit_str_token.c:129,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 22
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 131
      start: 106
    functionDepth: 1
    functionLinenumber: 106
    functionLinenumberEnd: 131
    functionName: check_not_match
    functionSourceFile: /src/mhd2/src/tests/unit/unit_str_token.c
    functionUses: 0
    functionsReached:
    - expect_not_found
    linkageType: ''
    returnType: int
    signature: int check_not_match (void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: check_match
      Src: /src/mhd2/src/tests/unit/unit_str_token.c:140,1
    - Dst: check_not_match
      Src: /src/mhd2/src/tests/unit/unit_str_token.c:141,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 2
    argNames:
    - argc
    - argv
    argTypes:
    - int
    - char*[]
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 143
      start: 134
    functionDepth: 2
    functionLinenumber: 134
    functionLinenumberEnd: 143
    functionName: main
    functionSourceFile: /src/mhd2/src/tests/unit/unit_str_token.c
    functionUses: 0
    functionsReached:
    - check_not_match
    - check_match
    linkageType: ''
    returnType: int
    signature: int main (int argc, char *argv[])
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - name_len
    - ','
    - val_len
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 71
      start: 69
    functionDepth: 0
    functionLinenumber: 69
    functionLinenumberEnd: 71
    functionName: MHDTL_HPACK_ENTRY_SIZE
    functionSourceFile: /src/mhd2/src/tests/unit/unit_hpack_tables.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: MHDTL_HPACK_ENTRY_SIZE(name_len, val_len)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - val
    - rot
    argTypes:
    - uint_least16_t
    - unsigned int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 80
      start: 73
    functionDepth: 0
    functionLinenumber: 73
    functionLinenumberEnd: 80
    functionName: mhdtl_rotl16
    functionSourceFile: /src/mhd2/src/tests/unit/unit_hpack_tables.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: uint_least16_t
    signature: uint_least16_t mhdtl_rotl16 (uint_least16_t val, unsigned int rot)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: mhdtl_rotl16
      Src: /src/mhd2/src/tests/unit/unit_hpack_tables.c:89,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 2
    argNames:
    - a
    - b
    argTypes:
    - uint_fast16_t
    - uint_fast16_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 96
      start: 83
    functionDepth: 1
    functionLinenumber: 83
    functionLinenumberEnd: 96
    functionName: mhdtl_mix16
    functionSourceFile: /src/mhd2/src/tests/unit/unit_hpack_tables.c
    functionUses: 0
    functionsReached:
    - mhdtl_rotl16
    linkageType: ''
    returnType: uint_least16_t
    signature: uint_least16_t mhdtl_mix16 (uint_fast16_t a, uint_fast16_t b)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: mhd_dtbl_get_table_used
      Src: /src/mhd2/src/tests/unit/unit_hpack_tables.c:102,1
    - Dst: MHDT_EXPECT_UINT_GE_VAL
      Src: /src/mhd2/src/tests/unit/unit_hpack_tables.c:103,1
    - Dst: mhd_dtbl_get_table_max_size
      Src: /src/mhd2/src/tests/unit/unit_hpack_tables.c:103,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - dyn
    argTypes:
    - struct mhd_HpackDTblContext*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 106
      start: 99
    functionDepth: 1
    functionLinenumber: 99
    functionLinenumberEnd: 106
    functionName: mhdtl_dyn_get_size_used
    functionSourceFile: /src/mhd2/src/tests/unit/unit_hpack_tables.c
    functionUses: 0
    functionsReached:
    - MHDT_EXPECT_UINT_GE_VAL
    - mhd_dtbl_get_table_used
    - mhd_dtbl_get_table_max_size
    linkageType: ''
    returnType: size_t
    signature: size_t mhdtl_dyn_get_size_used (const struct mhd_HpackDTblContext *dyn)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: mhd_dtbl_get_table_used
      Src: /src/mhd2/src/tests/unit/unit_hpack_tables.c:112,1
    - Dst: mhd_dtbl_get_table_max_size
      Src: /src/mhd2/src/tests/unit/unit_hpack_tables.c:113,1
    - Dst: MHDT_EXPECT_UINT_GE_VAL
      Src: /src/mhd2/src/tests/unit/unit_hpack_tables.c:114,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - dyn
    argTypes:
    - struct mhd_HpackDTblContext*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 116
      start: 109
    functionDepth: 1
    functionLinenumber: 109
    functionLinenumberEnd: 116
    functionName: mhdtl_dyn_get_free
    functionSourceFile: /src/mhd2/src/tests/unit/unit_hpack_tables.c
    functionUses: 0
    functionsReached:
    - MHDT_EXPECT_UINT_GE_VAL
    - mhd_dtbl_get_table_used
    - mhd_dtbl_get_table_max_size
    linkageType: ''
    returnType: size_t
    signature: size_t mhdtl_dyn_get_free (const struct mhd_HpackDTblContext *dyn)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - dyn
    - ','
    - name
    - ','
    - val
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 121
      start: 119
    functionDepth: 0
    functionLinenumber: 119
    functionLinenumberEnd: 121
    functionName: MHDTL_DTBL_FIND_ENTRY_STR
    functionSourceFile: /src/mhd2/src/tests/unit/unit_hpack_tables.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: MHDTL_DTBL_FIND_ENTRY_STR(dyn, name, val)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - dyn
    - ','
    - name
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 124
      start: 122
    functionDepth: 0
    functionLinenumber: 122
    functionLinenumberEnd: 124
    functionName: MHDTL_DTBL_FIND_NAME_STR
    functionSourceFile: /src/mhd2/src/tests/unit/unit_hpack_tables.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: MHDTL_DTBL_FIND_NAME_STR(dyn, name)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: mhd_dtbl_get_num_entries
      Src: /src/mhd2/src/tests/unit/unit_hpack_tables.c:130,1
    - Dst: MHDT_EXPECT_FALSE_D
      Src: /src/mhd2/src/tests/unit/unit_hpack_tables.c:134,1
    - Dst: mhd_dtbl_get_entry
      Src: /src/mhd2/src/tests/unit/unit_hpack_tables.c:134,1
    - Dst: MHDT_EXPECT_TRUE_D
      Src: /src/mhd2/src/tests/unit/unit_hpack_tables.c:146,1
    - Dst: mhd_dtbl_get_entry
      Src: /src/mhd2/src/tests/unit/unit_hpack_tables.c:146,1
    - Dst: MHDT_EXPECT_TRUE_D
      Src: /src/mhd2/src/tests/unit/unit_hpack_tables.c:153,1
    - Dst: mhd_dtbl_get_entry
      Src: /src/mhd2/src/tests/unit/unit_hpack_tables.c:153,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 10
    argCount: 1
    argNames:
    - dyn
    argTypes:
    - struct mhd_HpackDTblContext*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 163
      start: 127
    functionDepth: 1
    functionLinenumber: 127
    functionLinenumberEnd: 163
    functionName: mhdtl_dyn_check_get_valid_invalid
    functionSourceFile: /src/mhd2/src/tests/unit/unit_hpack_tables.c
    functionUses: 0
    functionsReached:
    - mhd_dtbl_get_entry
    - mhd_dtbl_get_num_entries
    - MHDT_EXPECT_FALSE_D
    - MHDT_EXPECT_TRUE_D
    linkageType: ''
    returnType: int
    signature: int mhdtl_dyn_check_get_valid_invalid (const struct mhd_HpackDTblContext
      *dyn)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: MHDT_ERR_EXIT
      Src: /src/mhd2/src/tests/unit/unit_hpack_tables.c:180,1
    - Dst: MHDT_ERR_EXIT
      Src: /src/mhd2/src/tests/unit/unit_hpack_tables.c:182,1
    - Dst: MHDT_EXPECT_TRUE_D
      Src: /src/mhd2/src/tests/unit/unit_hpack_tables.c:184,1
    - Dst: mhd_dtbl_get_entry
      Src: /src/mhd2/src/tests/unit/unit_hpack_tables.c:184,1
    - Dst: MHDT_EXPECT_STRN_EQ_STR_D
      Src: /src/mhd2/src/tests/unit/unit_hpack_tables.c:190,1
    - Dst: MHDT_EXPECT_STRN_EQ_STR_D
      Src: /src/mhd2/src/tests/unit/unit_hpack_tables.c:195,1
    - Dst: MHDT_EXPECT_UINT_GT_VAL_D
      Src: /src/mhd2/src/tests/unit/unit_hpack_tables.c:207,1
    - Dst: mhd_dtbl_find_entry
      Src: /src/mhd2/src/tests/unit/unit_hpack_tables.c:207,1
    - Dst: MHDT_EXPECT_UINT_GT_VAL_D
      Src: /src/mhd2/src/tests/unit/unit_hpack_tables.c:215,1
    - Dst: mhd_dtbl_find_name
      Src: /src/mhd2/src/tests/unit/unit_hpack_tables.c:215,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 13
    argCount: 6
    argNames:
    - dyn
    - idx
    - expect_name_len
    - expect_name
    - expect_value_len
    - expect_value
    argTypes:
    - struct mhd_HpackDTblContext*
    - size_t
    - size_t
    - char*
    - size_t
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 223
      start: 167
    functionDepth: 1
    functionLinenumber: 167
    functionLinenumberEnd: 223
    functionName: mhdtl_dyn_check_entry_n_at_idx
    functionSourceFile: /src/mhd2/src/tests/unit/unit_hpack_tables.c
    functionUses: 0
    functionsReached:
    - mhd_dtbl_get_entry
    - MHDT_EXPECT_TRUE_D
    - MHDT_ERR_EXIT
    - MHDT_EXPECT_UINT_GT_VAL_D
    - MHDT_EXPECT_STRN_EQ_STR_D
    - mhd_dtbl_find_entry
    - mhd_dtbl_find_name
    linkageType: ''
    returnType: int
    signature: "int mhdtl_dyn_check_entry_n_at_idx (struct mhd_HpackDTblContext *dyn,\n
      \                               size_t idx,\n                                size_t
      expect_name_len,\n                                const char *expect_name,\n
      \                               size_t expect_value_len,\n                                const
      char *expect_value)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: mhdtl_dyn_check_entry_n_at_idx
      Src: /src/mhd2/src/tests/unit/unit_hpack_tables.c:233,1
    - Dst: strlen
      Src: /src/mhd2/src/tests/unit/unit_hpack_tables.c:235,1
    - Dst: strlen
      Src: /src/mhd2/src/tests/unit/unit_hpack_tables.c:237,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 4
    argNames:
    - dyn
    - idx
    - expect_name
    - expect_value
    argTypes:
    - struct mhd_HpackDTblContext*
    - size_t
    - char*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 239
      start: 227
    functionDepth: 2
    functionLinenumber: 227
    functionLinenumberEnd: 239
    functionName: mhdtl_dyn_check_entry_at_idx
    functionSourceFile: /src/mhd2/src/tests/unit/unit_hpack_tables.c
    functionUses: 0
    functionsReached:
    - mhdtl_dyn_check_entry_n_at_idx
    - strlen
    linkageType: ''
    returnType: int
    signature: "int mhdtl_dyn_check_entry_at_idx (struct mhd_HpackDTblContext *dyn,\n
      \                             size_t idx,\n                              const
      char *expect_name,\n                              const char *expect_value)"
  - BBCount: 20
    BranchProfiles: []
    Callsites:
    - Dst: MHDTL_HPACK_ENTRY_SIZE
      Src: /src/mhd2/src/tests/unit/unit_hpack_tables.c:260,1
    - Dst: mhd_dtbl_get_table_max_size
      Src: /src/mhd2/src/tests/unit/unit_hpack_tables.c:261,1
    - Dst: mhdtl_dyn_get_free
      Src: /src/mhd2/src/tests/unit/unit_hpack_tables.c:262,1
    - Dst: mhd_dtbl_get_num_entries
      Src: /src/mhd2/src/tests/unit/unit_hpack_tables.c:264,1
    - Dst: MHDT_ERR_EXIT
      Src: /src/mhd2/src/tests/unit/unit_hpack_tables.c:271,1
    - Dst: MHDT_EXPECT_UINT_GE_VAL
      Src: /src/mhd2/src/tests/unit/unit_hpack_tables.c:273,1
    - Dst: MHDT_EXPECT_UINT_GE_VAL_D
      Src: /src/mhd2/src/tests/unit/unit_hpack_tables.c:274,1
    - Dst: mhdtl_dyn_get_size_used
      Src: /src/mhd2/src/tests/unit/unit_hpack_tables.c:274,1
    - Dst: mhd_dtbl_get_entry
      Src: /src/mhd2/src/tests/unit/unit_hpack_tables.c:278,1
    - Dst: MHDTL_HPACK_ENTRY_SIZE
      Src: /src/mhd2/src/tests/unit/unit_hpack_tables.c:283,1
    - Dst: mhd_dtbl_get_table_max_size
      Src: /src/mhd2/src/tests/unit/unit_hpack_tables.c:284,1
    - Dst: memcpy
      Src: /src/mhd2/src/tests/unit/unit_hpack_tables.c:291,1
    - Dst: memcpy
      Src: /src/mhd2/src/tests/unit/unit_hpack_tables.c:296,1
    - Dst: mhd_dtbl_get_num_entries
      Src: /src/mhd2/src/tests/unit/unit_hpack_tables.c:305,1
    - Dst: MHDT_EXPECT_TRUE
      Src: /src/mhd2/src/tests/unit/unit_hpack_tables.c:308,1
    - Dst: mhd_dtbl_get_entry
      Src: /src/mhd2/src/tests/unit/unit_hpack_tables.c:308,1
    - Dst: memcpy
      Src: /src/mhd2/src/tests/unit/unit_hpack_tables.c:318,1
    - Dst: memcpy
      Src: /src/mhd2/src/tests/unit/unit_hpack_tables.c:323,1
    - Dst: mhd_dtbl_new_entry
      Src: /src/mhd2/src/tests/unit/unit_hpack_tables.c:333,1
    - Dst: MHDT_EXPECT_UINT_EQ_VAL_D
      Src: /src/mhd2/src/tests/unit/unit_hpack_tables.c:342,1
    - Dst: mhd_dtbl_get_num_entries
      Src: /src/mhd2/src/tests/unit/unit_hpack_tables.c:342,1
    - Dst: MHDT_EXPECT_UINT_EQ_VAL
      Src: /src/mhd2/src/tests/unit/unit_hpack_tables.c:345,1
    - Dst: mhdtl_dyn_get_free
      Src: /src/mhd2/src/tests/unit/unit_hpack_tables.c:345,1
    - Dst: mhdtl_dyn_check_entry_n_at_idx
      Src: /src/mhd2/src/tests/unit/unit_hpack_tables.c:348,1
    - Dst: MHDT_EXPECT_UINT_LE_VAL_D
      Src: /src/mhd2/src/tests/unit/unit_hpack_tables.c:359,1
    - Dst: mhd_dtbl_get_num_entries
      Src: /src/mhd2/src/tests/unit/unit_hpack_tables.c:359,1
    - Dst: MHDT_EXPECT_UINT_EQ_VAL_D
      Src: /src/mhd2/src/tests/unit/unit_hpack_tables.c:365,1
    - Dst: mhd_dtbl_get_num_entries
      Src: /src/mhd2/src/tests/unit/unit_hpack_tables.c:365,1
    - Dst: MHDT_EXPECT_UINT_EQ_VAL
      Src: /src/mhd2/src/tests/unit/unit_hpack_tables.c:368,1
    - Dst: mhdtl_dyn_get_free
      Src: /src/mhd2/src/tests/unit/unit_hpack_tables.c:368,1
    - Dst: MHDT_EXPECT_UINT_EQ_VAL
      Src: /src/mhd2/src/tests/unit/unit_hpack_tables.c:369,1
    - Dst: mhd_dtbl_get_table_max_size
      Src: /src/mhd2/src/tests/unit/unit_hpack_tables.c:369,1
    - Dst: MHDT_EXPECT_UINT_EQ_VAL_D
      Src: /src/mhd2/src/tests/unit/unit_hpack_tables.c:374,1
    - Dst: mhd_dtbl_get_num_entries
      Src: /src/mhd2/src/tests/unit/unit_hpack_tables.c:374,1
    - Dst: MHDT_EXPECT_UINT_GE_VAL_D
      Src: /src/mhd2/src/tests/unit/unit_hpack_tables.c:377,1
    - Dst: mhd_dtbl_get_num_entries
      Src: /src/mhd2/src/tests/unit/unit_hpack_tables.c:377,1
    - Dst: mhd_dtbl_get_num_entries
      Src: /src/mhd2/src/tests/unit/unit_hpack_tables.c:384,1
    - Dst: MHDT_EXPECT_UINT_EQ_VAL
      Src: /src/mhd2/src/tests/unit/unit_hpack_tables.c:385,1
    - Dst: mhdtl_dyn_get_size_used
      Src: /src/mhd2/src/tests/unit/unit_hpack_tables.c:385,1
    - Dst: MHDT_EXPECT_UINT_GE_VAL
      Src: /src/mhd2/src/tests/unit/unit_hpack_tables.c:387,1
    - Dst: mhdtl_dyn_get_size_used
      Src: /src/mhd2/src/tests/unit/unit_hpack_tables.c:387,1
    - Dst: MHDT_EXPECT_TRUE_D
      Src: /src/mhd2/src/tests/unit/unit_hpack_tables.c:390,1
    - Dst: mhd_dtbl_get_entry
      Src: /src/mhd2/src/tests/unit/unit_hpack_tables.c:390,1
    - Dst: MHDT_EXPECT_STRN_EQ_D
      Src: /src/mhd2/src/tests/unit/unit_hpack_tables.c:398,1
    - Dst: MHDT_EXPECT_STRN_EQ_D
      Src: /src/mhd2/src/tests/unit/unit_hpack_tables.c:405,1
    - Dst: MHDT_EXPECT_UINT_GT_VAL_D
      Src: /src/mhd2/src/tests/unit/unit_hpack_tables.c:413,1
    - Dst: mhd_dtbl_find_entry
      Src: /src/mhd2/src/tests/unit/unit_hpack_tables.c:413,1
    - Dst: MHDT_EXPECT_UINT_GT_VAL_D
      Src: /src/mhd2/src/tests/unit/unit_hpack_tables.c:422,1
    - Dst: mhd_dtbl_find_name
      Src: /src/mhd2/src/tests/unit/unit_hpack_tables.c:422,1
    - Dst: MHDT_EXPECT_TRUE_D
      Src: /src/mhd2/src/tests/unit/unit_hpack_tables.c:432,1
    - Dst: mhd_dtbl_get_entry
      Src: /src/mhd2/src/tests/unit/unit_hpack_tables.c:432,1
    - Dst: MHDT_EXPECT_STRN_EQ_D
      Src: /src/mhd2/src/tests/unit/unit_hpack_tables.c:437,1
    - Dst: MHDT_EXPECT_STRN_EQ_D
      Src: /src/mhd2/src/tests/unit/unit_hpack_tables.c:440,1
    - Dst: mhdtl_dyn_check_get_valid_invalid
      Src: /src/mhd2/src/tests/unit/unit_hpack_tables.c:447,1
    CyclomaticComplexity: 24
    EdgeCount: 24
    ICount: 70
    argCount: 5
    argNames:
    - dyn
    - hdr_name_len
    - hdr_name
    - hdr_value_len
    - hdr_value
    argTypes:
    - struct mhd_HpackDTblContext*
    - size_t
    - char*
    - size_t
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 450
      start: 243
    functionDepth: 2
    functionLinenumber: 243
    functionLinenumberEnd: 450
    functionName: "(3, 2) MHD_FN_PAR_IN_SIZE_ (5, 4) int\nmhdtl_dyn_add_hdr_n_with_check
      (struct mhd_HpackDTblContext *dyn,\n                                size_t hdr_name_len,\n
      \                               const char *hdr_name,\n                                size_t
      hdr_value_len,\n                                const char *hdr_value)"
    functionSourceFile: /src/mhd2/src/tests/unit/unit_hpack_tables.c
    functionUses: 0
    functionsReached:
    - MHDT_EXPECT_UINT_GE_VAL
    - MHDT_EXPECT_TRUE
    - mhdtl_dyn_check_entry_n_at_idx
    - MHDT_ERR_EXIT
    - mhd_dtbl_find_name
    - mhd_dtbl_get_entry
    - mhdtl_dyn_check_get_valid_invalid
    - MHDT_EXPECT_UINT_GT_VAL_D
    - MHDT_EXPECT_UINT_EQ_VAL_D
    - mhd_dtbl_get_num_entries
    - MHDT_EXPECT_UINT_GE_VAL_D
    - MHDT_EXPECT_TRUE_D
    - MHDTL_HPACK_ENTRY_SIZE
    - mhd_dtbl_find_entry
    - memcpy
    - mhdtl_dyn_get_free
    - mhd_dtbl_new_entry
    - MHDT_EXPECT_UINT_EQ_VAL
    - MHDT_EXPECT_STRN_EQ_D
    - mhd_dtbl_get_table_max_size
    - mhdtl_dyn_get_size_used
    - MHDT_EXPECT_UINT_LE_VAL_D
    linkageType: ''
    returnType: MHD_FN_PAR_IN_SIZE_
    signature: "MHD_FN_PAR_IN_SIZE_ (3, 2) MHD_FN_PAR_IN_SIZE_ (5, 4) int\nmhdtl_dyn_add_hdr_n_with_check
      (struct mhd_HpackDTblContext *dyn,\n                                size_t hdr_name_len,\n
      \                               const char *hdr_name,\n                                size_t
      hdr_value_len,\n                                const char *hdr_value)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: strlen
      Src: /src/mhd2/src/tests/unit/unit_hpack_tables.c:459,1
    - Dst: strlen
      Src: /src/mhd2/src/tests/unit/unit_hpack_tables.c:460,1
    - Dst: mhdtl_dyn_add_hdr_n_with_check
      Src: /src/mhd2/src/tests/unit/unit_hpack_tables.c:462,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - dyn
    - hdr_name
    - hdr_value
    argTypes:
    - struct mhd_HpackDTblContext*
    - char*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 467
      start: 454
    functionDepth: 0
    functionLinenumber: 454
    functionLinenumberEnd: 467
    functionName: "(2) MHD_FN_PAR_CSTR_ (3) int\nmhdtl_dyn_add_hdr_with_check (struct
      mhd_HpackDTblContext *dyn,\n                              const char *hdr_name,\n
      \                             const char *hdr_value)"
    functionSourceFile: /src/mhd2/src/tests/unit/unit_hpack_tables.c
    functionUses: 0
    functionsReached:
    - mhdtl_dyn_add_hdr_n_with_check
    - strlen
    linkageType: ''
    returnType: MHD_FN_PAR_CSTR_
    signature: "MHD_FN_PAR_CSTR_ (2) MHD_FN_PAR_CSTR_ (3) int\nmhdtl_dyn_add_hdr_with_check
      (struct mhd_HpackDTblContext *dyn,\n                              const char
      *hdr_name,\n                              const char *hdr_value)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: MHDT_ERR_EXIT_D
      Src: /src/mhd2/src/tests/unit/unit_hpack_tables.c:489,1
    - Dst: mhdtl_dyn_add_hdr_n_with_check
      Src: /src/mhd2/src/tests/unit/unit_hpack_tables.c:510,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 14
    argCount: 2
    argNames:
    - dyn
    - hdr_strings_size
    argTypes:
    - struct mhd_HpackDTblContext*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 515
      start: 471
    functionDepth: 1
    functionLinenumber: 471
    functionLinenumberEnd: 515
    functionName: mhdtl_dyn_add_sized_strs_with_check
    functionSourceFile: /src/mhd2/src/tests/unit/unit_hpack_tables.c
    functionUses: 0
    functionsReached:
    - mhdtl_dyn_add_hdr_n_with_check
    - MHDT_ERR_EXIT_D
    linkageType: ''
    returnType: int
    signature: "int mhdtl_dyn_add_sized_strs_with_check (struct mhd_HpackDTblContext
      *dyn,\n                                     size_t hdr_strings_size)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: MHDT_ERR_EXIT_D
      Src: /src/mhd2/src/tests/unit/unit_hpack_tables.c:524,1
    - Dst: mhdtl_dyn_add_sized_strs_with_check
      Src: /src/mhd2/src/tests/unit/unit_hpack_tables.c:526,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 2
    argNames:
    - dyn
    - entry_size
    argTypes:
    - struct mhd_HpackDTblContext*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 529
      start: 519
    functionDepth: 2
    functionLinenumber: 519
    functionLinenumberEnd: 529
    functionName: mhdtl_dyn_add_sized_entry_with_check
    functionSourceFile: /src/mhd2/src/tests/unit/unit_hpack_tables.c
    functionUses: 0
    functionsReached:
    - mhdtl_dyn_add_sized_strs_with_check
    - MHDT_ERR_EXIT_D
    linkageType: ''
    returnType: int
    signature: "int mhdtl_dyn_add_sized_entry_with_check (struct mhd_HpackDTblContext
      *dyn,\n                                      size_t entry_size)"
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: MHDT_ERR_EXIT
      Src: /src/mhd2/src/tests/unit/unit_hpack_tables.c:544,1
    - Dst: MHDT_ERR_EXIT
      Src: /src/mhd2/src/tests/unit/unit_hpack_tables.c:546,1
    - Dst: MHDT_ERR_EXIT
      Src: /src/mhd2/src/tests/unit/unit_hpack_tables.c:548,1
    - Dst: MHDT_ERR_EXIT
      Src: /src/mhd2/src/tests/unit/unit_hpack_tables.c:550,1
    - Dst: MHDT_ERR_EXIT
      Src: /src/mhd2/src/tests/unit/unit_hpack_tables.c:552,1
    - Dst: MHDT_ERR_EXIT
      Src: /src/mhd2/src/tests/unit/unit_hpack_tables.c:554,1
    - Dst: mhd_stbl_get_entry
      Src: /src/mhd2/src/tests/unit/unit_hpack_tables.c:556,1
    - Dst: MHDT_EXPECT_STRN_EQ_STR_D
      Src: /src/mhd2/src/tests/unit/unit_hpack_tables.c:560,1
    - Dst: MHDT_EXPECT_STRN_EQ_STR_D
      Src: /src/mhd2/src/tests/unit/unit_hpack_tables.c:565,1
    - Dst: MHDT_EXPECT_UINT_NE_VAL_D
      Src: /src/mhd2/src/tests/unit/unit_hpack_tables.c:576,1
    - Dst: mhd_stbl_find_entry_real
      Src: /src/mhd2/src/tests/unit/unit_hpack_tables.c:576,1
    - Dst: MHDT_EXPECT_UINT_EQ_VAL_D
      Src: /src/mhd2/src/tests/unit/unit_hpack_tables.c:583,1
    - Dst: mhd_stbl_find_entry_real
      Src: /src/mhd2/src/tests/unit/unit_hpack_tables.c:583,1
    - Dst: MHDT_EXPECT_UINT_NE_VAL_D
      Src: /src/mhd2/src/tests/unit/unit_hpack_tables.c:592,1
    - Dst: mhd_stbl_find_name_real
      Src: /src/mhd2/src/tests/unit/unit_hpack_tables.c:592,1
    - Dst: MHDT_EXPECT_UINT_LE_VAL_D
      Src: /src/mhd2/src/tests/unit/unit_hpack_tables.c:597,1
    - Dst: mhd_stbl_find_name_real
      Src: /src/mhd2/src/tests/unit/unit_hpack_tables.c:597,1
    - Dst: MHDT_EXPECT_UINT_EQ_VAL_D
      Src: /src/mhd2/src/tests/unit/unit_hpack_tables.c:606,1
    - Dst: mhd_stbl_find_entry_real
      Src: /src/mhd2/src/tests/unit/unit_hpack_tables.c:606,1
    - Dst: MHDT_EXPECT_UINT_EQ_VAL_D
      Src: /src/mhd2/src/tests/unit/unit_hpack_tables.c:614,1
    - Dst: mhd_stbl_find_name_real
      Src: /src/mhd2/src/tests/unit/unit_hpack_tables.c:614,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 25
    argCount: 5
    argNames:
    - idx
    - expect_name_len
    - expect_name
    - expect_value_len
    - expect_value
    argTypes:
    - size_t
    - size_t
    - char*
    - size_t
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 620
      start: 532
    functionDepth: 1
    functionLinenumber: 532
    functionLinenumberEnd: 620
    functionName: mhdtl_stat_check_entry_n_at_idx
    functionSourceFile: /src/mhd2/src/tests/unit/unit_hpack_tables.c
    functionUses: 0
    functionsReached:
    - mhd_stbl_get_entry
    - mhd_stbl_find_entry_real
    - MHDT_EXPECT_UINT_NE_VAL_D
    - MHDT_ERR_EXIT
    - MHDT_EXPECT_UINT_EQ_VAL_D
    - MHDT_EXPECT_STRN_EQ_STR_D
    - mhd_stbl_find_name_real
    - MHDT_EXPECT_UINT_LE_VAL_D
    linkageType: ''
    returnType: void
    signature: "void mhdtl_stat_check_entry_n_at_idx (size_t idx,\n                                 size_t
      expect_name_len,\n                                 const char *expect_name,\n
      \                                size_t expect_value_len,\n                                 const
      char *expect_value)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: mhdtl_stat_check_entry_n_at_idx
      Src: /src/mhd2/src/tests/unit/unit_hpack_tables.c:628,1
    - Dst: strlen
      Src: /src/mhd2/src/tests/unit/unit_hpack_tables.c:629,1
    - Dst: strlen
      Src: /src/mhd2/src/tests/unit/unit_hpack_tables.c:631,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - idx
    - expect_name
    - expect_value
    argTypes:
    - size_t
    - char*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 633
      start: 623
    functionDepth: 2
    functionLinenumber: 623
    functionLinenumberEnd: 633
    functionName: mhdtl_stat_check_entry_at_idx
    functionSourceFile: /src/mhd2/src/tests/unit/unit_hpack_tables.c
    functionUses: 0
    functionsReached:
    - strlen
    - mhdtl_stat_check_entry_n_at_idx
    linkageType: ''
    returnType: void
    signature: "void mhdtl_stat_check_entry_at_idx (size_t idx,\n                               const
      char *expect_name,\n                               const char *expect_value)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - name
    - ','
    - value
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 639
      start: 636
    functionDepth: 0
    functionLinenumber: 636
    functionLinenumberEnd: 639
    functionName: MHDTL_STBL_FIND_ENTRY_REAL_STR
    functionSourceFile: /src/mhd2/src/tests/unit/unit_hpack_tables.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: MHDTL_STBL_FIND_ENTRY_REAL_STR(name, value)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - name
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 641
      start: 639
    functionDepth: 0
    functionLinenumber: 639
    functionLinenumberEnd: 641
    functionName: MHDTL_STBL_FIND_NAME_REAL_STR
    functionSourceFile: /src/mhd2/src/tests/unit/unit_hpack_tables.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: MHDTL_STBL_FIND_NAME_REAL_STR(name)
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: MHDT_ERR_EXIT
      Src: /src/mhd2/src/tests/unit/unit_hpack_tables.c:659,1
    - Dst: MHDT_ERR_EXIT
      Src: /src/mhd2/src/tests/unit/unit_hpack_tables.c:661,1
    - Dst: MHDT_ERR_EXIT_D
      Src: /src/mhd2/src/tests/unit/unit_hpack_tables.c:663,1
    - Dst: MHDT_EXPECT_TRUE_D
      Src: /src/mhd2/src/tests/unit/unit_hpack_tables.c:666,1
    - Dst: mhd_htbl_get_entry
      Src: /src/mhd2/src/tests/unit/unit_hpack_tables.c:666,1
    - Dst: MHDT_EXPECT_STRN_EQ_STR_D
      Src: /src/mhd2/src/tests/unit/unit_hpack_tables.c:672,1
    - Dst: MHDT_EXPECT_STRN_EQ_STR_D
      Src: /src/mhd2/src/tests/unit/unit_hpack_tables.c:677,1
    - Dst: mhd_htbl_find_entry_real
      Src: /src/mhd2/src/tests/unit/unit_hpack_tables.c:688,1
    - Dst: mhd_htbl_find_name_real
      Src: /src/mhd2/src/tests/unit/unit_hpack_tables.c:694,1
    - Dst: MHDT_EXPECT_UINT_NE_VAL_D
      Src: /src/mhd2/src/tests/unit/unit_hpack_tables.c:701,1
    - Dst: MHDT_EXPECT_UINT_LE_VAL_D
      Src: /src/mhd2/src/tests/unit/unit_hpack_tables.c:705,1
    - Dst: mhd_dtbl_get_num_entries
      Src: /src/mhd2/src/tests/unit/unit_hpack_tables.c:707,1
    - Dst: MHDT_EXPECT_UINT_EQ_VAL_D
      Src: /src/mhd2/src/tests/unit/unit_hpack_tables.c:711,1
    - Dst: MHDT_EXPECT_UINT_NE_VAL_D
      Src: /src/mhd2/src/tests/unit/unit_hpack_tables.c:718,1
    - Dst: MHDT_EXPECT_UINT_LE_VAL_D
      Src: /src/mhd2/src/tests/unit/unit_hpack_tables.c:722,1
    - Dst: mhd_dtbl_get_num_entries
      Src: /src/mhd2/src/tests/unit/unit_hpack_tables.c:724,1
    - Dst: MHDT_EXPECT_UINT_LE_VAL_D
      Src: /src/mhd2/src/tests/unit/unit_hpack_tables.c:730,1
    - Dst: MHDT_EXPECT_UINT_EQ_VAL_D
      Src: /src/mhd2/src/tests/unit/unit_hpack_tables.c:738,1
    - Dst: MHDT_EXPECT_UINT_EQ_VAL_D
      Src: /src/mhd2/src/tests/unit/unit_hpack_tables.c:743,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 28
    argCount: 6
    argNames:
    - dyn
    - idx
    - expect_name_len
    - expect_name
    - expect_value_len
    - expect_value
    argTypes:
    - struct mhd_HpackDTblContext*
    - size_t
    - size_t
    - char*
    - size_t
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 750
      start: 644
    functionDepth: 1
    functionLinenumber: 644
    functionLinenumberEnd: 750
    functionName: mhdtl_comb_check_entry_n_at_idx
    functionSourceFile: /src/mhd2/src/tests/unit/unit_hpack_tables.c
    functionUses: 0
    functionsReached:
    - mhd_dtbl_get_num_entries
    - mhd_htbl_get_entry
    - MHDT_ERR_EXIT_D
    - MHDT_EXPECT_UINT_NE_VAL_D
    - mhd_htbl_find_entry_real
    - mhd_htbl_find_name_real
    - MHDT_EXPECT_TRUE_D
    - MHDT_ERR_EXIT
    - MHDT_EXPECT_UINT_EQ_VAL_D
    - MHDT_EXPECT_STRN_EQ_STR_D
    - MHDT_EXPECT_UINT_LE_VAL_D
    linkageType: ''
    returnType: int
    signature: "int mhdtl_comb_check_entry_n_at_idx (struct mhd_HpackDTblContext *dyn,\n
      \                                size_t idx,\n                                 size_t
      expect_name_len,\n                                 const char *expect_name,\n
      \                                size_t expect_value_len,\n                                 const
      char *expect_value)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: mhdtl_comb_check_entry_n_at_idx
      Src: /src/mhd2/src/tests/unit/unit_hpack_tables.c:760,1
    - Dst: strlen
      Src: /src/mhd2/src/tests/unit/unit_hpack_tables.c:762,1
    - Dst: strlen
      Src: /src/mhd2/src/tests/unit/unit_hpack_tables.c:764,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 4
    argNames:
    - dyn
    - idx
    - expect_name
    - expect_value
    argTypes:
    - struct mhd_HpackDTblContext*
    - size_t
    - char*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 766
      start: 754
    functionDepth: 2
    functionLinenumber: 754
    functionLinenumberEnd: 766
    functionName: mhdtl_comb_check_entry_at_idx
    functionSourceFile: /src/mhd2/src/tests/unit/unit_hpack_tables.c
    functionUses: 0
    functionsReached:
    - strlen
    - mhdtl_comb_check_entry_n_at_idx
    linkageType: ''
    returnType: int
    signature: "int mhdtl_comb_check_entry_at_idx (struct mhd_HpackDTblContext *dyn,\n
      \                              size_t idx,\n                               const
      char *expect_name,\n                               const char *expect_value)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - dyn
    - ','
    - name
    - ','
    - value
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 772
      start: 769
    functionDepth: 0
    functionLinenumber: 769
    functionLinenumberEnd: 772
    functionName: MHDTL_HTBL_FIND_ENTRY_REAL_STR
    functionSourceFile: /src/mhd2/src/tests/unit/unit_hpack_tables.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: MHDTL_HTBL_FIND_ENTRY_REAL_STR(dyn, name, value)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - dyn
    - ','
    - name
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 774
      start: 772
    functionDepth: 0
    functionLinenumber: 772
    functionLinenumberEnd: 774
    functionName: MHDTL_HTBL_FIND_NAME_REAL_STR
    functionSourceFile: /src/mhd2/src/tests/unit/unit_hpack_tables.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: MHDTL_HTBL_FIND_NAME_REAL_STR(dyn, name)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: MHDT_EXPECT_PTR_NONNULL_D
      Src: /src/mhd2/src/tests/unit/unit_hpack_tables.c:785,1
    - Dst: mhd_dtbl_create
      Src: /src/mhd2/src/tests/unit/unit_hpack_tables.c:786,1
    - Dst: MHDT_TEST_RESULT
      Src: /src/mhd2/src/tests/unit/unit_hpack_tables.c:789,1
    - Dst: MHDT_EXPECT_UINT_EQ_VAL_D
      Src: /src/mhd2/src/tests/unit/unit_hpack_tables.c:791,1
    - Dst: mhd_dtbl_get_num_entries
      Src: /src/mhd2/src/tests/unit/unit_hpack_tables.c:791,1
    - Dst: mhdtl_dyn_check_get_valid_invalid
      Src: /src/mhd2/src/tests/unit/unit_hpack_tables.c:793,1
    - Dst: mhd_dtbl_destroy
      Src: /src/mhd2/src/tests/unit/unit_hpack_tables.c:795,1
    - Dst: MHDT_TEST_RESULT
      Src: /src/mhd2/src/tests/unit/unit_hpack_tables.c:797,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 798
      start: 780
    functionDepth: 2
    functionLinenumber: 780
    functionLinenumberEnd: 798
    functionName: test_dyn_create_destroy
    functionSourceFile: /src/mhd2/src/tests/unit/unit_hpack_tables.c
    functionUses: 0
    functionsReached:
    - mhd_dtbl_get_num_entries
    - mhdtl_dyn_check_get_valid_invalid
    - MHDT_TEST_RESULT
    - mhd_dtbl_destroy
    - MHDT_EXPECT_PTR_NONNULL_D
    - MHDT_EXPECT_UINT_EQ_VAL_D
    - mhd_dtbl_create
    linkageType: ''
    returnType: int
    signature: int test_dyn_create_destroy (void)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: MHDT_EXPECT_PTR_NONNULL_D
      Src: /src/mhd2/src/tests/unit/unit_hpack_tables.c:806,1
    - Dst: mhd_dtbl_create
      Src: /src/mhd2/src/tests/unit/unit_hpack_tables.c:806,1
    - Dst: MHDT_TEST_RESULT
      Src: /src/mhd2/src/tests/unit/unit_hpack_tables.c:809,1
    - Dst: MHDT_EXPECT_UINT_EQ_VAL_D
      Src: /src/mhd2/src/tests/unit/unit_hpack_tables.c:811,1
    - Dst: mhd_dtbl_get_num_entries
      Src: /src/mhd2/src/tests/unit/unit_hpack_tables.c:811,1
    - Dst: mhdtl_dyn_check_get_valid_invalid
      Src: /src/mhd2/src/tests/unit/unit_hpack_tables.c:813,1
    - Dst: mhd_dtbl_destroy
      Src: /src/mhd2/src/tests/unit/unit_hpack_tables.c:815,1
    - Dst: MHDT_EXPECT_PTR_NONNULL_D
      Src: /src/mhd2/src/tests/unit/unit_hpack_tables.c:817,1
    - Dst: mhd_dtbl_create
      Src: /src/mhd2/src/tests/unit/unit_hpack_tables.c:817,1
    - Dst: MHDT_TEST_RESULT
      Src: /src/mhd2/src/tests/unit/unit_hpack_tables.c:820,1
    - Dst: mhdtl_dyn_add_sized_entry_with_check
      Src: /src/mhd2/src/tests/unit/unit_hpack_tables.c:823,1
    - Dst: mhdtl_dyn_add_sized_entry_with_check
      Src: /src/mhd2/src/tests/unit/unit_hpack_tables.c:824,1
    - Dst: mhdtl_dyn_check_get_valid_invalid
      Src: /src/mhd2/src/tests/unit/unit_hpack_tables.c:825,1
    - Dst: mhd_dtbl_destroy
      Src: /src/mhd2/src/tests/unit/unit_hpack_tables.c:827,1
    - Dst: MHDT_TEST_RESULT
      Src: /src/mhd2/src/tests/unit/unit_hpack_tables.c:829,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 15
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 830
      start: 801
    functionDepth: 3
    functionLinenumber: 801
    functionLinenumberEnd: 830
    functionName: test_dyn_create_destroy_larger
    functionSourceFile: /src/mhd2/src/tests/unit/unit_hpack_tables.c
    functionUses: 0
    functionsReached:
    - mhd_dtbl_get_num_entries
    - mhdtl_dyn_check_get_valid_invalid
    - MHDT_TEST_RESULT
    - mhd_dtbl_destroy
    - MHDT_EXPECT_PTR_NONNULL_D
    - MHDT_EXPECT_UINT_EQ_VAL_D
    - mhdtl_dyn_add_sized_entry_with_check
    - mhd_dtbl_create
    linkageType: ''
    returnType: int
    signature: int test_dyn_create_destroy_larger (void)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: MHDT_EXPECT_PTR_NONNULL_D
      Src: /src/mhd2/src/tests/unit/unit_hpack_tables.c:838,1
    - Dst: mhd_dtbl_create
      Src: /src/mhd2/src/tests/unit/unit_hpack_tables.c:838,1
    - Dst: MHDT_TEST_RESULT
      Src: /src/mhd2/src/tests/unit/unit_hpack_tables.c:841,1
    - Dst: mhdtl_dyn_add_hdr_with_check
      Src: /src/mhd2/src/tests/unit/unit_hpack_tables.c:843,1
    - Dst: mhdtl_dyn_add_hdr_with_check
      Src: /src/mhd2/src/tests/unit/unit_hpack_tables.c:844,1
    - Dst: mhdtl_dyn_add_hdr_with_check
      Src: /src/mhd2/src/tests/unit/unit_hpack_tables.c:845,1
    - Dst: mhd_dtbl_destroy
      Src: /src/mhd2/src/tests/unit/unit_hpack_tables.c:848,1
    - Dst: MHDT_TEST_RESULT
      Src: /src/mhd2/src/tests/unit/unit_hpack_tables.c:850,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 9
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 851
      start: 833
    functionDepth: 1
    functionLinenumber: 833
    functionLinenumberEnd: 851
    functionName: test_dyn_add_three
    functionSourceFile: /src/mhd2/src/tests/unit/unit_hpack_tables.c
    functionUses: 0
    functionsReached:
    - MHDT_TEST_RESULT
    - mhd_dtbl_destroy
    - MHDT_EXPECT_PTR_NONNULL_D
    - mhdtl_dyn_add_hdr_with_check
    - mhd_dtbl_create
    linkageType: ''
    returnType: int
    signature: int test_dyn_add_three (void)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: MHDT_EXPECT_PTR_NONNULL_D
      Src: /src/mhd2/src/tests/unit/unit_hpack_tables.c:859,1
    - Dst: mhd_dtbl_create
      Src: /src/mhd2/src/tests/unit/unit_hpack_tables.c:859,1
    - Dst: MHDT_TEST_RESULT
      Src: /src/mhd2/src/tests/unit/unit_hpack_tables.c:862,1
    - Dst: mhdtl_dyn_add_hdr_with_check
      Src: /src/mhd2/src/tests/unit/unit_hpack_tables.c:864,1
    - Dst: mhdtl_dyn_add_hdr_with_check
      Src: /src/mhd2/src/tests/unit/unit_hpack_tables.c:865,1
    - Dst: mhdtl_dyn_add_hdr_with_check
      Src: /src/mhd2/src/tests/unit/unit_hpack_tables.c:866,1
    - Dst: mhd_dtbl_destroy
      Src: /src/mhd2/src/tests/unit/unit_hpack_tables.c:868,1
    - Dst: MHDT_TEST_RESULT
      Src: /src/mhd2/src/tests/unit/unit_hpack_tables.c:870,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 9
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 871
      start: 854
    functionDepth: 1
    functionLinenumber: 854
    functionLinenumberEnd: 871
    functionName: test_dyn_add_empty
    functionSourceFile: /src/mhd2/src/tests/unit/unit_hpack_tables.c
    functionUses: 0
    functionsReached:
    - MHDT_TEST_RESULT
    - mhd_dtbl_destroy
    - MHDT_EXPECT_PTR_NONNULL_D
    - mhdtl_dyn_add_hdr_with_check
    - mhd_dtbl_create
    linkageType: ''
    returnType: int
    signature: int test_dyn_add_empty (void)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: MHDT_EXPECT_PTR_NONNULL_D
      Src: /src/mhd2/src/tests/unit/unit_hpack_tables.c:879,1
    - Dst: mhd_dtbl_create
      Src: /src/mhd2/src/tests/unit/unit_hpack_tables.c:879,1
    - Dst: MHDT_TEST_RESULT
      Src: /src/mhd2/src/tests/unit/unit_hpack_tables.c:882,1
    - Dst: mhdtl_dyn_add_hdr_with_check
      Src: /src/mhd2/src/tests/unit/unit_hpack_tables.c:884,1
    - Dst: mhdtl_dyn_add_hdr_with_check
      Src: /src/mhd2/src/tests/unit/unit_hpack_tables.c:885,1
    - Dst: mhdtl_dyn_add_hdr_with_check
      Src: /src/mhd2/src/tests/unit/unit_hpack_tables.c:886,1
    - Dst: mhdtl_dyn_add_hdr_with_check
      Src: /src/mhd2/src/tests/unit/unit_hpack_tables.c:888,1
    - Dst: mhdtl_dyn_add_hdr_with_check
      Src: /src/mhd2/src/tests/unit/unit_hpack_tables.c:889,1
    - Dst: mhd_dtbl_destroy
      Src: /src/mhd2/src/tests/unit/unit_hpack_tables.c:891,1
    - Dst: MHDT_TEST_RESULT
      Src: /src/mhd2/src/tests/unit/unit_hpack_tables.c:893,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 11
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 894
      start: 874
    functionDepth: 1
    functionLinenumber: 874
    functionLinenumberEnd: 894
    functionName: test_dyn_add_evict_simple
    functionSourceFile: /src/mhd2/src/tests/unit/unit_hpack_tables.c
    functionUses: 0
    functionsReached:
    - MHDT_TEST_RESULT
    - mhd_dtbl_destroy
    - MHDT_EXPECT_PTR_NONNULL_D
    - mhdtl_dyn_add_hdr_with_check
    - mhd_dtbl_create
    linkageType: ''
    returnType: int
    signature: int test_dyn_add_evict_simple (void)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: MHDT_EXPECT_PTR_NONNULL_D
      Src: /src/mhd2/src/tests/unit/unit_hpack_tables.c:902,1
    - Dst: mhd_dtbl_create
      Src: /src/mhd2/src/tests/unit/unit_hpack_tables.c:902,1
    - Dst: MHDT_TEST_RESULT
      Src: /src/mhd2/src/tests/unit/unit_hpack_tables.c:905,1
    - Dst: mhdtl_dyn_add_hdr_with_check
      Src: /src/mhd2/src/tests/unit/unit_hpack_tables.c:954,1
    - Dst: mhdtl_dyn_add_hdr_with_check
      Src: /src/mhd2/src/tests/unit/unit_hpack_tables.c:955,1
    - Dst: mhdtl_dyn_add_hdr_with_check
      Src: /src/mhd2/src/tests/unit/unit_hpack_tables.c:956,1
    - Dst: mhdtl_dyn_add_hdr_with_check
      Src: /src/mhd2/src/tests/unit/unit_hpack_tables.c:957,1
    - Dst: MHDT_EXPECT_UINT_EQ_VAL
      Src: /src/mhd2/src/tests/unit/unit_hpack_tables.c:961,1
    - Dst: mhdtl_dyn_get_size_used
      Src: /src/mhd2/src/tests/unit/unit_hpack_tables.c:961,1
    - Dst: MHDT_EXPECT_UINT_EQ_VAL
      Src: /src/mhd2/src/tests/unit/unit_hpack_tables.c:962,1
    - Dst: mhd_dtbl_get_num_entries
      Src: /src/mhd2/src/tests/unit/unit_hpack_tables.c:962,1
    - Dst: mhdtl_dyn_check_entry_at_idx
      Src: /src/mhd2/src/tests/unit/unit_hpack_tables.c:964,1
    - Dst: mhdtl_dyn_check_entry_at_idx
      Src: /src/mhd2/src/tests/unit/unit_hpack_tables.c:967,1
    - Dst: mhdtl_dyn_check_entry_at_idx
      Src: /src/mhd2/src/tests/unit/unit_hpack_tables.c:970,1
    - Dst: mhdtl_dyn_check_entry_at_idx
      Src: /src/mhd2/src/tests/unit/unit_hpack_tables.c:973,1
    - Dst: mhdtl_dyn_add_hdr_with_check
      Src: /src/mhd2/src/tests/unit/unit_hpack_tables.c:977,1
    - Dst: MHDT_EXPECT_UINT_EQ_VAL
      Src: /src/mhd2/src/tests/unit/unit_hpack_tables.c:979,1
    - Dst: mhdtl_dyn_get_size_used
      Src: /src/mhd2/src/tests/unit/unit_hpack_tables.c:979,1
    - Dst: MHDT_EXPECT_UINT_EQ_VAL
      Src: /src/mhd2/src/tests/unit/unit_hpack_tables.c:980,1
    - Dst: mhd_dtbl_get_num_entries
      Src: /src/mhd2/src/tests/unit/unit_hpack_tables.c:980,1
    - Dst: mhdtl_dyn_check_entry_at_idx
      Src: /src/mhd2/src/tests/unit/unit_hpack_tables.c:982,1
    - Dst: mhdtl_dyn_check_entry_at_idx
      Src: /src/mhd2/src/tests/unit/unit_hpack_tables.c:985,1
    - Dst: mhdtl_dyn_check_entry_at_idx
      Src: /src/mhd2/src/tests/unit/unit_hpack_tables.c:988,1
    - Dst: mhdtl_dyn_check_entry_at_idx
      Src: /src/mhd2/src/tests/unit/unit_hpack_tables.c:991,1
    - Dst: mhdtl_dyn_add_hdr_with_check
      Src: /src/mhd2/src/tests/unit/unit_hpack_tables.c:995,1
    - Dst: MHDT_EXPECT_UINT_EQ_VAL
      Src: /src/mhd2/src/tests/unit/unit_hpack_tables.c:997,1
    - Dst: mhdtl_dyn_get_size_used
      Src: /src/mhd2/src/tests/unit/unit_hpack_tables.c:997,1
    - Dst: MHDT_EXPECT_UINT_EQ_VAL
      Src: /src/mhd2/src/tests/unit/unit_hpack_tables.c:998,1
    - Dst: mhd_dtbl_get_num_entries
      Src: /src/mhd2/src/tests/unit/unit_hpack_tables.c:998,1
    - Dst: mhdtl_dyn_check_entry_at_idx
      Src: /src/mhd2/src/tests/unit/unit_hpack_tables.c:1000,1
    - Dst: mhdtl_dyn_check_entry_at_idx
      Src: /src/mhd2/src/tests/unit/unit_hpack_tables.c:1003,1
    - Dst: mhdtl_dyn_check_entry_at_idx
      Src: /src/mhd2/src/tests/unit/unit_hpack_tables.c:1006,1
    - Dst: mhdtl_dyn_check_entry_at_idx
      Src: /src/mhd2/src/tests/unit/unit_hpack_tables.c:1009,1
    - Dst: mhdtl_dyn_add_hdr_with_check
      Src: /src/mhd2/src/tests/unit/unit_hpack_tables.c:1013,1
    - Dst: MHDT_EXPECT_UINT_EQ_VAL
      Src: /src/mhd2/src/tests/unit/unit_hpack_tables.c:1015,1
    - Dst: mhdtl_dyn_get_size_used
      Src: /src/mhd2/src/tests/unit/unit_hpack_tables.c:1015,1
    - Dst: MHDT_EXPECT_UINT_EQ_VAL
      Src: /src/mhd2/src/tests/unit/unit_hpack_tables.c:1016,1
    - Dst: mhd_dtbl_get_num_entries
      Src: /src/mhd2/src/tests/unit/unit_hpack_tables.c:1016,1
    - Dst: mhdtl_dyn_check_entry_at_idx
      Src: /src/mhd2/src/tests/unit/unit_hpack_tables.c:1018,1
    - Dst: mhdtl_dyn_check_entry_at_idx
      Src: /src/mhd2/src/tests/unit/unit_hpack_tables.c:1021,1
    - Dst: mhdtl_dyn_check_entry_at_idx
      Src: /src/mhd2/src/tests/unit/unit_hpack_tables.c:1024,1
    - Dst: mhdtl_dyn_check_entry_at_idx
      Src: /src/mhd2/src/tests/unit/unit_hpack_tables.c:1027,1
    - Dst: mhdtl_dyn_add_hdr_with_check
      Src: /src/mhd2/src/tests/unit/unit_hpack_tables.c:1031,1
    - Dst: MHDT_EXPECT_UINT_EQ_VAL
      Src: /src/mhd2/src/tests/unit/unit_hpack_tables.c:1033,1
    - Dst: mhdtl_dyn_get_size_used
      Src: /src/mhd2/src/tests/unit/unit_hpack_tables.c:1033,1
    - Dst: MHDT_EXPECT_UINT_EQ_VAL
      Src: /src/mhd2/src/tests/unit/unit_hpack_tables.c:1034,1
    - Dst: mhd_dtbl_get_num_entries
      Src: /src/mhd2/src/tests/unit/unit_hpack_tables.c:1034,1
    - Dst: mhdtl_dyn_check_entry_at_idx
      Src: /src/mhd2/src/tests/unit/unit_hpack_tables.c:1036,1
    - Dst: mhdtl_dyn_check_entry_at_idx
      Src: /src/mhd2/src/tests/unit/unit_hpack_tables.c:1039,1
    - Dst: mhdtl_dyn_check_entry_at_idx
      Src: /src/mhd2/src/tests/unit/unit_hpack_tables.c:1042,1
    - Dst: mhdtl_dyn_check_entry_at_idx
      Src: /src/mhd2/src/tests/unit/unit_hpack_tables.c:1045,1
    - Dst: mhdtl_dyn_add_hdr_with_check
      Src: /src/mhd2/src/tests/unit/unit_hpack_tables.c:1049,1
    - Dst: MHDT_EXPECT_UINT_EQ_VAL
      Src: /src/mhd2/src/tests/unit/unit_hpack_tables.c:1051,1
    - Dst: mhdtl_dyn_get_size_used
      Src: /src/mhd2/src/tests/unit/unit_hpack_tables.c:1051,1
    - Dst: MHDT_EXPECT_UINT_EQ_VAL
      Src: /src/mhd2/src/tests/unit/unit_hpack_tables.c:1052,1
    - Dst: mhd_dtbl_get_num_entries
      Src: /src/mhd2/src/tests/unit/unit_hpack_tables.c:1052,1
    - Dst: mhdtl_dyn_check_entry_at_idx
      Src: /src/mhd2/src/tests/unit/unit_hpack_tables.c:1054,1
    - Dst: mhdtl_dyn_check_entry_at_idx
      Src: /src/mhd2/src/tests/unit/unit_hpack_tables.c:1057,1
    - Dst: mhdtl_dyn_add_hdr_with_check
      Src: /src/mhd2/src/tests/unit/unit_hpack_tables.c:1061,1
    - Dst: MHDT_EXPECT_UINT_EQ_VAL
      Src: /src/mhd2/src/tests/unit/unit_hpack_tables.c:1063,1
    - Dst: mhdtl_dyn_get_size_used
      Src: /src/mhd2/src/tests/unit/unit_hpack_tables.c:1063,1
    - Dst: MHDT_EXPECT_UINT_EQ_VAL
      Src: /src/mhd2/src/tests/unit/unit_hpack_tables.c:1064,1
    - Dst: mhd_dtbl_get_num_entries
      Src: /src/mhd2/src/tests/unit/unit_hpack_tables.c:1064,1
    - Dst: mhdtl_dyn_check_entry_at_idx
      Src: /src/mhd2/src/tests/unit/unit_hpack_tables.c:1066,1
    - Dst: mhdtl_dyn_add_hdr_with_check
      Src: /src/mhd2/src/tests/unit/unit_hpack_tables.c:1070,1
    - Dst: MHDT_EXPECT_UINT_EQ_VAL
      Src: /src/mhd2/src/tests/unit/unit_hpack_tables.c:1072,1
    - Dst: mhdtl_dyn_get_size_used
      Src: /src/mhd2/src/tests/unit/unit_hpack_tables.c:1072,1
    - Dst: MHDT_EXPECT_UINT_EQ_VAL
      Src: /src/mhd2/src/tests/unit/unit_hpack_tables.c:1073,1
    - Dst: mhd_dtbl_get_num_entries
      Src: /src/mhd2/src/tests/unit/unit_hpack_tables.c:1073,1
    - Dst: mhdtl_dyn_check_entry_at_idx
      Src: /src/mhd2/src/tests/unit/unit_hpack_tables.c:1075,1
    - Dst: mhdtl_dyn_check_entry_at_idx
      Src: /src/mhd2/src/tests/unit/unit_hpack_tables.c:1078,1
    - Dst: mhdtl_dyn_add_hdr_with_check
      Src: /src/mhd2/src/tests/unit/unit_hpack_tables.c:1082,1
    - Dst: MHDT_EXPECT_UINT_EQ_VAL
      Src: /src/mhd2/src/tests/unit/unit_hpack_tables.c:1084,1
    - Dst: mhdtl_dyn_get_size_used
      Src: /src/mhd2/src/tests/unit/unit_hpack_tables.c:1084,1
    - Dst: MHDT_EXPECT_UINT_EQ_VAL
      Src: /src/mhd2/src/tests/unit/unit_hpack_tables.c:1085,1
    - Dst: mhd_dtbl_get_num_entries
      Src: /src/mhd2/src/tests/unit/unit_hpack_tables.c:1085,1
    - Dst: mhdtl_dyn_check_entry_at_idx
      Src: /src/mhd2/src/tests/unit/unit_hpack_tables.c:1087,1
    - Dst: mhdtl_dyn_check_entry_at_idx
      Src: /src/mhd2/src/tests/unit/unit_hpack_tables.c:1090,1
    - Dst: mhdtl_dyn_add_hdr_with_check
      Src: /src/mhd2/src/tests/unit/unit_hpack_tables.c:1094,1
    - Dst: MHDT_EXPECT_UINT_EQ_VAL
      Src: /src/mhd2/src/tests/unit/unit_hpack_tables.c:1096,1
    - Dst: mhdtl_dyn_get_size_used
      Src: /src/mhd2/src/tests/unit/unit_hpack_tables.c:1096,1
    - Dst: MHDT_EXPECT_UINT_EQ_VAL
      Src: /src/mhd2/src/tests/unit/unit_hpack_tables.c:1097,1
    - Dst: mhd_dtbl_get_num_entries
      Src: /src/mhd2/src/tests/unit/unit_hpack_tables.c:1097,1
    - Dst: mhdtl_dyn_check_entry_at_idx
      Src: /src/mhd2/src/tests/unit/unit_hpack_tables.c:1099,1
    - Dst: mhdtl_dyn_check_entry_at_idx
      Src: /src/mhd2/src/tests/unit/unit_hpack_tables.c:1102,1
    - Dst: mhdtl_dyn_check_entry_at_idx
      Src: /src/mhd2/src/tests/unit/unit_hpack_tables.c:1105,1
    - Dst: mhdtl_dyn_add_hdr_with_check
      Src: /src/mhd2/src/tests/unit/unit_hpack_tables.c:1109,1
    - Dst: MHDT_EXPECT_UINT_EQ_VAL
      Src: /src/mhd2/src/tests/unit/unit_hpack_tables.c:1111,1
    - Dst: mhdtl_dyn_get_size_used
      Src: /src/mhd2/src/tests/unit/unit_hpack_tables.c:1111,1
    - Dst: MHDT_EXPECT_UINT_EQ_VAL
      Src: /src/mhd2/src/tests/unit/unit_hpack_tables.c:1112,1
    - Dst: mhd_dtbl_get_num_entries
      Src: /src/mhd2/src/tests/unit/unit_hpack_tables.c:1112,1
    - Dst: mhdtl_dyn_check_entry_at_idx
      Src: /src/mhd2/src/tests/unit/unit_hpack_tables.c:1114,1
    - Dst: mhdtl_dyn_check_entry_at_idx
      Src: /src/mhd2/src/tests/unit/unit_hpack_tables.c:1117,1
    - Dst: mhdtl_dyn_check_entry_at_idx
      Src: /src/mhd2/src/tests/unit/unit_hpack_tables.c:1120,1
    - Dst: mhdtl_dyn_check_entry_at_idx
      Src: /src/mhd2/src/tests/unit/unit_hpack_tables.c:1123,1
    - Dst: mhdtl_dyn_add_hdr_with_check
      Src: /src/mhd2/src/tests/unit/unit_hpack_tables.c:1127,1
    - Dst: MHDT_EXPECT_UINT_EQ_VAL
      Src: /src/mhd2/src/tests/unit/unit_hpack_tables.c:1129,1
    - Dst: mhdtl_dyn_get_size_used
      Src: /src/mhd2/src/tests/unit/unit_hpack_tables.c:1129,1
    - Dst: MHDT_EXPECT_UINT_EQ_VAL
      Src: /src/mhd2/src/tests/unit/unit_hpack_tables.c:1130,1
    - Dst: mhd_dtbl_get_num_entries
      Src: /src/mhd2/src/tests/unit/unit_hpack_tables.c:1130,1
    - Dst: mhdtl_dyn_check_entry_at_idx
      Src: /src/mhd2/src/tests/unit/unit_hpack_tables.c:1132,1
    - Dst: mhdtl_dyn_check_entry_at_idx
      Src: /src/mhd2/src/tests/unit/unit_hpack_tables.c:1135,1
    - Dst: mhdtl_dyn_check_entry_at_idx
      Src: /src/mhd2/src/tests/unit/unit_hpack_tables.c:1138,1
    - Dst: mhdtl_dyn_check_entry_at_idx
      Src: /src/mhd2/src/tests/unit/unit_hpack_tables.c:1141,1
    - Dst: mhdtl_dyn_check_entry_at_idx
      Src: /src/mhd2/src/tests/unit/unit_hpack_tables.c:1144,1
    - Dst: mhdtl_dyn_add_hdr_with_check
      Src: /src/mhd2/src/tests/unit/unit_hpack_tables.c:1148,1
    - Dst: MHDT_EXPECT_UINT_EQ_VAL
      Src: /src/mhd2/src/tests/unit/unit_hpack_tables.c:1150,1
    - Dst: mhdtl_dyn_get_size_used
      Src: /src/mhd2/src/tests/unit/unit_hpack_tables.c:1150,1
    - Dst: MHDT_EXPECT_UINT_EQ_VAL
      Src: /src/mhd2/src/tests/unit/unit_hpack_tables.c:1151,1
    - Dst: mhd_dtbl_get_num_entries
      Src: /src/mhd2/src/tests/unit/unit_hpack_tables.c:1151,1
    - Dst: mhdtl_dyn_check_entry_at_idx
      Src: /src/mhd2/src/tests/unit/unit_hpack_tables.c:1153,1
    - Dst: mhdtl_dyn_check_entry_at_idx
      Src: /src/mhd2/src/tests/unit/unit_hpack_tables.c:1156,1
    - Dst: mhdtl_dyn_check_entry_at_idx
      Src: /src/mhd2/src/tests/unit/unit_hpack_tables.c:1159,1
    - Dst: mhdtl_dyn_check_entry_at_idx
      Src: /src/mhd2/src/tests/unit/unit_hpack_tables.c:1162,1
    - Dst: mhdtl_dyn_check_entry_at_idx
      Src: /src/mhd2/src/tests/unit/unit_hpack_tables.c:1165,1
    - Dst: mhdtl_dyn_check_entry_at_idx
      Src: /src/mhd2/src/tests/unit/unit_hpack_tables.c:1168,1
    - Dst: mhdtl_dyn_add_hdr_with_check
      Src: /src/mhd2/src/tests/unit/unit_hpack_tables.c:1172,1
    - Dst: MHDT_EXPECT_UINT_EQ_VAL
      Src: /src/mhd2/src/tests/unit/unit_hpack_tables.c:1174,1
    - Dst: mhdtl_dyn_get_size_used
      Src: /src/mhd2/src/tests/unit/unit_hpack_tables.c:1174,1
    - Dst: MHDT_EXPECT_UINT_EQ_VAL
      Src: /src/mhd2/src/tests/unit/unit_hpack_tables.c:1175,1
    - Dst: mhd_dtbl_get_num_entries
      Src: /src/mhd2/src/tests/unit/unit_hpack_tables.c:1175,1
    - Dst: mhdtl_dyn_check_entry_at_idx
      Src: /src/mhd2/src/tests/unit/unit_hpack_tables.c:1177,1
    - Dst: mhdtl_dyn_check_entry_at_idx
      Src: /src/mhd2/src/tests/unit/unit_hpack_tables.c:1180,1
    - Dst: mhdtl_dyn_check_entry_at_idx
      Src: /src/mhd2/src/tests/unit/unit_hpack_tables.c:1183,1
    - Dst: mhdtl_dyn_check_entry_at_idx
      Src: /src/mhd2/src/tests/unit/unit_hpack_tables.c:1186,1
    - Dst: mhdtl_dyn_check_entry_at_idx
      Src: /src/mhd2/src/tests/unit/unit_hpack_tables.c:1189,1
    - Dst: mhdtl_dyn_check_entry_at_idx
      Src: /src/mhd2/src/tests/unit/unit_hpack_tables.c:1192,1
    - Dst: mhdtl_dyn_check_entry_at_idx
      Src: /src/mhd2/src/tests/unit/unit_hpack_tables.c:1195,1
    - Dst: mhdtl_dyn_add_hdr_with_check
      Src: /src/mhd2/src/tests/unit/unit_hpack_tables.c:1199,1
    - Dst: MHDT_EXPECT_UINT_EQ_VAL
      Src: /src/mhd2/src/tests/unit/unit_hpack_tables.c:1201,1
    - Dst: mhdtl_dyn_get_size_used
      Src: /src/mhd2/src/tests/unit/unit_hpack_tables.c:1201,1
    - Dst: MHDT_EXPECT_UINT_EQ_VAL
      Src: /src/mhd2/src/tests/unit/unit_hpack_tables.c:1202,1
    - Dst: mhd_dtbl_get_num_entries
      Src: /src/mhd2/src/tests/unit/unit_hpack_tables.c:1202,1
    - Dst: mhdtl_dyn_check_entry_at_idx
      Src: /src/mhd2/src/tests/unit/unit_hpack_tables.c:1204,1
    - Dst: mhdtl_dyn_check_entry_at_idx
      Src: /src/mhd2/src/tests/unit/unit_hpack_tables.c:1207,1
    - Dst: mhdtl_dyn_check_entry_at_idx
      Src: /src/mhd2/src/tests/unit/unit_hpack_tables.c:1210,1
    - Dst: mhdtl_dyn_check_entry_at_idx
      Src: /src/mhd2/src/tests/unit/unit_hpack_tables.c:1213,1
    - Dst: mhdtl_dyn_check_entry_at_idx
      Src: /src/mhd2/src/tests/unit/unit_hpack_tables.c:1216,1
    - Dst: mhdtl_dyn_check_entry_at_idx
      Src: /src/mhd2/src/tests/unit/unit_hpack_tables.c:1219,1
    - Dst: mhdtl_dyn_check_entry_at_idx
      Src: /src/mhd2/src/tests/unit/unit_hpack_tables.c:1222,1
    - Dst: mhdtl_dyn_check_entry_at_idx
      Src: /src/mhd2/src/tests/unit/unit_hpack_tables.c:1225,1
    - Dst: mhdtl_dyn_add_hdr_with_check
      Src: /src/mhd2/src/tests/unit/unit_hpack_tables.c:1229,1
    - Dst: MHDT_EXPECT_UINT_EQ_VAL
      Src: /src/mhd2/src/tests/unit/unit_hpack_tables.c:1231,1
    - Dst: mhdtl_dyn_get_size_used
      Src: /src/mhd2/src/tests/unit/unit_hpack_tables.c:1231,1
    - Dst: MHDT_EXPECT_UINT_EQ_VAL
      Src: /src/mhd2/src/tests/unit/unit_hpack_tables.c:1232,1
    - Dst: mhd_dtbl_get_num_entries
      Src: /src/mhd2/src/tests/unit/unit_hpack_tables.c:1232,1
    - Dst: mhdtl_dyn_check_entry_at_idx
      Src: /src/mhd2/src/tests/unit/unit_hpack_tables.c:1234,1
    - Dst: mhdtl_dyn_check_entry_at_idx
      Src: /src/mhd2/src/tests/unit/unit_hpack_tables.c:1237,1
    - Dst: mhdtl_dyn_check_entry_at_idx
      Src: /src/mhd2/src/tests/unit/unit_hpack_tables.c:1240,1
    - Dst: mhdtl_dyn_check_entry_at_idx
      Src: /src/mhd2/src/tests/unit/unit_hpack_tables.c:1243,1
    - Dst: mhdtl_dyn_check_entry_at_idx
      Src: /src/mhd2/src/tests/unit/unit_hpack_tables.c:1246,1
    - Dst: mhdtl_dyn_check_entry_at_idx
      Src: /src/mhd2/src/tests/unit/unit_hpack_tables.c:1249,1
    - Dst: mhdtl_dyn_check_entry_at_idx
      Src: /src/mhd2/src/tests/unit/unit_hpack_tables.c:1252,1
    - Dst: mhdtl_dyn_check_entry_at_idx
      Src: /src/mhd2/src/tests/unit/unit_hpack_tables.c:1255,1
    - Dst: mhdtl_dyn_add_sized_entry_with_check
      Src: /src/mhd2/src/tests/unit/unit_hpack_tables.c:1259,1
    - Dst: MHDT_EXPECT_UINT_EQ_VAL
      Src: /src/mhd2/src/tests/unit/unit_hpack_tables.c:1261,1
    - Dst: mhdtl_dyn_get_size_used
      Src: /src/mhd2/src/tests/unit/unit_hpack_tables.c:1261,1
    - Dst: MHDT_EXPECT_UINT_EQ_VAL
      Src: /src/mhd2/src/tests/unit/unit_hpack_tables.c:1262,1
    - Dst: mhd_dtbl_get_num_entries
      Src: /src/mhd2/src/tests/unit/unit_hpack_tables.c:1262,1
    - Dst: mhdtl_dyn_check_entry_at_idx
      Src: /src/mhd2/src/tests/unit/unit_hpack_tables.c:1264,1
    - Dst: mhdtl_dyn_add_sized_entry_with_check
      Src: /src/mhd2/src/tests/unit/unit_hpack_tables.c:1268,1
    - Dst: mhdtl_dyn_add_hdr_with_check
      Src: /src/mhd2/src/tests/unit/unit_hpack_tables.c:1270,1
    - Dst: mhdtl_dyn_add_hdr_with_check
      Src: /src/mhd2/src/tests/unit/unit_hpack_tables.c:1271,1
    - Dst: mhdtl_dyn_add_hdr_with_check
      Src: /src/mhd2/src/tests/unit/unit_hpack_tables.c:1272,1
    - Dst: mhdtl_dyn_add_hdr_with_check
      Src: /src/mhd2/src/tests/unit/unit_hpack_tables.c:1273,1
    - Dst: mhdtl_dyn_add_hdr_with_check
      Src: /src/mhd2/src/tests/unit/unit_hpack_tables.c:1274,1
    - Dst: mhdtl_dyn_add_hdr_with_check
      Src: /src/mhd2/src/tests/unit/unit_hpack_tables.c:1275,1
    - Dst: mhdtl_dyn_add_hdr_with_check
      Src: /src/mhd2/src/tests/unit/unit_hpack_tables.c:1276,1
    - Dst: mhdtl_dyn_add_hdr_with_check
      Src: /src/mhd2/src/tests/unit/unit_hpack_tables.c:1277,1
    - Dst: MHDT_EXPECT_UINT_EQ_VAL
      Src: /src/mhd2/src/tests/unit/unit_hpack_tables.c:1279,1
    - Dst: mhdtl_dyn_get_size_used
      Src: /src/mhd2/src/tests/unit/unit_hpack_tables.c:1279,1
    - Dst: MHDT_EXPECT_UINT_EQ_VAL
      Src: /src/mhd2/src/tests/unit/unit_hpack_tables.c:1280,1
    - Dst: mhd_dtbl_get_num_entries
      Src: /src/mhd2/src/tests/unit/unit_hpack_tables.c:1280,1
    - Dst: mhdtl_dyn_check_entry_at_idx
      Src: /src/mhd2/src/tests/unit/unit_hpack_tables.c:1282,1
    - Dst: mhdtl_dyn_check_entry_at_idx
      Src: /src/mhd2/src/tests/unit/unit_hpack_tables.c:1285,1
    - Dst: mhdtl_dyn_check_entry_at_idx
      Src: /src/mhd2/src/tests/unit/unit_hpack_tables.c:1288,1
    - Dst: mhdtl_dyn_check_entry_at_idx
      Src: /src/mhd2/src/tests/unit/unit_hpack_tables.c:1291,1
    - Dst: mhdtl_dyn_check_entry_at_idx
      Src: /src/mhd2/src/tests/unit/unit_hpack_tables.c:1294,1
    - Dst: mhdtl_dyn_check_entry_at_idx
      Src: /src/mhd2/src/tests/unit/unit_hpack_tables.c:1297,1
    - Dst: mhdtl_dyn_check_entry_at_idx
      Src: /src/mhd2/src/tests/unit/unit_hpack_tables.c:1300,1
    - Dst: mhdtl_dyn_check_entry_at_idx
      Src: /src/mhd2/src/tests/unit/unit_hpack_tables.c:1303,1
    - Dst: mhdtl_dyn_add_hdr_with_check
      Src: /src/mhd2/src/tests/unit/unit_hpack_tables.c:1307,1
    - Dst: MHDT_EXPECT_UINT_EQ_VAL
      Src: /src/mhd2/src/tests/unit/unit_hpack_tables.c:1309,1
    - Dst: mhdtl_dyn_get_size_used
      Src: /src/mhd2/src/tests/unit/unit_hpack_tables.c:1309,1
    - Dst: MHDT_EXPECT_UINT_EQ_VAL
      Src: /src/mhd2/src/tests/unit/unit_hpack_tables.c:1310,1
    - Dst: mhd_dtbl_get_num_entries
      Src: /src/mhd2/src/tests/unit/unit_hpack_tables.c:1310,1
    - Dst: mhdtl_dyn_check_entry_at_idx
      Src: /src/mhd2/src/tests/unit/unit_hpack_tables.c:1312,1
    - Dst: mhdtl_dyn_check_entry_at_idx
      Src: /src/mhd2/src/tests/unit/unit_hpack_tables.c:1315,1
    - Dst: mhdtl_dyn_check_entry_at_idx
      Src: /src/mhd2/src/tests/unit/unit_hpack_tables.c:1318,1
    - Dst: mhdtl_dyn_check_entry_at_idx
      Src: /src/mhd2/src/tests/unit/unit_hpack_tables.c:1321,1
    - Dst: mhdtl_dyn_check_entry_at_idx
      Src: /src/mhd2/src/tests/unit/unit_hpack_tables.c:1324,1
    - Dst: mhdtl_dyn_check_entry_at_idx
      Src: /src/mhd2/src/tests/unit/unit_hpack_tables.c:1327,1
    - Dst: mhdtl_dyn_check_entry_at_idx
      Src: /src/mhd2/src/tests/unit/unit_hpack_tables.c:1330,1
    - Dst: mhdtl_dyn_check_entry_at_idx
      Src: /src/mhd2/src/tests/unit/unit_hpack_tables.c:1333,1
    - Dst: mhdtl_dyn_add_sized_entry_with_check
      Src: /src/mhd2/src/tests/unit/unit_hpack_tables.c:1337,1
    - Dst: MHDT_EXPECT_UINT_EQ_VAL
      Src: /src/mhd2/src/tests/unit/unit_hpack_tables.c:1339,1
    - Dst: mhdtl_dyn_get_size_used
      Src: /src/mhd2/src/tests/unit/unit_hpack_tables.c:1339,1
    - Dst: MHDT_EXPECT_UINT_EQ_VAL
      Src: /src/mhd2/src/tests/unit/unit_hpack_tables.c:1340,1
    - Dst: mhd_dtbl_get_num_entries
      Src: /src/mhd2/src/tests/unit/unit_hpack_tables.c:1340,1
    - Dst: mhdtl_dyn_check_entry_at_idx
      Src: /src/mhd2/src/tests/unit/unit_hpack_tables.c:1342,1
    - Dst: mhdtl_dyn_check_entry_at_idx
      Src: /src/mhd2/src/tests/unit/unit_hpack_tables.c:1345,1
    - Dst: mhd_dtbl_destroy
      Src: /src/mhd2/src/tests/unit/unit_hpack_tables.c:1349,1
    - Dst: MHDT_TEST_RESULT
      Src: /src/mhd2/src/tests/unit/unit_hpack_tables.c:1392,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 164
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1393
      start: 897
    functionDepth: 3
    functionLinenumber: 897
    functionLinenumberEnd: 1393
    functionName: test_dyn_add_evict_wrap
    functionSourceFile: /src/mhd2/src/tests/unit/unit_hpack_tables.c
    functionUses: 0
    functionsReached:
    - mhd_dtbl_get_num_entries
    - MHDT_EXPECT_UINT_EQ_VAL
    - MHDT_TEST_RESULT
    - mhd_dtbl_destroy
    - mhdtl_dyn_check_entry_at_idx
    - MHDT_EXPECT_PTR_NONNULL_D
    - mhdtl_dyn_add_hdr_with_check
    - mhdtl_dyn_add_sized_entry_with_check
    - mhdtl_dyn_get_size_used
    - mhd_dtbl_create
    linkageType: ''
    returnType: int
    signature: int test_dyn_add_evict_wrap (void)
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: MHDT_EXPECT_PTR_NONNULL_D
      Src: /src/mhd2/src/tests/unit/unit_hpack_tables.c:1403,1
    - Dst: mhd_dtbl_create
      Src: /src/mhd2/src/tests/unit/unit_hpack_tables.c:1403,1
    - Dst: MHDT_TEST_RESULT
      Src: /src/mhd2/src/tests/unit/unit_hpack_tables.c:1406,1
    - Dst: mhdtl_dyn_add_sized_entry_with_check
      Src: /src/mhd2/src/tests/unit/unit_hpack_tables.c:1408,1
    - Dst: MHDT_EXPECT_UINT_EQ_VAL
      Src: /src/mhd2/src/tests/unit/unit_hpack_tables.c:1409,1
    - Dst: mhd_dtbl_get_num_entries
      Src: /src/mhd2/src/tests/unit/unit_hpack_tables.c:1409,1
    - Dst: MHDT_EXPECT_UINT_EQ_VAL
      Src: /src/mhd2/src/tests/unit/unit_hpack_tables.c:1410,1
    - Dst: mhdtl_dyn_get_size_used
      Src: /src/mhd2/src/tests/unit/unit_hpack_tables.c:1410,1
    - Dst: mhdtl_dyn_add_sized_entry_with_check
      Src: /src/mhd2/src/tests/unit/unit_hpack_tables.c:1411,1
    - Dst: MHDT_EXPECT_UINT_EQ_VAL
      Src: /src/mhd2/src/tests/unit/unit_hpack_tables.c:1412,1
    - Dst: mhd_dtbl_get_num_entries
      Src: /src/mhd2/src/tests/unit/unit_hpack_tables.c:1412,1
    - Dst: MHDT_EXPECT_UINT_EQ_VAL
      Src: /src/mhd2/src/tests/unit/unit_hpack_tables.c:1413,1
    - Dst: mhdtl_dyn_get_size_used
      Src: /src/mhd2/src/tests/unit/unit_hpack_tables.c:1413,1
    - Dst: mhdtl_dyn_add_sized_entry_with_check
      Src: /src/mhd2/src/tests/unit/unit_hpack_tables.c:1414,1
    - Dst: MHDT_EXPECT_UINT_EQ_VAL
      Src: /src/mhd2/src/tests/unit/unit_hpack_tables.c:1415,1
    - Dst: mhd_dtbl_get_num_entries
      Src: /src/mhd2/src/tests/unit/unit_hpack_tables.c:1415,1
    - Dst: MHDT_EXPECT_UINT_EQ_VAL
      Src: /src/mhd2/src/tests/unit/unit_hpack_tables.c:1416,1
    - Dst: mhdtl_dyn_get_size_used
      Src: /src/mhd2/src/tests/unit/unit_hpack_tables.c:1416,1
    - Dst: mhdtl_dyn_add_sized_entry_with_check
      Src: /src/mhd2/src/tests/unit/unit_hpack_tables.c:1417,1
    - Dst: MHDT_EXPECT_UINT_EQ_VAL
      Src: /src/mhd2/src/tests/unit/unit_hpack_tables.c:1418,1
    - Dst: mhd_dtbl_get_num_entries
      Src: /src/mhd2/src/tests/unit/unit_hpack_tables.c:1418,1
    - Dst: MHDT_EXPECT_UINT_EQ_VAL
      Src: /src/mhd2/src/tests/unit/unit_hpack_tables.c:1419,1
    - Dst: mhdtl_dyn_get_size_used
      Src: /src/mhd2/src/tests/unit/unit_hpack_tables.c:1419,1
    - Dst: mhdtl_dyn_add_sized_entry_with_check
      Src: /src/mhd2/src/tests/unit/unit_hpack_tables.c:1420,1
    - Dst: MHDT_EXPECT_UINT_EQ_VAL
      Src: /src/mhd2/src/tests/unit/unit_hpack_tables.c:1421,1
    - Dst: mhd_dtbl_get_num_entries
      Src: /src/mhd2/src/tests/unit/unit_hpack_tables.c:1421,1
    - Dst: MHDT_EXPECT_UINT_EQ_VAL
      Src: /src/mhd2/src/tests/unit/unit_hpack_tables.c:1422,1
    - Dst: mhdtl_dyn_get_size_used
      Src: /src/mhd2/src/tests/unit/unit_hpack_tables.c:1422,1
    - Dst: mhdtl_dyn_add_sized_entry_with_check
      Src: /src/mhd2/src/tests/unit/unit_hpack_tables.c:1423,1
    - Dst: MHDT_EXPECT_UINT_EQ_VAL
      Src: /src/mhd2/src/tests/unit/unit_hpack_tables.c:1426,1
    - Dst: mhdtl_dyn_get_size_used
      Src: /src/mhd2/src/tests/unit/unit_hpack_tables.c:1426,1
    - Dst: MHDT_EXPECT_UINT_EQ_VAL
      Src: /src/mhd2/src/tests/unit/unit_hpack_tables.c:1427,1
    - Dst: mhd_dtbl_get_num_entries
      Src: /src/mhd2/src/tests/unit/unit_hpack_tables.c:1427,1
    - Dst: MHDT_EXPECT_TRUE
      Src: /src/mhd2/src/tests/unit/unit_hpack_tables.c:1429,1
    - Dst: mhd_dtbl_get_entry
      Src: /src/mhd2/src/tests/unit/unit_hpack_tables.c:1429,1
    - Dst: MHDT_EXPECT_UINT_EQ_VAL
      Src: /src/mhd2/src/tests/unit/unit_hpack_tables.c:1433,1
    - Dst: MHDTL_HPACK_ENTRY_SIZE
      Src: /src/mhd2/src/tests/unit/unit_hpack_tables.c:1433,1
    - Dst: mhdtl_dyn_add_sized_entry_with_check
      Src: /src/mhd2/src/tests/unit/unit_hpack_tables.c:1440,1
    - Dst: MHDT_EXPECT_UINT_EQ_VAL
      Src: /src/mhd2/src/tests/unit/unit_hpack_tables.c:1442,1
    - Dst: mhdtl_dyn_get_size_used
      Src: /src/mhd2/src/tests/unit/unit_hpack_tables.c:1442,1
    - Dst: MHDT_EXPECT_UINT_EQ_VAL
      Src: /src/mhd2/src/tests/unit/unit_hpack_tables.c:1443,1
    - Dst: mhd_dtbl_get_num_entries
      Src: /src/mhd2/src/tests/unit/unit_hpack_tables.c:1443,1
    - Dst: MHDT_EXPECT_TRUE
      Src: /src/mhd2/src/tests/unit/unit_hpack_tables.c:1445,1
    - Dst: mhd_dtbl_get_entry
      Src: /src/mhd2/src/tests/unit/unit_hpack_tables.c:1445,1
    - Dst: MHDT_EXPECT_UINT_EQ_VAL
      Src: /src/mhd2/src/tests/unit/unit_hpack_tables.c:1449,1
    - Dst: MHDTL_HPACK_ENTRY_SIZE
      Src: /src/mhd2/src/tests/unit/unit_hpack_tables.c:1449,1
    - Dst: mhdtl_dyn_add_sized_entry_with_check
      Src: /src/mhd2/src/tests/unit/unit_hpack_tables.c:1455,1
    - Dst: MHDT_EXPECT_UINT_EQ_VAL
      Src: /src/mhd2/src/tests/unit/unit_hpack_tables.c:1457,1
    - Dst: mhdtl_dyn_get_size_used
      Src: /src/mhd2/src/tests/unit/unit_hpack_tables.c:1457,1
    - Dst: MHDT_EXPECT_UINT_EQ_VAL
      Src: /src/mhd2/src/tests/unit/unit_hpack_tables.c:1458,1
    - Dst: mhd_dtbl_get_num_entries
      Src: /src/mhd2/src/tests/unit/unit_hpack_tables.c:1458,1
    - Dst: MHDT_EXPECT_TRUE
      Src: /src/mhd2/src/tests/unit/unit_hpack_tables.c:1460,1
    - Dst: mhd_dtbl_get_entry
      Src: /src/mhd2/src/tests/unit/unit_hpack_tables.c:1460,1
    - Dst: MHDT_EXPECT_UINT_EQ_VAL
      Src: /src/mhd2/src/tests/unit/unit_hpack_tables.c:1464,1
    - Dst: MHDTL_HPACK_ENTRY_SIZE
      Src: /src/mhd2/src/tests/unit/unit_hpack_tables.c:1464,1
    - Dst: mhdtl_dyn_add_sized_entry_with_check
      Src: /src/mhd2/src/tests/unit/unit_hpack_tables.c:1470,1
    - Dst: MHDT_EXPECT_UINT_EQ_VAL
      Src: /src/mhd2/src/tests/unit/unit_hpack_tables.c:1472,1
    - Dst: mhdtl_dyn_get_size_used
      Src: /src/mhd2/src/tests/unit/unit_hpack_tables.c:1472,1
    - Dst: MHDT_EXPECT_UINT_EQ_VAL
      Src: /src/mhd2/src/tests/unit/unit_hpack_tables.c:1473,1
    - Dst: mhd_dtbl_get_num_entries
      Src: /src/mhd2/src/tests/unit/unit_hpack_tables.c:1473,1
    - Dst: MHDT_EXPECT_TRUE
      Src: /src/mhd2/src/tests/unit/unit_hpack_tables.c:1475,1
    - Dst: mhd_dtbl_get_entry
      Src: /src/mhd2/src/tests/unit/unit_hpack_tables.c:1475,1
    - Dst: MHDT_EXPECT_UINT_EQ_VAL
      Src: /src/mhd2/src/tests/unit/unit_hpack_tables.c:1479,1
    - Dst: MHDTL_HPACK_ENTRY_SIZE
      Src: /src/mhd2/src/tests/unit/unit_hpack_tables.c:1479,1
    - Dst: mhdtl_dyn_add_sized_entry_with_check
      Src: /src/mhd2/src/tests/unit/unit_hpack_tables.c:1485,1
    - Dst: MHDT_EXPECT_UINT_EQ_VAL
      Src: /src/mhd2/src/tests/unit/unit_hpack_tables.c:1487,1
    - Dst: mhdtl_dyn_get_size_used
      Src: /src/mhd2/src/tests/unit/unit_hpack_tables.c:1487,1
    - Dst: MHDT_EXPECT_UINT_EQ_VAL
      Src: /src/mhd2/src/tests/unit/unit_hpack_tables.c:1488,1
    - Dst: mhd_dtbl_get_num_entries
      Src: /src/mhd2/src/tests/unit/unit_hpack_tables.c:1488,1
    - Dst: MHDT_EXPECT_TRUE
      Src: /src/mhd2/src/tests/unit/unit_hpack_tables.c:1490,1
    - Dst: mhd_dtbl_get_entry
      Src: /src/mhd2/src/tests/unit/unit_hpack_tables.c:1490,1
    - Dst: MHDT_EXPECT_UINT_EQ_VAL
      Src: /src/mhd2/src/tests/unit/unit_hpack_tables.c:1494,1
    - Dst: MHDTL_HPACK_ENTRY_SIZE
      Src: /src/mhd2/src/tests/unit/unit_hpack_tables.c:1494,1
    - Dst: mhdtl_dyn_add_sized_entry_with_check
      Src: /src/mhd2/src/tests/unit/unit_hpack_tables.c:1500,1
    - Dst: MHDT_EXPECT_UINT_EQ_VAL
      Src: /src/mhd2/src/tests/unit/unit_hpack_tables.c:1502,1
    - Dst: mhdtl_dyn_get_size_used
      Src: /src/mhd2/src/tests/unit/unit_hpack_tables.c:1502,1
    - Dst: MHDT_EXPECT_UINT_EQ_VAL
      Src: /src/mhd2/src/tests/unit/unit_hpack_tables.c:1503,1
    - Dst: mhd_dtbl_get_num_entries
      Src: /src/mhd2/src/tests/unit/unit_hpack_tables.c:1503,1
    - Dst: MHDT_EXPECT_TRUE
      Src: /src/mhd2/src/tests/unit/unit_hpack_tables.c:1505,1
    - Dst: mhd_dtbl_get_entry
      Src: /src/mhd2/src/tests/unit/unit_hpack_tables.c:1505,1
    - Dst: MHDT_EXPECT_UINT_EQ_VAL
      Src: /src/mhd2/src/tests/unit/unit_hpack_tables.c:1509,1
    - Dst: MHDTL_HPACK_ENTRY_SIZE
      Src: /src/mhd2/src/tests/unit/unit_hpack_tables.c:1509,1
    - Dst: mhdtl_dyn_add_sized_entry_with_check
      Src: /src/mhd2/src/tests/unit/unit_hpack_tables.c:1515,1
    - Dst: MHDT_EXPECT_UINT_EQ_VAL
      Src: /src/mhd2/src/tests/unit/unit_hpack_tables.c:1517,1
    - Dst: mhdtl_dyn_get_size_used
      Src: /src/mhd2/src/tests/unit/unit_hpack_tables.c:1517,1
    - Dst: MHDT_EXPECT_UINT_EQ_VAL
      Src: /src/mhd2/src/tests/unit/unit_hpack_tables.c:1518,1
    - Dst: mhd_dtbl_get_num_entries
      Src: /src/mhd2/src/tests/unit/unit_hpack_tables.c:1518,1
    - Dst: MHDT_EXPECT_TRUE
      Src: /src/mhd2/src/tests/unit/unit_hpack_tables.c:1520,1
    - Dst: mhd_dtbl_get_entry
      Src: /src/mhd2/src/tests/unit/unit_hpack_tables.c:1520,1
    - Dst: MHDT_EXPECT_UINT_EQ_VAL
      Src: /src/mhd2/src/tests/unit/unit_hpack_tables.c:1524,1
    - Dst: MHDTL_HPACK_ENTRY_SIZE
      Src: /src/mhd2/src/tests/unit/unit_hpack_tables.c:1524,1
    - Dst: mhdtl_dyn_add_sized_entry_with_check
      Src: /src/mhd2/src/tests/unit/unit_hpack_tables.c:1530,1
    - Dst: MHDT_EXPECT_UINT_EQ_VAL
      Src: /src/mhd2/src/tests/unit/unit_hpack_tables.c:1532,1
    - Dst: mhdtl_dyn_get_size_used
      Src: /src/mhd2/src/tests/unit/unit_hpack_tables.c:1532,1
    - Dst: MHDT_EXPECT_UINT_EQ_VAL
      Src: /src/mhd2/src/tests/unit/unit_hpack_tables.c:1533,1
    - Dst: mhd_dtbl_get_num_entries
      Src: /src/mhd2/src/tests/unit/unit_hpack_tables.c:1533,1
    - Dst: MHDT_EXPECT_TRUE
      Src: /src/mhd2/src/tests/unit/unit_hpack_tables.c:1535,1
    - Dst: mhd_dtbl_get_entry
      Src: /src/mhd2/src/tests/unit/unit_hpack_tables.c:1535,1
    - Dst: MHDT_EXPECT_UINT_EQ_VAL
      Src: /src/mhd2/src/tests/unit/unit_hpack_tables.c:1539,1
    - Dst: MHDTL_HPACK_ENTRY_SIZE
      Src: /src/mhd2/src/tests/unit/unit_hpack_tables.c:1539,1
    - Dst: mhdtl_dyn_add_sized_entry_with_check
      Src: /src/mhd2/src/tests/unit/unit_hpack_tables.c:1545,1
    - Dst: MHDT_EXPECT_UINT_EQ_VAL
      Src: /src/mhd2/src/tests/unit/unit_hpack_tables.c:1547,1
    - Dst: mhdtl_dyn_get_size_used
      Src: /src/mhd2/src/tests/unit/unit_hpack_tables.c:1547,1
    - Dst: MHDT_EXPECT_UINT_EQ_VAL
      Src: /src/mhd2/src/tests/unit/unit_hpack_tables.c:1548,1
    - Dst: mhd_dtbl_get_num_entries
      Src: /src/mhd2/src/tests/unit/unit_hpack_tables.c:1548,1
    - Dst: mhdtl_dyn_add_sized_entry_with_check
      Src: /src/mhd2/src/tests/unit/unit_hpack_tables.c:1551,1
    - Dst: MHDT_EXPECT_UINT_EQ_VAL
      Src: /src/mhd2/src/tests/unit/unit_hpack_tables.c:1553,1
    - Dst: mhdtl_dyn_get_size_used
      Src: /src/mhd2/src/tests/unit/unit_hpack_tables.c:1553,1
    - Dst: MHDT_EXPECT_UINT_EQ_VAL
      Src: /src/mhd2/src/tests/unit/unit_hpack_tables.c:1554,1
    - Dst: mhd_dtbl_get_num_entries
      Src: /src/mhd2/src/tests/unit/unit_hpack_tables.c:1554,1
    - Dst: mhdtl_dyn_add_sized_entry_with_check
      Src: /src/mhd2/src/tests/unit/unit_hpack_tables.c:1557,1
    - Dst: MHDT_EXPECT_UINT_EQ_VAL
      Src: /src/mhd2/src/tests/unit/unit_hpack_tables.c:1559,1
    - Dst: mhdtl_dyn_get_size_used
      Src: /src/mhd2/src/tests/unit/unit_hpack_tables.c:1559,1
    - Dst: MHDT_EXPECT_UINT_EQ_VAL
      Src: /src/mhd2/src/tests/unit/unit_hpack_tables.c:1560,1
    - Dst: mhd_dtbl_get_num_entries
      Src: /src/mhd2/src/tests/unit/unit_hpack_tables.c:1560,1
    - Dst: mhdtl_dyn_add_sized_entry_with_check
      Src: /src/mhd2/src/tests/unit/unit_hpack_tables.c:1563,1
    - Dst: MHDT_EXPECT_UINT_EQ_VAL
      Src: /src/mhd2/src/tests/unit/unit_hpack_tables.c:1565,1
    - Dst: mhdtl_dyn_get_size_used
      Src: /src/mhd2/src/tests/unit/unit_hpack_tables.c:1565,1
    - Dst: MHDT_EXPECT_UINT_EQ_VAL
      Src: /src/mhd2/src/tests/unit/unit_hpack_tables.c:1566,1
    - Dst: mhd_dtbl_get_num_entries
      Src: /src/mhd2/src/tests/unit/unit_hpack_tables.c:1566,1
    - Dst: mhdtl_dyn_add_sized_entry_with_check
      Src: /src/mhd2/src/tests/unit/unit_hpack_tables.c:1568,1
    - Dst: mhdtl_dyn_add_sized_entry_with_check
      Src: /src/mhd2/src/tests/unit/unit_hpack_tables.c:1569,1
    - Dst: mhdtl_dyn_add_sized_entry_with_check
      Src: /src/mhd2/src/tests/unit/unit_hpack_tables.c:1570,1
    - Dst: mhdtl_dyn_add_sized_entry_with_check
      Src: /src/mhd2/src/tests/unit/unit_hpack_tables.c:1571,1
    - Dst: mhdtl_dyn_add_sized_entry_with_check
      Src: /src/mhd2/src/tests/unit/unit_hpack_tables.c:1572,1
    - Dst: mhdtl_dyn_add_sized_entry_with_check
      Src: /src/mhd2/src/tests/unit/unit_hpack_tables.c:1573,1
    - Dst: mhdtl_dyn_add_sized_entry_with_check
      Src: /src/mhd2/src/tests/unit/unit_hpack_tables.c:1574,1
    - Dst: mhdtl_dyn_add_sized_entry_with_check
      Src: /src/mhd2/src/tests/unit/unit_hpack_tables.c:1575,1
    - Dst: mhdtl_dyn_add_sized_entry_with_check
      Src: /src/mhd2/src/tests/unit/unit_hpack_tables.c:1576,1
    - Dst: mhdtl_dyn_add_sized_entry_with_check
      Src: /src/mhd2/src/tests/unit/unit_hpack_tables.c:1577,1
    - Dst: mhdtl_dyn_add_sized_entry_with_check
      Src: /src/mhd2/src/tests/unit/unit_hpack_tables.c:1578,1
    - Dst: mhdtl_dyn_add_sized_entry_with_check
      Src: /src/mhd2/src/tests/unit/unit_hpack_tables.c:1579,1
    - Dst: mhdtl_dyn_add_sized_entry_with_check
      Src: /src/mhd2/src/tests/unit/unit_hpack_tables.c:1580,1
    - Dst: mhdtl_dyn_add_sized_entry_with_check
      Src: /src/mhd2/src/tests/unit/unit_hpack_tables.c:1581,1
    - Dst: mhdtl_dyn_add_sized_entry_with_check
      Src: /src/mhd2/src/tests/unit/unit_hpack_tables.c:1582,1
    - Dst: mhdtl_dyn_add_sized_entry_with_check
      Src: /src/mhd2/src/tests/unit/unit_hpack_tables.c:1583,1
    - Dst: mhdtl_dyn_add_sized_entry_with_check
      Src: /src/mhd2/src/tests/unit/unit_hpack_tables.c:1584,1
    - Dst: mhdtl_dyn_add_sized_entry_with_check
      Src: /src/mhd2/src/tests/unit/unit_hpack_tables.c:1585,1
    - Dst: mhdtl_dyn_add_sized_entry_with_check
      Src: /src/mhd2/src/tests/unit/unit_hpack_tables.c:1586,1
    - Dst: MHDT_EXPECT_UINT_EQ_VAL
      Src: /src/mhd2/src/tests/unit/unit_hpack_tables.c:1589,1
    - Dst: mhdtl_dyn_get_size_used
      Src: /src/mhd2/src/tests/unit/unit_hpack_tables.c:1589,1
    - Dst: MHDT_EXPECT_UINT_EQ_VAL
      Src: /src/mhd2/src/tests/unit/unit_hpack_tables.c:1590,1
    - Dst: mhd_dtbl_get_num_entries
      Src: /src/mhd2/src/tests/unit/unit_hpack_tables.c:1590,1
    - Dst: mhdtl_dyn_add_sized_entry_with_check
      Src: /src/mhd2/src/tests/unit/unit_hpack_tables.c:1592,1
    - Dst: MHDT_EXPECT_UINT_EQ_VAL
      Src: /src/mhd2/src/tests/unit/unit_hpack_tables.c:1595,1
    - Dst: mhdtl_dyn_get_size_used
      Src: /src/mhd2/src/tests/unit/unit_hpack_tables.c:1595,1
    - Dst: MHDT_EXPECT_UINT_EQ_VAL
      Src: /src/mhd2/src/tests/unit/unit_hpack_tables.c:1596,1
    - Dst: mhd_dtbl_get_num_entries
      Src: /src/mhd2/src/tests/unit/unit_hpack_tables.c:1596,1
    - Dst: mhdtl_dyn_add_sized_entry_with_check
      Src: /src/mhd2/src/tests/unit/unit_hpack_tables.c:1598,1
    - Dst: MHDT_EXPECT_UINT_EQ_VAL
      Src: /src/mhd2/src/tests/unit/unit_hpack_tables.c:1601,1
    - Dst: mhdtl_dyn_get_size_used
      Src: /src/mhd2/src/tests/unit/unit_hpack_tables.c:1601,1
    - Dst: MHDT_EXPECT_UINT_EQ_VAL
      Src: /src/mhd2/src/tests/unit/unit_hpack_tables.c:1602,1
    - Dst: mhd_dtbl_get_num_entries
      Src: /src/mhd2/src/tests/unit/unit_hpack_tables.c:1602,1
    - Dst: mhdtl_dyn_add_sized_entry_with_check
      Src: /src/mhd2/src/tests/unit/unit_hpack_tables.c:1604,1
    - Dst: MHDT_EXPECT_UINT_EQ_VAL
      Src: /src/mhd2/src/tests/unit/unit_hpack_tables.c:1606,1
    - Dst: mhdtl_dyn_get_size_used
      Src: /src/mhd2/src/tests/unit/unit_hpack_tables.c:1606,1
    - Dst: MHDT_EXPECT_UINT_EQ_VAL
      Src: /src/mhd2/src/tests/unit/unit_hpack_tables.c:1607,1
    - Dst: mhd_dtbl_get_num_entries
      Src: /src/mhd2/src/tests/unit/unit_hpack_tables.c:1607,1
    - Dst: mhdtl_dyn_add_sized_entry_with_check
      Src: /src/mhd2/src/tests/unit/unit_hpack_tables.c:1609,1
    - Dst: mhdtl_dyn_add_sized_entry_with_check
      Src: /src/mhd2/src/tests/unit/unit_hpack_tables.c:1610,1
    - Dst: MHDT_EXPECT_UINT_EQ_VAL
      Src: /src/mhd2/src/tests/unit/unit_hpack_tables.c:1612,1
    - Dst: mhdtl_dyn_get_size_used
      Src: /src/mhd2/src/tests/unit/unit_hpack_tables.c:1612,1
    - Dst: MHDT_EXPECT_UINT_EQ_VAL
      Src: /src/mhd2/src/tests/unit/unit_hpack_tables.c:1613,1
    - Dst: mhd_dtbl_get_num_entries
      Src: /src/mhd2/src/tests/unit/unit_hpack_tables.c:1613,1
    - Dst: mhdtl_dyn_add_sized_entry_with_check
      Src: /src/mhd2/src/tests/unit/unit_hpack_tables.c:1615,1
    - Dst: MHDT_EXPECT_UINT_EQ_VAL
      Src: /src/mhd2/src/tests/unit/unit_hpack_tables.c:1617,1
    - Dst: mhdtl_dyn_get_size_used
      Src: /src/mhd2/src/tests/unit/unit_hpack_tables.c:1617,1
    - Dst: MHDT_EXPECT_UINT_EQ_VAL
      Src: /src/mhd2/src/tests/unit/unit_hpack_tables.c:1618,1
    - Dst: mhd_dtbl_get_num_entries
      Src: /src/mhd2/src/tests/unit/unit_hpack_tables.c:1618,1
    - Dst: mhdtl_dyn_add_sized_entry_with_check
      Src: /src/mhd2/src/tests/unit/unit_hpack_tables.c:1620,1
    - Dst: mhdtl_dyn_add_sized_entry_with_check
      Src: /src/mhd2/src/tests/unit/unit_hpack_tables.c:1621,1
    - Dst: mhdtl_dyn_add_sized_entry_with_check
      Src: /src/mhd2/src/tests/unit/unit_hpack_tables.c:1622,1
    - Dst: mhdtl_dyn_add_sized_entry_with_check
      Src: /src/mhd2/src/tests/unit/unit_hpack_tables.c:1623,1
    - Dst: mhdtl_dyn_add_sized_entry_with_check
      Src: /src/mhd2/src/tests/unit/unit_hpack_tables.c:1624,1
    - Dst: mhdtl_dyn_add_sized_entry_with_check
      Src: /src/mhd2/src/tests/unit/unit_hpack_tables.c:1625,1
    - Dst: mhdtl_dyn_add_sized_entry_with_check
      Src: /src/mhd2/src/tests/unit/unit_hpack_tables.c:1626,1
    - Dst: mhdtl_dyn_add_sized_entry_with_check
      Src: /src/mhd2/src/tests/unit/unit_hpack_tables.c:1627,1
    - Dst: mhdtl_dyn_add_sized_entry_with_check
      Src: /src/mhd2/src/tests/unit/unit_hpack_tables.c:1628,1
    - Dst: mhdtl_dyn_add_sized_entry_with_check
      Src: /src/mhd2/src/tests/unit/unit_hpack_tables.c:1629,1
    - Dst: mhdtl_dyn_add_sized_entry_with_check
      Src: /src/mhd2/src/tests/unit/unit_hpack_tables.c:1630,1
    - Dst: mhdtl_dyn_add_sized_entry_with_check
      Src: /src/mhd2/src/tests/unit/unit_hpack_tables.c:1631,1
    - Dst: mhdtl_dyn_add_sized_entry_with_check
      Src: /src/mhd2/src/tests/unit/unit_hpack_tables.c:1632,1
    - Dst: mhdtl_dyn_add_sized_entry_with_check
      Src: /src/mhd2/src/tests/unit/unit_hpack_tables.c:1633,1
    - Dst: mhdtl_dyn_add_sized_entry_with_check
      Src: /src/mhd2/src/tests/unit/unit_hpack_tables.c:1634,1
    - Dst: mhdtl_dyn_add_sized_entry_with_check
      Src: /src/mhd2/src/tests/unit/unit_hpack_tables.c:1635,1
    - Dst: mhdtl_dyn_add_sized_entry_with_check
      Src: /src/mhd2/src/tests/unit/unit_hpack_tables.c:1636,1
    - Dst: mhdtl_dyn_add_sized_entry_with_check
      Src: /src/mhd2/src/tests/unit/unit_hpack_tables.c:1637,1
    - Dst: MHDT_EXPECT_UINT_EQ_VAL
      Src: /src/mhd2/src/tests/unit/unit_hpack_tables.c:1640,1
    - Dst: mhdtl_dyn_get_size_used
      Src: /src/mhd2/src/tests/unit/unit_hpack_tables.c:1640,1
    - Dst: MHDT_EXPECT_UINT_EQ_VAL
      Src: /src/mhd2/src/tests/unit/unit_hpack_tables.c:1641,1
    - Dst: mhd_dtbl_get_num_entries
      Src: /src/mhd2/src/tests/unit/unit_hpack_tables.c:1641,1
    - Dst: mhd_dtbl_destroy
      Src: /src/mhd2/src/tests/unit/unit_hpack_tables.c:1643,1
    - Dst: MHDT_TEST_RESULT
      Src: /src/mhd2/src/tests/unit/unit_hpack_tables.c:1645,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 130
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1646
      start: 1396
    functionDepth: 3
    functionLinenumber: 1396
    functionLinenumberEnd: 1646
    functionName: test_dyn_add_evict_inter
    functionSourceFile: /src/mhd2/src/tests/unit/unit_hpack_tables.c
    functionUses: 0
    functionsReached:
    - mhd_dtbl_get_entry
    - mhd_dtbl_get_num_entries
    - MHDT_EXPECT_UINT_EQ_VAL
    - MHDT_EXPECT_TRUE
    - MHDT_TEST_RESULT
    - mhd_dtbl_destroy
    - MHDT_EXPECT_PTR_NONNULL_D
    - mhdtl_dyn_add_sized_entry_with_check
    - MHDTL_HPACK_ENTRY_SIZE
    - mhdtl_dyn_get_size_used
    - mhd_dtbl_create
    linkageType: ''
    returnType: int
    signature: int test_dyn_add_evict_inter (void)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: MHDT_EXPECT_PTR_NONNULL_D
      Src: /src/mhd2/src/tests/unit/unit_hpack_tables.c:1658,1
    - Dst: mhd_dtbl_create
      Src: /src/mhd2/src/tests/unit/unit_hpack_tables.c:1658,1
    - Dst: MHDT_TEST_RESULT
      Src: /src/mhd2/src/tests/unit/unit_hpack_tables.c:1661,1
    - Dst: mhdtl_dyn_get_size_used
      Src: /src/mhd2/src/tests/unit/unit_hpack_tables.c:1670,1
    - Dst: mhdtl_mix16
      Src: /src/mhd2/src/tests/unit/unit_hpack_tables.c:1673,1
    - Dst: mhdtl_dyn_add_sized_strs_with_check
      Src: /src/mhd2/src/tests/unit/unit_hpack_tables.c:1676,1
    - Dst: mhdtl_dyn_get_size_used
      Src: /src/mhd2/src/tests/unit/unit_hpack_tables.c:1678,1
    - Dst: mhd_dtbl_evict_to_size
      Src: /src/mhd2/src/tests/unit/unit_hpack_tables.c:1681,1
    - Dst: mhdtl_dyn_get_size_used
      Src: /src/mhd2/src/tests/unit/unit_hpack_tables.c:1692,1
    - Dst: mhdtl_mix16
      Src: /src/mhd2/src/tests/unit/unit_hpack_tables.c:1695,1
    - Dst: mhdtl_dyn_add_sized_strs_with_check
      Src: /src/mhd2/src/tests/unit/unit_hpack_tables.c:1698,1
    - Dst: mhdtl_dyn_get_size_used
      Src: /src/mhd2/src/tests/unit/unit_hpack_tables.c:1700,1
    - Dst: mhd_dtbl_evict_to_size
      Src: /src/mhd2/src/tests/unit/unit_hpack_tables.c:1703,1
    - Dst: mhdtl_dyn_get_size_used
      Src: /src/mhd2/src/tests/unit/unit_hpack_tables.c:1714,1
    - Dst: mhdtl_mix16
      Src: /src/mhd2/src/tests/unit/unit_hpack_tables.c:1717,1
    - Dst: mhdtl_dyn_add_sized_strs_with_check
      Src: /src/mhd2/src/tests/unit/unit_hpack_tables.c:1720,1
    - Dst: mhdtl_dyn_get_size_used
      Src: /src/mhd2/src/tests/unit/unit_hpack_tables.c:1722,1
    - Dst: mhd_dtbl_evict_to_size
      Src: /src/mhd2/src/tests/unit/unit_hpack_tables.c:1725,1
    - Dst: mhd_dtbl_destroy
      Src: /src/mhd2/src/tests/unit/unit_hpack_tables.c:1729,1
    - Dst: MHDT_TEST_RESULT
      Src: /src/mhd2/src/tests/unit/unit_hpack_tables.c:1731,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 36
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1732
      start: 1649
    functionDepth: 2
    functionLinenumber: 1649
    functionLinenumberEnd: 1732
    functionName: test_dyn_add_series
    functionSourceFile: /src/mhd2/src/tests/unit/unit_hpack_tables.c
    functionUses: 0
    functionsReached:
    - MHDT_TEST_RESULT
    - mhd_dtbl_destroy
    - mhdtl_mix16
    - MHDT_EXPECT_PTR_NONNULL_D
    - mhdtl_dyn_add_sized_strs_with_check
    - mhdtl_dyn_get_size_used
    - mhd_dtbl_evict_to_size
    - mhd_dtbl_create
    linkageType: ''
    returnType: int
    signature: int test_dyn_add_series (void)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: MHDT_EXPECT_PTR_NONNULL_D
      Src: /src/mhd2/src/tests/unit/unit_hpack_tables.c:1744,1
    - Dst: mhd_dtbl_create
      Src: /src/mhd2/src/tests/unit/unit_hpack_tables.c:1744,1
    - Dst: MHDT_TEST_RESULT
      Src: /src/mhd2/src/tests/unit/unit_hpack_tables.c:1747,1
    - Dst: mhdtl_mix16
      Src: /src/mhd2/src/tests/unit/unit_hpack_tables.c:1755,1
    - Dst: mhdtl_dyn_add_sized_strs_with_check
      Src: /src/mhd2/src/tests/unit/unit_hpack_tables.c:1756,1
    - Dst: mhdtl_mix16
      Src: /src/mhd2/src/tests/unit/unit_hpack_tables.c:1761,1
    - Dst: mhdtl_dyn_add_sized_strs_with_check
      Src: /src/mhd2/src/tests/unit/unit_hpack_tables.c:1763,1
    - Dst: mhdtl_mix16
      Src: /src/mhd2/src/tests/unit/unit_hpack_tables.c:1770,1
    - Dst: mhdtl_dyn_add_sized_strs_with_check
      Src: /src/mhd2/src/tests/unit/unit_hpack_tables.c:1771,1
    - Dst: mhdtl_mix16
      Src: /src/mhd2/src/tests/unit/unit_hpack_tables.c:1776,1
    - Dst: mhdtl_dyn_add_sized_strs_with_check
      Src: /src/mhd2/src/tests/unit/unit_hpack_tables.c:1778,1
    - Dst: mhdtl_mix16
      Src: /src/mhd2/src/tests/unit/unit_hpack_tables.c:1785,1
    - Dst: mhdtl_dyn_add_sized_strs_with_check
      Src: /src/mhd2/src/tests/unit/unit_hpack_tables.c:1786,1
    - Dst: mhdtl_mix16
      Src: /src/mhd2/src/tests/unit/unit_hpack_tables.c:1791,1
    - Dst: mhdtl_dyn_add_sized_strs_with_check
      Src: /src/mhd2/src/tests/unit/unit_hpack_tables.c:1793,1
    - Dst: mhdtl_mix16
      Src: /src/mhd2/src/tests/unit/unit_hpack_tables.c:1800,1
    - Dst: mhdtl_dyn_add_sized_strs_with_check
      Src: /src/mhd2/src/tests/unit/unit_hpack_tables.c:1801,1
    - Dst: mhd_dtbl_destroy
      Src: /src/mhd2/src/tests/unit/unit_hpack_tables.c:1806,1
    - Dst: MHDT_TEST_RESULT
      Src: /src/mhd2/src/tests/unit/unit_hpack_tables.c:1808,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 32
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1809
      start: 1735
    functionDepth: 2
    functionLinenumber: 1735
    functionLinenumberEnd: 1809
    functionName: test_dyn_add_evict_series
    functionSourceFile: /src/mhd2/src/tests/unit/unit_hpack_tables.c
    functionUses: 0
    functionsReached:
    - MHDT_TEST_RESULT
    - mhd_dtbl_destroy
    - mhdtl_mix16
    - MHDT_EXPECT_PTR_NONNULL_D
    - mhdtl_dyn_add_sized_strs_with_check
    - mhd_dtbl_create
    linkageType: ''
    returnType: int
    signature: int test_dyn_add_evict_series (void)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: MHDT_EXPECT_PTR_NONNULL_D
      Src: /src/mhd2/src/tests/unit/unit_hpack_tables.c:1817,1
    - Dst: mhd_dtbl_create
      Src: /src/mhd2/src/tests/unit/unit_hpack_tables.c:1817,1
    - Dst: MHDT_TEST_RESULT
      Src: /src/mhd2/src/tests/unit/unit_hpack_tables.c:1820,1
    - Dst: mhdtl_dyn_add_hdr_with_check
      Src: /src/mhd2/src/tests/unit/unit_hpack_tables.c:1831,1
    - Dst: mhdtl_dyn_add_hdr_with_check
      Src: /src/mhd2/src/tests/unit/unit_hpack_tables.c:1832,1
    - Dst: mhdtl_dyn_add_hdr_with_check
      Src: /src/mhd2/src/tests/unit/unit_hpack_tables.c:1833,1
    - Dst: mhdtl_dyn_add_hdr_with_check
      Src: /src/mhd2/src/tests/unit/unit_hpack_tables.c:1834,1
    - Dst: MHDT_EXPECT_UINT_EQ_VAL
      Src: /src/mhd2/src/tests/unit/unit_hpack_tables.c:1837,1
    - Dst: mhdtl_dyn_get_size_used
      Src: /src/mhd2/src/tests/unit/unit_hpack_tables.c:1837,1
    - Dst: MHDT_EXPECT_UINT_EQ_VAL
      Src: /src/mhd2/src/tests/unit/unit_hpack_tables.c:1838,1
    - Dst: mhd_dtbl_get_num_entries
      Src: /src/mhd2/src/tests/unit/unit_hpack_tables.c:1838,1
    - Dst: mhdtl_dyn_check_entry_at_idx
      Src: /src/mhd2/src/tests/unit/unit_hpack_tables.c:1840,1
    - Dst: mhdtl_dyn_check_entry_at_idx
      Src: /src/mhd2/src/tests/unit/unit_hpack_tables.c:1843,1
    - Dst: mhdtl_dyn_check_entry_at_idx
      Src: /src/mhd2/src/tests/unit/unit_hpack_tables.c:1846,1
    - Dst: mhdtl_dyn_check_entry_at_idx
      Src: /src/mhd2/src/tests/unit/unit_hpack_tables.c:1849,1
    - Dst: mhdtl_dyn_check_get_valid_invalid
      Src: /src/mhd2/src/tests/unit/unit_hpack_tables.c:1853,1
    - Dst: mhd_dtbl_evict_to_size
      Src: /src/mhd2/src/tests/unit/unit_hpack_tables.c:1855,1
    - Dst: MHDT_EXPECT_UINT_EQ_VAL
      Src: /src/mhd2/src/tests/unit/unit_hpack_tables.c:1856,1
    - Dst: mhdtl_dyn_get_size_used
      Src: /src/mhd2/src/tests/unit/unit_hpack_tables.c:1856,1
    - Dst: MHDT_EXPECT_UINT_EQ_VAL
      Src: /src/mhd2/src/tests/unit/unit_hpack_tables.c:1857,1
    - Dst: mhd_dtbl_get_num_entries
      Src: /src/mhd2/src/tests/unit/unit_hpack_tables.c:1857,1
    - Dst: mhdtl_dyn_check_get_valid_invalid
      Src: /src/mhd2/src/tests/unit/unit_hpack_tables.c:1858,1
    - Dst: mhd_dtbl_evict_to_size
      Src: /src/mhd2/src/tests/unit/unit_hpack_tables.c:1860,1
    - Dst: MHDT_EXPECT_UINT_EQ_VAL
      Src: /src/mhd2/src/tests/unit/unit_hpack_tables.c:1861,1
    - Dst: mhdtl_dyn_get_size_used
      Src: /src/mhd2/src/tests/unit/unit_hpack_tables.c:1861,1
    - Dst: MHDT_EXPECT_UINT_EQ_VAL
      Src: /src/mhd2/src/tests/unit/unit_hpack_tables.c:1862,1
    - Dst: mhd_dtbl_get_num_entries
      Src: /src/mhd2/src/tests/unit/unit_hpack_tables.c:1862,1
    - Dst: mhdtl_dyn_check_get_valid_invalid
      Src: /src/mhd2/src/tests/unit/unit_hpack_tables.c:1863,1
    - Dst: mhd_dtbl_evict_to_size
      Src: /src/mhd2/src/tests/unit/unit_hpack_tables.c:1865,1
    - Dst: MHDT_EXPECT_UINT_EQ_VAL
      Src: /src/mhd2/src/tests/unit/unit_hpack_tables.c:1866,1
    - Dst: mhdtl_dyn_get_size_used
      Src: /src/mhd2/src/tests/unit/unit_hpack_tables.c:1866,1
    - Dst: MHDT_EXPECT_UINT_EQ_VAL
      Src: /src/mhd2/src/tests/unit/unit_hpack_tables.c:1867,1
    - Dst: mhd_dtbl_get_num_entries
      Src: /src/mhd2/src/tests/unit/unit_hpack_tables.c:1867,1
    - Dst: mhdtl_dyn_check_entry_at_idx
      Src: /src/mhd2/src/tests/unit/unit_hpack_tables.c:1869,1
    - Dst: mhdtl_dyn_check_entry_at_idx
      Src: /src/mhd2/src/tests/unit/unit_hpack_tables.c:1872,1
    - Dst: mhdtl_dyn_check_entry_at_idx
      Src: /src/mhd2/src/tests/unit/unit_hpack_tables.c:1875,1
    - Dst: mhdtl_dyn_check_get_valid_invalid
      Src: /src/mhd2/src/tests/unit/unit_hpack_tables.c:1879,1
    - Dst: mhd_dtbl_evict_to_size
      Src: /src/mhd2/src/tests/unit/unit_hpack_tables.c:1881,1
    - Dst: MHDT_EXPECT_UINT_EQ_VAL
      Src: /src/mhd2/src/tests/unit/unit_hpack_tables.c:1882,1
    - Dst: mhdtl_dyn_get_size_used
      Src: /src/mhd2/src/tests/unit/unit_hpack_tables.c:1882,1
    - Dst: MHDT_EXPECT_UINT_EQ_VAL
      Src: /src/mhd2/src/tests/unit/unit_hpack_tables.c:1883,1
    - Dst: mhd_dtbl_get_num_entries
      Src: /src/mhd2/src/tests/unit/unit_hpack_tables.c:1883,1
    - Dst: mhdtl_dyn_check_entry_at_idx
      Src: /src/mhd2/src/tests/unit/unit_hpack_tables.c:1885,1
    - Dst: mhdtl_dyn_check_get_valid_invalid
      Src: /src/mhd2/src/tests/unit/unit_hpack_tables.c:1889,1
    - Dst: mhd_dtbl_evict_to_size
      Src: /src/mhd2/src/tests/unit/unit_hpack_tables.c:1891,1
    - Dst: MHDT_EXPECT_UINT_EQ_VAL
      Src: /src/mhd2/src/tests/unit/unit_hpack_tables.c:1892,1
    - Dst: mhdtl_dyn_get_size_used
      Src: /src/mhd2/src/tests/unit/unit_hpack_tables.c:1892,1
    - Dst: MHDT_EXPECT_UINT_EQ_VAL
      Src: /src/mhd2/src/tests/unit/unit_hpack_tables.c:1893,1
    - Dst: mhd_dtbl_get_num_entries
      Src: /src/mhd2/src/tests/unit/unit_hpack_tables.c:1893,1
    - Dst: mhdtl_dyn_check_get_valid_invalid
      Src: /src/mhd2/src/tests/unit/unit_hpack_tables.c:1895,1
    - Dst: mhd_dtbl_destroy
      Src: /src/mhd2/src/tests/unit/unit_hpack_tables.c:1906,1
    - Dst: MHDT_TEST_RESULT
      Src: /src/mhd2/src/tests/unit/unit_hpack_tables.c:1908,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 41
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1909
      start: 1812
    functionDepth: 3
    functionLinenumber: 1812
    functionLinenumberEnd: 1909
    functionName: test_dyn_evict_to_size
    functionSourceFile: /src/mhd2/src/tests/unit/unit_hpack_tables.c
    functionUses: 0
    functionsReached:
    - mhd_dtbl_get_num_entries
    - MHDT_EXPECT_UINT_EQ_VAL
    - mhdtl_dyn_check_get_valid_invalid
    - MHDT_TEST_RESULT
    - mhd_dtbl_destroy
    - mhdtl_dyn_check_entry_at_idx
    - MHDT_EXPECT_PTR_NONNULL_D
    - mhdtl_dyn_add_hdr_with_check
    - mhdtl_dyn_get_size_used
    - mhd_dtbl_evict_to_size
    - mhd_dtbl_create
    linkageType: ''
    returnType: int
    signature: int test_dyn_evict_to_size (void)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: MHDT_EXPECT_PTR_NONNULL_D
      Src: /src/mhd2/src/tests/unit/unit_hpack_tables.c:1918,1
    - Dst: mhd_dtbl_create
      Src: /src/mhd2/src/tests/unit/unit_hpack_tables.c:1918,1
    - Dst: MHDT_TEST_RESULT
      Src: /src/mhd2/src/tests/unit/unit_hpack_tables.c:1921,1
    - Dst: mhdtl_dyn_add_hdr_with_check
      Src: /src/mhd2/src/tests/unit/unit_hpack_tables.c:1923,1
    - Dst: mhdtl_dyn_add_sized_entry_with_check
      Src: /src/mhd2/src/tests/unit/unit_hpack_tables.c:1924,1
    - Dst: mhdtl_dyn_add_hdr_with_check
      Src: /src/mhd2/src/tests/unit/unit_hpack_tables.c:1925,1
    - Dst: MHDT_EXPECT_UINT_EQ_VAL
      Src: /src/mhd2/src/tests/unit/unit_hpack_tables.c:1926,1
    - Dst: mhd_dtbl_get_num_entries
      Src: /src/mhd2/src/tests/unit/unit_hpack_tables.c:1926,1
    - Dst: MHDT_EXPECT_UINT_EQ_VAL
      Src: /src/mhd2/src/tests/unit/unit_hpack_tables.c:1927,1
    - Dst: mhdtl_dyn_get_size_used
      Src: /src/mhd2/src/tests/unit/unit_hpack_tables.c:1927,1
    - Dst: MHDT_EXPECT_TRUE_D
      Src: /src/mhd2/src/tests/unit/unit_hpack_tables.c:1930,1
    - Dst: mhd_dtbl_resize
      Src: /src/mhd2/src/tests/unit/unit_hpack_tables.c:1930,1
    - Dst: MHDT_EXPECT_PTR_NONNULL
      Src: /src/mhd2/src/tests/unit/unit_hpack_tables.c:1931,1
    - Dst: MHDT_EXPECT_UINT_EQ_VAL
      Src: /src/mhd2/src/tests/unit/unit_hpack_tables.c:1932,1
    - Dst: mhd_dtbl_get_table_max_size
      Src: /src/mhd2/src/tests/unit/unit_hpack_tables.c:1932,1
    - Dst: MHDT_EXPECT_UINT_EQ_VAL
      Src: /src/mhd2/src/tests/unit/unit_hpack_tables.c:1933,1
    - Dst: mhd_dtbl_get_num_entries
      Src: /src/mhd2/src/tests/unit/unit_hpack_tables.c:1933,1
    - Dst: MHDT_EXPECT_UINT_EQ_VAL
      Src: /src/mhd2/src/tests/unit/unit_hpack_tables.c:1934,1
    - Dst: mhdtl_dyn_get_size_used
      Src: /src/mhd2/src/tests/unit/unit_hpack_tables.c:1934,1
    - Dst: mhdtl_dyn_check_entry_at_idx
      Src: /src/mhd2/src/tests/unit/unit_hpack_tables.c:1935,1
    - Dst: mhdtl_dyn_check_entry_at_idx
      Src: /src/mhd2/src/tests/unit/unit_hpack_tables.c:1939,1
    - Dst: MHDT_EXPECT_TRUE_D
      Src: /src/mhd2/src/tests/unit/unit_hpack_tables.c:1945,1
    - Dst: mhd_dtbl_resize
      Src: /src/mhd2/src/tests/unit/unit_hpack_tables.c:1945,1
    - Dst: MHDT_EXPECT_PTR_NONNULL
      Src: /src/mhd2/src/tests/unit/unit_hpack_tables.c:1946,1
    - Dst: MHDT_EXPECT_UINT_EQ_VAL
      Src: /src/mhd2/src/tests/unit/unit_hpack_tables.c:1947,1
    - Dst: mhd_dtbl_get_table_max_size
      Src: /src/mhd2/src/tests/unit/unit_hpack_tables.c:1947,1
    - Dst: MHDT_EXPECT_UINT_EQ_VAL
      Src: /src/mhd2/src/tests/unit/unit_hpack_tables.c:1948,1
    - Dst: mhd_dtbl_get_num_entries
      Src: /src/mhd2/src/tests/unit/unit_hpack_tables.c:1948,1
    - Dst: MHDT_EXPECT_UINT_EQ_VAL
      Src: /src/mhd2/src/tests/unit/unit_hpack_tables.c:1949,1
    - Dst: mhdtl_dyn_get_size_used
      Src: /src/mhd2/src/tests/unit/unit_hpack_tables.c:1949,1
    - Dst: mhdtl_dyn_check_entry_at_idx
      Src: /src/mhd2/src/tests/unit/unit_hpack_tables.c:1950,1
    - Dst: mhdtl_dyn_check_entry_at_idx
      Src: /src/mhd2/src/tests/unit/unit_hpack_tables.c:1954,1
    - Dst: MHDT_EXPECT_TRUE_D
      Src: /src/mhd2/src/tests/unit/unit_hpack_tables.c:1960,1
    - Dst: mhd_dtbl_resize
      Src: /src/mhd2/src/tests/unit/unit_hpack_tables.c:1960,1
    - Dst: MHDT_EXPECT_PTR_NONNULL
      Src: /src/mhd2/src/tests/unit/unit_hpack_tables.c:1961,1
    - Dst: MHDT_EXPECT_UINT_EQ_VAL
      Src: /src/mhd2/src/tests/unit/unit_hpack_tables.c:1962,1
    - Dst: mhd_dtbl_get_table_max_size
      Src: /src/mhd2/src/tests/unit/unit_hpack_tables.c:1962,1
    - Dst: MHDT_EXPECT_UINT_EQ_VAL
      Src: /src/mhd2/src/tests/unit/unit_hpack_tables.c:1963,1
    - Dst: mhd_dtbl_get_num_entries
      Src: /src/mhd2/src/tests/unit/unit_hpack_tables.c:1963,1
    - Dst: MHDT_EXPECT_UINT_EQ_VAL
      Src: /src/mhd2/src/tests/unit/unit_hpack_tables.c:1964,1
    - Dst: mhdtl_dyn_get_size_used
      Src: /src/mhd2/src/tests/unit/unit_hpack_tables.c:1964,1
    - Dst: mhdtl_dyn_add_hdr_with_check
      Src: /src/mhd2/src/tests/unit/unit_hpack_tables.c:1965,1
    - Dst: MHDT_EXPECT_UINT_EQ_VAL
      Src: /src/mhd2/src/tests/unit/unit_hpack_tables.c:1966,1
    - Dst: mhd_dtbl_get_num_entries
      Src: /src/mhd2/src/tests/unit/unit_hpack_tables.c:1966,1
    - Dst: MHDT_EXPECT_UINT_EQ_VAL
      Src: /src/mhd2/src/tests/unit/unit_hpack_tables.c:1967,1
    - Dst: mhdtl_dyn_get_size_used
      Src: /src/mhd2/src/tests/unit/unit_hpack_tables.c:1967,1
    - Dst: mhdtl_dyn_check_entry_at_idx
      Src: /src/mhd2/src/tests/unit/unit_hpack_tables.c:1968,1
    - Dst: MHDT_EXPECT_TRUE_D
      Src: /src/mhd2/src/tests/unit/unit_hpack_tables.c:1974,1
    - Dst: mhd_dtbl_resize
      Src: /src/mhd2/src/tests/unit/unit_hpack_tables.c:1974,1
    - Dst: MHDT_EXPECT_PTR_NONNULL
      Src: /src/mhd2/src/tests/unit/unit_hpack_tables.c:1975,1
    - Dst: MHDT_EXPECT_UINT_EQ_VAL
      Src: /src/mhd2/src/tests/unit/unit_hpack_tables.c:1976,1
    - Dst: mhd_dtbl_get_table_max_size
      Src: /src/mhd2/src/tests/unit/unit_hpack_tables.c:1976,1
    - Dst: MHDT_EXPECT_UINT_EQ_VAL
      Src: /src/mhd2/src/tests/unit/unit_hpack_tables.c:1977,1
    - Dst: mhd_dtbl_get_num_entries
      Src: /src/mhd2/src/tests/unit/unit_hpack_tables.c:1977,1
    - Dst: MHDT_EXPECT_UINT_EQ_VAL
      Src: /src/mhd2/src/tests/unit/unit_hpack_tables.c:1978,1
    - Dst: mhdtl_dyn_get_size_used
      Src: /src/mhd2/src/tests/unit/unit_hpack_tables.c:1978,1
    - Dst: mhdtl_dyn_check_entry_at_idx
      Src: /src/mhd2/src/tests/unit/unit_hpack_tables.c:1979,1
    - Dst: MHDT_EXPECT_TRUE_D
      Src: /src/mhd2/src/tests/unit/unit_hpack_tables.c:1985,1
    - Dst: mhd_dtbl_resize
      Src: /src/mhd2/src/tests/unit/unit_hpack_tables.c:1985,1
    - Dst: MHDT_EXPECT_PTR_NONNULL
      Src: /src/mhd2/src/tests/unit/unit_hpack_tables.c:1986,1
    - Dst: MHDT_EXPECT_UINT_EQ_VAL
      Src: /src/mhd2/src/tests/unit/unit_hpack_tables.c:1987,1
    - Dst: mhd_dtbl_get_table_max_size
      Src: /src/mhd2/src/tests/unit/unit_hpack_tables.c:1987,1
    - Dst: MHDT_EXPECT_UINT_EQ_VAL
      Src: /src/mhd2/src/tests/unit/unit_hpack_tables.c:1988,1
    - Dst: mhd_dtbl_get_num_entries
      Src: /src/mhd2/src/tests/unit/unit_hpack_tables.c:1988,1
    - Dst: MHDT_EXPECT_UINT_EQ_VAL
      Src: /src/mhd2/src/tests/unit/unit_hpack_tables.c:1989,1
    - Dst: mhdtl_dyn_get_size_used
      Src: /src/mhd2/src/tests/unit/unit_hpack_tables.c:1989,1
    - Dst: mhdtl_dyn_add_sized_entry_with_check
      Src: /src/mhd2/src/tests/unit/unit_hpack_tables.c:1990,1
    - Dst: MHDT_EXPECT_UINT_EQ_VAL
      Src: /src/mhd2/src/tests/unit/unit_hpack_tables.c:1991,1
    - Dst: mhd_dtbl_get_num_entries
      Src: /src/mhd2/src/tests/unit/unit_hpack_tables.c:1991,1
    - Dst: MHDT_EXPECT_UINT_EQ_VAL
      Src: /src/mhd2/src/tests/unit/unit_hpack_tables.c:1992,1
    - Dst: mhdtl_dyn_get_size_used
      Src: /src/mhd2/src/tests/unit/unit_hpack_tables.c:1992,1
    - Dst: mhdtl_dyn_check_entry_at_idx
      Src: /src/mhd2/src/tests/unit/unit_hpack_tables.c:1993,1
    - Dst: mhd_dtbl_destroy
      Src: /src/mhd2/src/tests/unit/unit_hpack_tables.c:1998,1
    - Dst: MHDT_TEST_RESULT
      Src: /src/mhd2/src/tests/unit/unit_hpack_tables.c:2000,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 49
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2001
      start: 1912
    functionDepth: 3
    functionLinenumber: 1912
    functionLinenumberEnd: 2001
    functionName: test_dyn_resize
    functionSourceFile: /src/mhd2/src/tests/unit/unit_hpack_tables.c
    functionUses: 0
    functionsReached:
    - mhd_dtbl_get_num_entries
    - MHDT_EXPECT_UINT_EQ_VAL
    - MHDT_TEST_RESULT
    - mhd_dtbl_destroy
    - mhd_dtbl_resize
    - mhd_dtbl_get_table_max_size
    - MHDT_EXPECT_TRUE_D
    - MHDT_EXPECT_PTR_NONNULL
    - mhdtl_dyn_check_entry_at_idx
    - MHDT_EXPECT_PTR_NONNULL_D
    - mhdtl_dyn_add_hdr_with_check
    - mhdtl_dyn_add_sized_entry_with_check
    - mhdtl_dyn_get_size_used
    - mhd_dtbl_create
    linkageType: ''
    returnType: int
    signature: int test_dyn_resize (void)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: MHDT_EXPECT_PTR_NONNULL_D
      Src: /src/mhd2/src/tests/unit/unit_hpack_tables.c:2017,1
    - Dst: mhd_dtbl_create
      Src: /src/mhd2/src/tests/unit/unit_hpack_tables.c:2017,1
    - Dst: MHDT_TEST_RESULT
      Src: /src/mhd2/src/tests/unit/unit_hpack_tables.c:2020,1
    - Dst: mhdtl_dyn_add_hdr_with_check
      Src: /src/mhd2/src/tests/unit/unit_hpack_tables.c:2022,1
    - Dst: mhdtl_dyn_add_hdr_with_check
      Src: /src/mhd2/src/tests/unit/unit_hpack_tables.c:2023,1
    - Dst: mhdtl_dyn_add_hdr_with_check
      Src: /src/mhd2/src/tests/unit/unit_hpack_tables.c:2024,1
    - Dst: mhdtl_dyn_add_hdr_with_check
      Src: /src/mhd2/src/tests/unit/unit_hpack_tables.c:2025,1
    - Dst: mhdtl_dyn_check_entry_at_idx
      Src: /src/mhd2/src/tests/unit/unit_hpack_tables.c:2027,1
    - Dst: mhdtl_dyn_check_entry_at_idx
      Src: /src/mhd2/src/tests/unit/unit_hpack_tables.c:2030,1
    - Dst: mhdtl_dyn_check_entry_at_idx
      Src: /src/mhd2/src/tests/unit/unit_hpack_tables.c:2033,1
    - Dst: mhdtl_dyn_check_entry_at_idx
      Src: /src/mhd2/src/tests/unit/unit_hpack_tables.c:2036,1
    - Dst: mhd_dtbl_destroy
      Src: /src/mhd2/src/tests/unit/unit_hpack_tables.c:2040,1
    - Dst: MHDT_TEST_RESULT
      Src: /src/mhd2/src/tests/unit/unit_hpack_tables.c:2042,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 14
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2043
      start: 2004
    functionDepth: 3
    functionLinenumber: 2004
    functionLinenumberEnd: 2043
    functionName: test_dyn_find
    functionSourceFile: /src/mhd2/src/tests/unit/unit_hpack_tables.c
    functionUses: 0
    functionsReached:
    - MHDT_TEST_RESULT
    - mhd_dtbl_destroy
    - mhdtl_dyn_check_entry_at_idx
    - MHDT_EXPECT_PTR_NONNULL_D
    - mhdtl_dyn_add_hdr_with_check
    - mhd_dtbl_create
    linkageType: ''
    returnType: int
    signature: int test_dyn_find (void)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: MHDT_EXPECT_PTR_NONNULL_D
      Src: /src/mhd2/src/tests/unit/unit_hpack_tables.c:2052,1
    - Dst: mhd_dtbl_create
      Src: /src/mhd2/src/tests/unit/unit_hpack_tables.c:2052,1
    - Dst: MHDT_TEST_RESULT
      Src: /src/mhd2/src/tests/unit/unit_hpack_tables.c:2055,1
    - Dst: mhdtl_dyn_add_hdr_with_check
      Src: /src/mhd2/src/tests/unit/unit_hpack_tables.c:2058,1
    - Dst: mhdtl_dyn_add_hdr_with_check
      Src: /src/mhd2/src/tests/unit/unit_hpack_tables.c:2059,1
    - Dst: MHDT_EXPECT_UINT_EQ_VAL
      Src: /src/mhd2/src/tests/unit/unit_hpack_tables.c:2060,1
    - Dst: mhd_dtbl_get_num_entries
      Src: /src/mhd2/src/tests/unit/unit_hpack_tables.c:2060,1
    - Dst: mhdtl_dyn_add_sized_entry_with_check
      Src: /src/mhd2/src/tests/unit/unit_hpack_tables.c:2062,1
    - Dst: MHDT_EXPECT_UINT_EQ_VAL
      Src: /src/mhd2/src/tests/unit/unit_hpack_tables.c:2063,1
    - Dst: mhd_dtbl_get_num_entries
      Src: /src/mhd2/src/tests/unit/unit_hpack_tables.c:2063,1
    - Dst: mhdtl_dyn_add_hdr_with_check
      Src: /src/mhd2/src/tests/unit/unit_hpack_tables.c:2066,1
    - Dst: mhdtl_dyn_add_hdr_with_check
      Src: /src/mhd2/src/tests/unit/unit_hpack_tables.c:2067,1
    - Dst: MHDT_EXPECT_UINT_EQ_VAL
      Src: /src/mhd2/src/tests/unit/unit_hpack_tables.c:2068,1
    - Dst: mhd_dtbl_get_num_entries
      Src: /src/mhd2/src/tests/unit/unit_hpack_tables.c:2068,1
    - Dst: mhdtl_dyn_add_sized_entry_with_check
      Src: /src/mhd2/src/tests/unit/unit_hpack_tables.c:2070,1
    - Dst: MHDT_EXPECT_UINT_EQ_VAL
      Src: /src/mhd2/src/tests/unit/unit_hpack_tables.c:2071,1
    - Dst: mhd_dtbl_get_num_entries
      Src: /src/mhd2/src/tests/unit/unit_hpack_tables.c:2071,1
    - Dst: MHDT_EXPECT_TRUE
      Src: /src/mhd2/src/tests/unit/unit_hpack_tables.c:2078,1
    - Dst: mhd_dtbl_get_entry
      Src: /src/mhd2/src/tests/unit/unit_hpack_tables.c:2078,1
    - Dst: MHDT_EXPECT_UINT_GT_VAL
      Src: /src/mhd2/src/tests/unit/unit_hpack_tables.c:2083,1
    - Dst: MHDT_EXPECT_UINT_GT_VAL
      Src: /src/mhd2/src/tests/unit/unit_hpack_tables.c:2084,1
    - Dst: mhd_dtbl_destroy
      Src: /src/mhd2/src/tests/unit/unit_hpack_tables.c:2088,1
    - Dst: MHDT_TEST_RESULT
      Src: /src/mhd2/src/tests/unit/unit_hpack_tables.c:2090,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 22
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2091
      start: 2046
    functionDepth: 3
    functionLinenumber: 2046
    functionLinenumberEnd: 2091
    functionName: test_dyn_reset_on_too_large
    functionSourceFile: /src/mhd2/src/tests/unit/unit_hpack_tables.c
    functionUses: 0
    functionsReached:
    - mhd_dtbl_get_entry
    - mhd_dtbl_get_num_entries
    - MHDT_EXPECT_UINT_EQ_VAL
    - MHDT_EXPECT_TRUE
    - MHDT_TEST_RESULT
    - mhd_dtbl_destroy
    - MHDT_EXPECT_PTR_NONNULL_D
    - mhdtl_dyn_add_hdr_with_check
    - MHDT_EXPECT_UINT_GT_VAL
    - mhdtl_dyn_add_sized_entry_with_check
    - mhd_dtbl_create
    linkageType: ''
    returnType: int
    signature: int test_dyn_reset_on_too_large (void)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: MHDT_EXPECT_PTR_NONNULL_D
      Src: /src/mhd2/src/tests/unit/unit_hpack_tables.c:2100,1
    - Dst: mhd_dtbl_create
      Src: /src/mhd2/src/tests/unit/unit_hpack_tables.c:2100,1
    - Dst: MHDT_TEST_RESULT
      Src: /src/mhd2/src/tests/unit/unit_hpack_tables.c:2103,1
    - Dst: mhdtl_dyn_add_hdr_with_check
      Src: /src/mhd2/src/tests/unit/unit_hpack_tables.c:2105,1
    - Dst: mhdtl_dyn_add_hdr_with_check
      Src: /src/mhd2/src/tests/unit/unit_hpack_tables.c:2106,1
    - Dst: MHDT_EXPECT_UINT_EQ_VAL
      Src: /src/mhd2/src/tests/unit/unit_hpack_tables.c:2107,1
    - Dst: mhd_dtbl_get_num_entries
      Src: /src/mhd2/src/tests/unit/unit_hpack_tables.c:2107,1
    - Dst: mhdtl_dyn_add_sized_strs_with_check
      Src: /src/mhd2/src/tests/unit/unit_hpack_tables.c:2109,1
    - Dst: MHDT_EXPECT_UINT_EQ_VAL
      Src: /src/mhd2/src/tests/unit/unit_hpack_tables.c:2110,1
    - Dst: mhd_dtbl_get_num_entries
      Src: /src/mhd2/src/tests/unit/unit_hpack_tables.c:2110,1
    - Dst: MHDT_EXPECT_TRUE_D
      Src: /src/mhd2/src/tests/unit/unit_hpack_tables.c:2113,1
    - Dst: mhd_dtbl_resize
      Src: /src/mhd2/src/tests/unit/unit_hpack_tables.c:2113,1
    - Dst: MHDT_EXPECT_UINT_EQ_VAL
      Src: /src/mhd2/src/tests/unit/unit_hpack_tables.c:2115,1
    - Dst: mhd_dtbl_get_table_max_size
      Src: /src/mhd2/src/tests/unit/unit_hpack_tables.c:2115,1
    - Dst: mhdtl_dyn_add_sized_strs_with_check
      Src: /src/mhd2/src/tests/unit/unit_hpack_tables.c:2117,1
    - Dst: MHDT_EXPECT_UINT_EQ_VAL
      Src: /src/mhd2/src/tests/unit/unit_hpack_tables.c:2118,1
    - Dst: mhd_dtbl_get_num_entries
      Src: /src/mhd2/src/tests/unit/unit_hpack_tables.c:2118,1
    - Dst: MHDT_EXPECT_TRUE_D
      Src: /src/mhd2/src/tests/unit/unit_hpack_tables.c:2121,1
    - Dst: mhd_dtbl_resize
      Src: /src/mhd2/src/tests/unit/unit_hpack_tables.c:2121,1
    - Dst: MHDT_EXPECT_UINT_EQ_VAL
      Src: /src/mhd2/src/tests/unit/unit_hpack_tables.c:2123,1
    - Dst: mhd_dtbl_get_table_max_size
      Src: /src/mhd2/src/tests/unit/unit_hpack_tables.c:2123,1
    - Dst: mhdtl_dyn_add_hdr_with_check
      Src: /src/mhd2/src/tests/unit/unit_hpack_tables.c:2125,1
    - Dst: mhdtl_dyn_add_hdr_with_check
      Src: /src/mhd2/src/tests/unit/unit_hpack_tables.c:2126,1
    - Dst: MHDT_EXPECT_UINT_EQ_VAL
      Src: /src/mhd2/src/tests/unit/unit_hpack_tables.c:2127,1
    - Dst: mhd_dtbl_get_num_entries
      Src: /src/mhd2/src/tests/unit/unit_hpack_tables.c:2127,1
    - Dst: mhd_dtbl_evict_to_size
      Src: /src/mhd2/src/tests/unit/unit_hpack_tables.c:2129,1
    - Dst: MHDT_EXPECT_UINT_EQ_VAL
      Src: /src/mhd2/src/tests/unit/unit_hpack_tables.c:2130,1
    - Dst: mhd_dtbl_get_num_entries
      Src: /src/mhd2/src/tests/unit/unit_hpack_tables.c:2130,1
    - Dst: mhdtl_dyn_add_hdr_with_check
      Src: /src/mhd2/src/tests/unit/unit_hpack_tables.c:2132,1
    - Dst: mhdtl_dyn_add_hdr_with_check
      Src: /src/mhd2/src/tests/unit/unit_hpack_tables.c:2133,1
    - Dst: MHDT_EXPECT_UINT_EQ_VAL
      Src: /src/mhd2/src/tests/unit/unit_hpack_tables.c:2134,1
    - Dst: mhd_dtbl_get_num_entries
      Src: /src/mhd2/src/tests/unit/unit_hpack_tables.c:2134,1
    - Dst: mhdtl_dyn_add_sized_entry_with_check
      Src: /src/mhd2/src/tests/unit/unit_hpack_tables.c:2136,1
    - Dst: MHDT_EXPECT_UINT_EQ_VAL
      Src: /src/mhd2/src/tests/unit/unit_hpack_tables.c:2137,1
    - Dst: mhd_dtbl_get_num_entries
      Src: /src/mhd2/src/tests/unit/unit_hpack_tables.c:2137,1
    - Dst: mhdtl_dyn_check_entry_at_idx
      Src: /src/mhd2/src/tests/unit/unit_hpack_tables.c:2138,1
    - Dst: mhdtl_dyn_check_entry_at_idx
      Src: /src/mhd2/src/tests/unit/unit_hpack_tables.c:2142,1
    - Dst: mhdtl_dyn_add_hdr_with_check
      Src: /src/mhd2/src/tests/unit/unit_hpack_tables.c:2148,1
    - Dst: mhdtl_dyn_add_hdr_with_check
      Src: /src/mhd2/src/tests/unit/unit_hpack_tables.c:2149,1
    - Dst: MHDT_EXPECT_UINT_EQ_VAL
      Src: /src/mhd2/src/tests/unit/unit_hpack_tables.c:2150,1
    - Dst: mhd_dtbl_get_num_entries
      Src: /src/mhd2/src/tests/unit/unit_hpack_tables.c:2150,1
    - Dst: mhdtl_dyn_check_entry_at_idx
      Src: /src/mhd2/src/tests/unit/unit_hpack_tables.c:2151,1
    - Dst: mhdtl_dyn_check_entry_at_idx
      Src: /src/mhd2/src/tests/unit/unit_hpack_tables.c:2155,1
    - Dst: MHDT_EXPECT_TRUE_D
      Src: /src/mhd2/src/tests/unit/unit_hpack_tables.c:2161,1
    - Dst: mhd_dtbl_resize
      Src: /src/mhd2/src/tests/unit/unit_hpack_tables.c:2161,1
    - Dst: MHDT_EXPECT_UINT_EQ_VAL
      Src: /src/mhd2/src/tests/unit/unit_hpack_tables.c:2163,1
    - Dst: mhd_dtbl_get_table_max_size
      Src: /src/mhd2/src/tests/unit/unit_hpack_tables.c:2163,1
    - Dst: MHDT_EXPECT_UINT_EQ_VAL
      Src: /src/mhd2/src/tests/unit/unit_hpack_tables.c:2164,1
    - Dst: mhd_dtbl_get_num_entries
      Src: /src/mhd2/src/tests/unit/unit_hpack_tables.c:2164,1
    - Dst: mhd_dtbl_evict_to_size
      Src: /src/mhd2/src/tests/unit/unit_hpack_tables.c:2165,1
    - Dst: MHDT_EXPECT_UINT_EQ_VAL
      Src: /src/mhd2/src/tests/unit/unit_hpack_tables.c:2166,1
    - Dst: mhd_dtbl_get_table_max_size
      Src: /src/mhd2/src/tests/unit/unit_hpack_tables.c:2166,1
    - Dst: MHDT_EXPECT_UINT_EQ_VAL
      Src: /src/mhd2/src/tests/unit/unit_hpack_tables.c:2167,1
    - Dst: mhd_dtbl_get_num_entries
      Src: /src/mhd2/src/tests/unit/unit_hpack_tables.c:2167,1
    - Dst: mhdtl_dyn_add_hdr_with_check
      Src: /src/mhd2/src/tests/unit/unit_hpack_tables.c:2169,1
    - Dst: mhdtl_dyn_add_hdr_with_check
      Src: /src/mhd2/src/tests/unit/unit_hpack_tables.c:2170,1
    - Dst: MHDT_EXPECT_UINT_EQ_VAL
      Src: /src/mhd2/src/tests/unit/unit_hpack_tables.c:2171,1
    - Dst: mhd_dtbl_get_num_entries
      Src: /src/mhd2/src/tests/unit/unit_hpack_tables.c:2171,1
    - Dst: mhdtl_dyn_add_sized_strs_with_check
      Src: /src/mhd2/src/tests/unit/unit_hpack_tables.c:2172,1
    - Dst: MHDT_EXPECT_UINT_EQ_VAL
      Src: /src/mhd2/src/tests/unit/unit_hpack_tables.c:2173,1
    - Dst: mhd_dtbl_get_num_entries
      Src: /src/mhd2/src/tests/unit/unit_hpack_tables.c:2173,1
    - Dst: MHDT_EXPECT_TRUE_D
      Src: /src/mhd2/src/tests/unit/unit_hpack_tables.c:2176,1
    - Dst: mhd_dtbl_resize
      Src: /src/mhd2/src/tests/unit/unit_hpack_tables.c:2176,1
    - Dst: MHDT_EXPECT_UINT_EQ_VAL
      Src: /src/mhd2/src/tests/unit/unit_hpack_tables.c:2178,1
    - Dst: mhd_dtbl_get_num_entries
      Src: /src/mhd2/src/tests/unit/unit_hpack_tables.c:2178,1
    - Dst: mhdtl_dyn_add_hdr_with_check
      Src: /src/mhd2/src/tests/unit/unit_hpack_tables.c:2179,1
    - Dst: MHDT_EXPECT_UINT_EQ_VAL
      Src: /src/mhd2/src/tests/unit/unit_hpack_tables.c:2180,1
    - Dst: mhd_dtbl_get_num_entries
      Src: /src/mhd2/src/tests/unit/unit_hpack_tables.c:2180,1
    - Dst: mhdtl_dyn_add_sized_strs_with_check
      Src: /src/mhd2/src/tests/unit/unit_hpack_tables.c:2181,1
    - Dst: MHDT_EXPECT_UINT_EQ_VAL
      Src: /src/mhd2/src/tests/unit/unit_hpack_tables.c:2182,1
    - Dst: mhd_dtbl_get_num_entries
      Src: /src/mhd2/src/tests/unit/unit_hpack_tables.c:2182,1
    - Dst: MHDT_EXPECT_TRUE_D
      Src: /src/mhd2/src/tests/unit/unit_hpack_tables.c:2185,1
    - Dst: mhd_dtbl_resize
      Src: /src/mhd2/src/tests/unit/unit_hpack_tables.c:2185,1
    - Dst: MHDT_EXPECT_UINT_EQ_VAL
      Src: /src/mhd2/src/tests/unit/unit_hpack_tables.c:2187,1
    - Dst: mhd_dtbl_get_table_max_size
      Src: /src/mhd2/src/tests/unit/unit_hpack_tables.c:2187,1
    - Dst: mhdtl_dyn_add_sized_strs_with_check
      Src: /src/mhd2/src/tests/unit/unit_hpack_tables.c:2188,1
    - Dst: MHDT_EXPECT_UINT_EQ_VAL
      Src: /src/mhd2/src/tests/unit/unit_hpack_tables.c:2189,1
    - Dst: mhd_dtbl_get_num_entries
      Src: /src/mhd2/src/tests/unit/unit_hpack_tables.c:2189,1
    - Dst: MHDT_EXPECT_TRUE_D
      Src: /src/mhd2/src/tests/unit/unit_hpack_tables.c:2191,1
    - Dst: mhd_dtbl_resize
      Src: /src/mhd2/src/tests/unit/unit_hpack_tables.c:2191,1
    - Dst: MHDT_EXPECT_UINT_EQ_VAL
      Src: /src/mhd2/src/tests/unit/unit_hpack_tables.c:2193,1
    - Dst: mhd_dtbl_get_table_max_size
      Src: /src/mhd2/src/tests/unit/unit_hpack_tables.c:2193,1
    - Dst: MHDT_EXPECT_UINT_EQ_VAL
      Src: /src/mhd2/src/tests/unit/unit_hpack_tables.c:2194,1
    - Dst: mhd_dtbl_get_num_entries
      Src: /src/mhd2/src/tests/unit/unit_hpack_tables.c:2194,1
    - Dst: mhdtl_dyn_add_sized_strs_with_check
      Src: /src/mhd2/src/tests/unit/unit_hpack_tables.c:2195,1
    - Dst: MHDT_EXPECT_UINT_EQ_VAL
      Src: /src/mhd2/src/tests/unit/unit_hpack_tables.c:2196,1
    - Dst: mhd_dtbl_get_num_entries
      Src: /src/mhd2/src/tests/unit/unit_hpack_tables.c:2196,1
    - Dst: MHDT_EXPECT_TRUE_D
      Src: /src/mhd2/src/tests/unit/unit_hpack_tables.c:2197,1
    - Dst: mhd_dtbl_resize
      Src: /src/mhd2/src/tests/unit/unit_hpack_tables.c:2197,1
    - Dst: MHDT_EXPECT_UINT_EQ_VAL
      Src: /src/mhd2/src/tests/unit/unit_hpack_tables.c:2199,1
    - Dst: mhd_dtbl_get_table_max_size
      Src: /src/mhd2/src/tests/unit/unit_hpack_tables.c:2199,1
    - Dst: MHDT_EXPECT_UINT_EQ_VAL
      Src: /src/mhd2/src/tests/unit/unit_hpack_tables.c:2200,1
    - Dst: mhd_dtbl_get_num_entries
      Src: /src/mhd2/src/tests/unit/unit_hpack_tables.c:2200,1
    - Dst: MHDT_EXPECT_TRUE_D
      Src: /src/mhd2/src/tests/unit/unit_hpack_tables.c:2203,1
    - Dst: mhd_dtbl_resize
      Src: /src/mhd2/src/tests/unit/unit_hpack_tables.c:2203,1
    - Dst: MHDT_EXPECT_UINT_EQ_VAL
      Src: /src/mhd2/src/tests/unit/unit_hpack_tables.c:2205,1
    - Dst: mhd_dtbl_get_table_max_size
      Src: /src/mhd2/src/tests/unit/unit_hpack_tables.c:2205,1
    - Dst: mhdtl_dyn_add_sized_strs_with_check
      Src: /src/mhd2/src/tests/unit/unit_hpack_tables.c:2206,1
    - Dst: mhdtl_dyn_add_sized_strs_with_check
      Src: /src/mhd2/src/tests/unit/unit_hpack_tables.c:2207,1
    - Dst: mhdtl_dyn_add_sized_strs_with_check
      Src: /src/mhd2/src/tests/unit/unit_hpack_tables.c:2208,1
    - Dst: mhdtl_dyn_add_sized_strs_with_check
      Src: /src/mhd2/src/tests/unit/unit_hpack_tables.c:2209,1
    - Dst: MHDT_EXPECT_UINT_EQ_VAL
      Src: /src/mhd2/src/tests/unit/unit_hpack_tables.c:2210,1
    - Dst: mhd_dtbl_get_num_entries
      Src: /src/mhd2/src/tests/unit/unit_hpack_tables.c:2210,1
    - Dst: MHDT_EXPECT_UINT_EQ_VAL
      Src: /src/mhd2/src/tests/unit/unit_hpack_tables.c:2211,1
    - Dst: mhdtl_dyn_get_size_used
      Src: /src/mhd2/src/tests/unit/unit_hpack_tables.c:2211,1
    - Dst: mhdtl_dyn_add_hdr_with_check
      Src: /src/mhd2/src/tests/unit/unit_hpack_tables.c:2212,1
    - Dst: mhdtl_dyn_add_hdr_with_check
      Src: /src/mhd2/src/tests/unit/unit_hpack_tables.c:2213,1
    - Dst: mhdtl_dyn_add_hdr_with_check
      Src: /src/mhd2/src/tests/unit/unit_hpack_tables.c:2214,1
    - Dst: mhdtl_dyn_add_hdr_with_check
      Src: /src/mhd2/src/tests/unit/unit_hpack_tables.c:2215,1
    - Dst: MHDT_EXPECT_UINT_EQ_VAL
      Src: /src/mhd2/src/tests/unit/unit_hpack_tables.c:2216,1
    - Dst: mhd_dtbl_get_num_entries
      Src: /src/mhd2/src/tests/unit/unit_hpack_tables.c:2216,1
    - Dst: MHDT_EXPECT_UINT_EQ_VAL
      Src: /src/mhd2/src/tests/unit/unit_hpack_tables.c:2217,1
    - Dst: mhdtl_dyn_get_size_used
      Src: /src/mhd2/src/tests/unit/unit_hpack_tables.c:2217,1
    - Dst: mhdtl_dyn_check_entry_at_idx
      Src: /src/mhd2/src/tests/unit/unit_hpack_tables.c:2218,1
    - Dst: MHDT_EXPECT_TRUE_D
      Src: /src/mhd2/src/tests/unit/unit_hpack_tables.c:2223,1
    - Dst: mhd_dtbl_resize
      Src: /src/mhd2/src/tests/unit/unit_hpack_tables.c:2223,1
    - Dst: MHDT_EXPECT_UINT_EQ_VAL
      Src: /src/mhd2/src/tests/unit/unit_hpack_tables.c:2225,1
    - Dst: mhd_dtbl_get_table_max_size
      Src: /src/mhd2/src/tests/unit/unit_hpack_tables.c:2225,1
    - Dst: MHDT_EXPECT_UINT_EQ_VAL
      Src: /src/mhd2/src/tests/unit/unit_hpack_tables.c:2226,1
    - Dst: mhd_dtbl_get_num_entries
      Src: /src/mhd2/src/tests/unit/unit_hpack_tables.c:2226,1
    - Dst: mhd_dtbl_destroy
      Src: /src/mhd2/src/tests/unit/unit_hpack_tables.c:2228,1
    - Dst: MHDT_TEST_RESULT
      Src: /src/mhd2/src/tests/unit/unit_hpack_tables.c:2230,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 81
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2231
      start: 2094
    functionDepth: 3
    functionLinenumber: 2094
    functionLinenumberEnd: 2231
    functionName: test_dyn_zero_sizes
    functionSourceFile: /src/mhd2/src/tests/unit/unit_hpack_tables.c
    functionUses: 0
    functionsReached:
    - mhd_dtbl_get_num_entries
    - MHDT_EXPECT_UINT_EQ_VAL
    - MHDT_TEST_RESULT
    - mhd_dtbl_destroy
    - mhd_dtbl_resize
    - mhd_dtbl_get_table_max_size
    - MHDT_EXPECT_TRUE_D
    - mhdtl_dyn_check_entry_at_idx
    - MHDT_EXPECT_PTR_NONNULL_D
    - mhdtl_dyn_add_hdr_with_check
    - mhdtl_dyn_add_sized_strs_with_check
    - mhdtl_dyn_add_sized_entry_with_check
    - mhdtl_dyn_get_size_used
    - mhd_dtbl_evict_to_size
    - mhd_dtbl_create
    linkageType: ''
    returnType: int
    signature: int test_dyn_zero_sizes (void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: mhdtl_stat_check_entry_at_idx
      Src: /src/mhd2/src/tests/unit/unit_hpack_tables.c:2237,1
    - Dst: mhdtl_stat_check_entry_at_idx
      Src: /src/mhd2/src/tests/unit/unit_hpack_tables.c:2240,1
    - Dst: mhdtl_stat_check_entry_at_idx
      Src: /src/mhd2/src/tests/unit/unit_hpack_tables.c:2243,1
    - Dst: mhdtl_stat_check_entry_at_idx
      Src: /src/mhd2/src/tests/unit/unit_hpack_tables.c:2246,1
    - Dst: mhdtl_stat_check_entry_at_idx
      Src: /src/mhd2/src/tests/unit/unit_hpack_tables.c:2249,1
    - Dst: mhdtl_stat_check_entry_at_idx
      Src: /src/mhd2/src/tests/unit/unit_hpack_tables.c:2252,1
    - Dst: mhdtl_stat_check_entry_at_idx
      Src: /src/mhd2/src/tests/unit/unit_hpack_tables.c:2255,1
    - Dst: mhdtl_stat_check_entry_at_idx
      Src: /src/mhd2/src/tests/unit/unit_hpack_tables.c:2258,1
    - Dst: mhdtl_stat_check_entry_at_idx
      Src: /src/mhd2/src/tests/unit/unit_hpack_tables.c:2261,1
    - Dst: mhdtl_stat_check_entry_at_idx
      Src: /src/mhd2/src/tests/unit/unit_hpack_tables.c:2264,1
    - Dst: mhdtl_stat_check_entry_at_idx
      Src: /src/mhd2/src/tests/unit/unit_hpack_tables.c:2267,1
    - Dst: mhdtl_stat_check_entry_at_idx
      Src: /src/mhd2/src/tests/unit/unit_hpack_tables.c:2270,1
    - Dst: MHDT_TEST_RESULT
      Src: /src/mhd2/src/tests/unit/unit_hpack_tables.c:2274,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 14
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2275
      start: 2234
    functionDepth: 3
    functionLinenumber: 2234
    functionLinenumberEnd: 2275
    functionName: test_stat_get_find
    functionSourceFile: /src/mhd2/src/tests/unit/unit_hpack_tables.c
    functionUses: 0
    functionsReached:
    - MHDT_TEST_RESULT
    - mhdtl_stat_check_entry_at_idx
    linkageType: ''
    returnType: int
    signature: int test_stat_get_find (void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: MHDT_EXPECT_UINT_EQ_VAL_D
      Src: /src/mhd2/src/tests/unit/unit_hpack_tables.c:2281,1
    - Dst: MHDTL_STBL_FIND_ENTRY_REAL_STR
      Src: /src/mhd2/src/tests/unit/unit_hpack_tables.c:2281,1
    - Dst: MHDT_EXPECT_UINT_EQ_VAL_D
      Src: /src/mhd2/src/tests/unit/unit_hpack_tables.c:2284,1
    - Dst: MHDTL_STBL_FIND_ENTRY_REAL_STR
      Src: /src/mhd2/src/tests/unit/unit_hpack_tables.c:2284,1
    - Dst: MHDT_EXPECT_UINT_EQ_VAL_D
      Src: /src/mhd2/src/tests/unit/unit_hpack_tables.c:2287,1
    - Dst: MHDTL_STBL_FIND_ENTRY_REAL_STR
      Src: /src/mhd2/src/tests/unit/unit_hpack_tables.c:2287,1
    - Dst: MHDT_EXPECT_UINT_EQ_VAL_D
      Src: /src/mhd2/src/tests/unit/unit_hpack_tables.c:2290,1
    - Dst: MHDTL_STBL_FIND_ENTRY_REAL_STR
      Src: /src/mhd2/src/tests/unit/unit_hpack_tables.c:2290,1
    - Dst: MHDT_EXPECT_UINT_EQ_VAL_D
      Src: /src/mhd2/src/tests/unit/unit_hpack_tables.c:2293,1
    - Dst: MHDTL_STBL_FIND_ENTRY_REAL_STR
      Src: /src/mhd2/src/tests/unit/unit_hpack_tables.c:2293,1
    - Dst: MHDT_EXPECT_UINT_EQ_VAL_D
      Src: /src/mhd2/src/tests/unit/unit_hpack_tables.c:2296,1
    - Dst: MHDTL_STBL_FIND_ENTRY_REAL_STR
      Src: /src/mhd2/src/tests/unit/unit_hpack_tables.c:2296,1
    - Dst: MHDT_EXPECT_UINT_EQ_VAL_D
      Src: /src/mhd2/src/tests/unit/unit_hpack_tables.c:2299,1
    - Dst: MHDTL_STBL_FIND_ENTRY_REAL_STR
      Src: /src/mhd2/src/tests/unit/unit_hpack_tables.c:2299,1
    - Dst: MHDT_TEST_RESULT_D
      Src: /src/mhd2/src/tests/unit/unit_hpack_tables.c:2304,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 9
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2305
      start: 2278
    functionDepth: 1
    functionLinenumber: 2278
    functionLinenumberEnd: 2305
    functionName: test_stat_find_non_pseudo_entry_absent
    functionSourceFile: /src/mhd2/src/tests/unit/unit_hpack_tables.c
    functionUses: 0
    functionsReached:
    - MHDTL_STBL_FIND_ENTRY_REAL_STR
    - MHDT_EXPECT_UINT_EQ_VAL_D
    - MHDT_TEST_RESULT_D
    linkageType: ''
    returnType: int
    signature: int test_stat_find_non_pseudo_entry_absent (void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: MHDT_EXPECT_UINT_EQ_VAL_D
      Src: /src/mhd2/src/tests/unit/unit_hpack_tables.c:2311,1
    - Dst: MHDTL_STBL_FIND_NAME_REAL_STR
      Src: /src/mhd2/src/tests/unit/unit_hpack_tables.c:2311,1
    - Dst: MHDT_EXPECT_UINT_EQ_VAL_D
      Src: /src/mhd2/src/tests/unit/unit_hpack_tables.c:2314,1
    - Dst: MHDTL_STBL_FIND_NAME_REAL_STR
      Src: /src/mhd2/src/tests/unit/unit_hpack_tables.c:2314,1
    - Dst: MHDT_EXPECT_UINT_EQ_VAL_D
      Src: /src/mhd2/src/tests/unit/unit_hpack_tables.c:2317,1
    - Dst: MHDTL_STBL_FIND_NAME_REAL_STR
      Src: /src/mhd2/src/tests/unit/unit_hpack_tables.c:2317,1
    - Dst: MHDT_EXPECT_UINT_EQ_VAL_D
      Src: /src/mhd2/src/tests/unit/unit_hpack_tables.c:2320,1
    - Dst: MHDTL_STBL_FIND_NAME_REAL_STR
      Src: /src/mhd2/src/tests/unit/unit_hpack_tables.c:2320,1
    - Dst: MHDT_EXPECT_UINT_EQ_VAL_D
      Src: /src/mhd2/src/tests/unit/unit_hpack_tables.c:2323,1
    - Dst: MHDTL_STBL_FIND_NAME_REAL_STR
      Src: /src/mhd2/src/tests/unit/unit_hpack_tables.c:2323,1
    - Dst: MHDT_TEST_RESULT_D
      Src: /src/mhd2/src/tests/unit/unit_hpack_tables.c:2327,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2328
      start: 2308
    functionDepth: 1
    functionLinenumber: 2308
    functionLinenumberEnd: 2328
    functionName: test_stat_find_non_pseudo_name_absent
    functionSourceFile: /src/mhd2/src/tests/unit/unit_hpack_tables.c
    functionUses: 0
    functionsReached:
    - MHDTL_STBL_FIND_NAME_REAL_STR
    - MHDT_EXPECT_UINT_EQ_VAL_D
    - MHDT_TEST_RESULT_D
    linkageType: ''
    returnType: int
    signature: int test_stat_find_non_pseudo_name_absent (void)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: MHDT_EXPECT_PTR_NONNULL_D
      Src: /src/mhd2/src/tests/unit/unit_hpack_tables.c:2337,1
    - Dst: mhd_dtbl_create
      Src: /src/mhd2/src/tests/unit/unit_hpack_tables.c:2337,1
    - Dst: MHDT_TEST_RESULT
      Src: /src/mhd2/src/tests/unit/unit_hpack_tables.c:2340,1
    - Dst: mhdtl_dyn_add_hdr_with_check
      Src: /src/mhd2/src/tests/unit/unit_hpack_tables.c:2342,1
    - Dst: mhdtl_dyn_add_hdr_with_check
      Src: /src/mhd2/src/tests/unit/unit_hpack_tables.c:2343,1
    - Dst: mhdtl_dyn_add_hdr_with_check
      Src: /src/mhd2/src/tests/unit/unit_hpack_tables.c:2344,1
    - Dst: mhdtl_dyn_add_hdr_with_check
      Src: /src/mhd2/src/tests/unit/unit_hpack_tables.c:2345,1
    - Dst: mhdtl_dyn_add_hdr_with_check
      Src: /src/mhd2/src/tests/unit/unit_hpack_tables.c:2346,1
    - Dst: mhdtl_comb_check_entry_at_idx
      Src: /src/mhd2/src/tests/unit/unit_hpack_tables.c:2348,1
    - Dst: mhdtl_comb_check_entry_at_idx
      Src: /src/mhd2/src/tests/unit/unit_hpack_tables.c:2352,1
    - Dst: mhdtl_comb_check_entry_at_idx
      Src: /src/mhd2/src/tests/unit/unit_hpack_tables.c:2356,1
    - Dst: mhdtl_comb_check_entry_at_idx
      Src: /src/mhd2/src/tests/unit/unit_hpack_tables.c:2360,1
    - Dst: mhdtl_comb_check_entry_at_idx
      Src: /src/mhd2/src/tests/unit/unit_hpack_tables.c:2364,1
    - Dst: mhdtl_comb_check_entry_at_idx
      Src: /src/mhd2/src/tests/unit/unit_hpack_tables.c:2368,1
    - Dst: mhdtl_comb_check_entry_at_idx
      Src: /src/mhd2/src/tests/unit/unit_hpack_tables.c:2372,1
    - Dst: mhdtl_comb_check_entry_at_idx
      Src: /src/mhd2/src/tests/unit/unit_hpack_tables.c:2376,1
    - Dst: mhdtl_comb_check_entry_at_idx
      Src: /src/mhd2/src/tests/unit/unit_hpack_tables.c:2380,1
    - Dst: mhdtl_comb_check_entry_at_idx
      Src: /src/mhd2/src/tests/unit/unit_hpack_tables.c:2384,1
    - Dst: mhdtl_comb_check_entry_at_idx
      Src: /src/mhd2/src/tests/unit/unit_hpack_tables.c:2388,1
    - Dst: mhd_dtbl_destroy
      Src: /src/mhd2/src/tests/unit/unit_hpack_tables.c:2393,1
    - Dst: MHDT_TEST_RESULT
      Src: /src/mhd2/src/tests/unit/unit_hpack_tables.c:2395,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 22
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2396
      start: 2331
    functionDepth: 3
    functionLinenumber: 2331
    functionLinenumberEnd: 2396
    functionName: test_comb_get_find
    functionSourceFile: /src/mhd2/src/tests/unit/unit_hpack_tables.c
    functionUses: 0
    functionsReached:
    - MHDT_TEST_RESULT
    - mhdtl_comb_check_entry_at_idx
    - mhd_dtbl_destroy
    - MHDT_EXPECT_PTR_NONNULL_D
    - mhdtl_dyn_add_hdr_with_check
    - mhd_dtbl_create
    linkageType: ''
    returnType: int
    signature: int test_comb_get_find (void)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: MHDT_EXPECT_PTR_NONNULL_D
      Src: /src/mhd2/src/tests/unit/unit_hpack_tables.c:2405,1
    - Dst: mhd_dtbl_create
      Src: /src/mhd2/src/tests/unit/unit_hpack_tables.c:2405,1
    - Dst: MHDT_TEST_RESULT
      Src: /src/mhd2/src/tests/unit/unit_hpack_tables.c:2408,1
    - Dst: mhdtl_dyn_add_hdr_with_check
      Src: /src/mhd2/src/tests/unit/unit_hpack_tables.c:2410,1
    - Dst: mhdtl_dyn_add_hdr_with_check
      Src: /src/mhd2/src/tests/unit/unit_hpack_tables.c:2411,1
    - Dst: mhdtl_dyn_add_hdr_with_check
      Src: /src/mhd2/src/tests/unit/unit_hpack_tables.c:2412,1
    - Dst: mhdtl_dyn_add_hdr_with_check
      Src: /src/mhd2/src/tests/unit/unit_hpack_tables.c:2413,1
    - Dst: mhdtl_dyn_add_hdr_with_check
      Src: /src/mhd2/src/tests/unit/unit_hpack_tables.c:2414,1
    - Dst: MHDT_EXPECT_UINT_EQ_VAL_D
      Src: /src/mhd2/src/tests/unit/unit_hpack_tables.c:2416,1
    - Dst: MHDTL_HTBL_FIND_ENTRY_REAL_STR
      Src: /src/mhd2/src/tests/unit/unit_hpack_tables.c:2416,1
    - Dst: MHDT_EXPECT_UINT_EQ_VAL_D
      Src: /src/mhd2/src/tests/unit/unit_hpack_tables.c:2419,1
    - Dst: MHDTL_HTBL_FIND_ENTRY_REAL_STR
      Src: /src/mhd2/src/tests/unit/unit_hpack_tables.c:2419,1
    - Dst: MHDT_EXPECT_UINT_EQ_VAL_D
      Src: /src/mhd2/src/tests/unit/unit_hpack_tables.c:2422,1
    - Dst: MHDTL_HTBL_FIND_ENTRY_REAL_STR
      Src: /src/mhd2/src/tests/unit/unit_hpack_tables.c:2422,1
    - Dst: MHDT_EXPECT_UINT_EQ_VAL_D
      Src: /src/mhd2/src/tests/unit/unit_hpack_tables.c:2425,1
    - Dst: MHDTL_HTBL_FIND_ENTRY_REAL_STR
      Src: /src/mhd2/src/tests/unit/unit_hpack_tables.c:2425,1
    - Dst: MHDT_EXPECT_UINT_EQ_VAL_D
      Src: /src/mhd2/src/tests/unit/unit_hpack_tables.c:2428,1
    - Dst: MHDTL_HTBL_FIND_ENTRY_REAL_STR
      Src: /src/mhd2/src/tests/unit/unit_hpack_tables.c:2428,1
    - Dst: MHDT_EXPECT_UINT_EQ_VAL_D
      Src: /src/mhd2/src/tests/unit/unit_hpack_tables.c:2432,1
    - Dst: MHDTL_HTBL_FIND_ENTRY_REAL_STR
      Src: /src/mhd2/src/tests/unit/unit_hpack_tables.c:2432,1
    - Dst: mhdtl_comb_check_entry_at_idx
      Src: /src/mhd2/src/tests/unit/unit_hpack_tables.c:2437,1
    - Dst: mhdtl_comb_check_entry_at_idx
      Src: /src/mhd2/src/tests/unit/unit_hpack_tables.c:2440,1
    - Dst: mhd_dtbl_destroy
      Src: /src/mhd2/src/tests/unit/unit_hpack_tables.c:2444,1
    - Dst: MHDT_TEST_RESULT
      Src: /src/mhd2/src/tests/unit/unit_hpack_tables.c:2446,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 19
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2447
      start: 2399
    functionDepth: 3
    functionLinenumber: 2399
    functionLinenumberEnd: 2447
    functionName: test_comb_find_entry_absent
    functionSourceFile: /src/mhd2/src/tests/unit/unit_hpack_tables.c
    functionUses: 0
    functionsReached:
    - MHDTL_HTBL_FIND_ENTRY_REAL_STR
    - MHDT_TEST_RESULT
    - mhdtl_comb_check_entry_at_idx
    - mhd_dtbl_destroy
    - MHDT_EXPECT_PTR_NONNULL_D
    - MHDT_EXPECT_UINT_EQ_VAL_D
    - mhdtl_dyn_add_hdr_with_check
    - mhd_dtbl_create
    linkageType: ''
    returnType: int
    signature: int test_comb_find_entry_absent (void)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: MHDT_EXPECT_PTR_NONNULL_D
      Src: /src/mhd2/src/tests/unit/unit_hpack_tables.c:2456,1
    - Dst: mhd_dtbl_create
      Src: /src/mhd2/src/tests/unit/unit_hpack_tables.c:2456,1
    - Dst: MHDT_TEST_RESULT
      Src: /src/mhd2/src/tests/unit/unit_hpack_tables.c:2459,1
    - Dst: mhdtl_dyn_add_hdr_with_check
      Src: /src/mhd2/src/tests/unit/unit_hpack_tables.c:2461,1
    - Dst: mhdtl_dyn_add_hdr_with_check
      Src: /src/mhd2/src/tests/unit/unit_hpack_tables.c:2462,1
    - Dst: mhdtl_dyn_add_hdr_with_check
      Src: /src/mhd2/src/tests/unit/unit_hpack_tables.c:2463,1
    - Dst: mhdtl_dyn_add_hdr_with_check
      Src: /src/mhd2/src/tests/unit/unit_hpack_tables.c:2464,1
    - Dst: mhdtl_dyn_add_hdr_with_check
      Src: /src/mhd2/src/tests/unit/unit_hpack_tables.c:2465,1
    - Dst: MHDT_EXPECT_UINT_EQ_VAL_D
      Src: /src/mhd2/src/tests/unit/unit_hpack_tables.c:2467,1
    - Dst: MHDTL_HTBL_FIND_NAME_REAL_STR
      Src: /src/mhd2/src/tests/unit/unit_hpack_tables.c:2467,1
    - Dst: MHDT_EXPECT_UINT_EQ_VAL_D
      Src: /src/mhd2/src/tests/unit/unit_hpack_tables.c:2470,1
    - Dst: MHDTL_HTBL_FIND_NAME_REAL_STR
      Src: /src/mhd2/src/tests/unit/unit_hpack_tables.c:2470,1
    - Dst: MHDT_EXPECT_UINT_EQ_VAL_D
      Src: /src/mhd2/src/tests/unit/unit_hpack_tables.c:2473,1
    - Dst: MHDTL_HTBL_FIND_NAME_REAL_STR
      Src: /src/mhd2/src/tests/unit/unit_hpack_tables.c:2473,1
    - Dst: MHDT_EXPECT_UINT_EQ_VAL_D
      Src: /src/mhd2/src/tests/unit/unit_hpack_tables.c:2476,1
    - Dst: MHDTL_HTBL_FIND_NAME_REAL_STR
      Src: /src/mhd2/src/tests/unit/unit_hpack_tables.c:2476,1
    - Dst: mhdtl_comb_check_entry_at_idx
      Src: /src/mhd2/src/tests/unit/unit_hpack_tables.c:2480,1
    - Dst: mhdtl_comb_check_entry_at_idx
      Src: /src/mhd2/src/tests/unit/unit_hpack_tables.c:2484,1
    - Dst: mhd_dtbl_destroy
      Src: /src/mhd2/src/tests/unit/unit_hpack_tables.c:2489,1
    - Dst: MHDT_TEST_RESULT
      Src: /src/mhd2/src/tests/unit/unit_hpack_tables.c:2491,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 17
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2492
      start: 2450
    functionDepth: 3
    functionLinenumber: 2450
    functionLinenumberEnd: 2492
    functionName: test_comb_find_name_absent
    functionSourceFile: /src/mhd2/src/tests/unit/unit_hpack_tables.c
    functionUses: 0
    functionsReached:
    - MHDT_TEST_RESULT
    - mhdtl_comb_check_entry_at_idx
    - mhd_dtbl_destroy
    - MHDT_EXPECT_PTR_NONNULL_D
    - MHDT_EXPECT_UINT_EQ_VAL_D
    - mhdtl_dyn_add_hdr_with_check
    - MHDTL_HTBL_FIND_NAME_REAL_STR
    - mhd_dtbl_create
    linkageType: ''
    returnType: int
    signature: int test_comb_find_name_absent (void)
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: mhdt_has_param
      Src: /src/mhd2/src/tests/unit/unit_hpack_tables.c:2502,1
    - Dst: mhdt_has_param
      Src: /src/mhd2/src/tests/unit/unit_hpack_tables.c:2503,1
    - Dst: MHDT_set_verbosity
      Src: /src/mhd2/src/tests/unit/unit_hpack_tables.c:2504,1
    - Dst: mhdt_has_param
      Src: /src/mhd2/src/tests/unit/unit_hpack_tables.c:2505,1
    - Dst: mhdt_has_param
      Src: /src/mhd2/src/tests/unit/unit_hpack_tables.c:2506,1
    - Dst: MHDT_set_verbosity
      Src: /src/mhd2/src/tests/unit/unit_hpack_tables.c:2507,1
    - Dst: mhdt_has_param
      Src: /src/mhd2/src/tests/unit/unit_hpack_tables.c:2510,1
    - Dst: mhdt_has_in_name
      Src: /src/mhd2/src/tests/unit/unit_hpack_tables.c:2512,1
    - Dst: test_dyn_create_destroy
      Src: /src/mhd2/src/tests/unit/unit_hpack_tables.c:2514,1
    - Dst: test_dyn_create_destroy_larger
      Src: /src/mhd2/src/tests/unit/unit_hpack_tables.c:2515,1
    - Dst: test_dyn_add_three
      Src: /src/mhd2/src/tests/unit/unit_hpack_tables.c:2516,1
    - Dst: test_dyn_add_empty
      Src: /src/mhd2/src/tests/unit/unit_hpack_tables.c:2517,1
    - Dst: test_dyn_add_evict_simple
      Src: /src/mhd2/src/tests/unit/unit_hpack_tables.c:2518,1
    - Dst: test_dyn_add_evict_wrap
      Src: /src/mhd2/src/tests/unit/unit_hpack_tables.c:2519,1
    - Dst: test_dyn_add_evict_inter
      Src: /src/mhd2/src/tests/unit/unit_hpack_tables.c:2520,1
    - Dst: test_dyn_evict_to_size
      Src: /src/mhd2/src/tests/unit/unit_hpack_tables.c:2521,1
    - Dst: test_dyn_resize
      Src: /src/mhd2/src/tests/unit/unit_hpack_tables.c:2522,1
    - Dst: test_dyn_find
      Src: /src/mhd2/src/tests/unit/unit_hpack_tables.c:2523,1
    - Dst: test_dyn_reset_on_too_large
      Src: /src/mhd2/src/tests/unit/unit_hpack_tables.c:2524,1
    - Dst: test_dyn_zero_sizes
      Src: /src/mhd2/src/tests/unit/unit_hpack_tables.c:2525,1
    - Dst: test_dyn_add_series
      Src: /src/mhd2/src/tests/unit/unit_hpack_tables.c:2526,1
    - Dst: test_dyn_add_evict_series
      Src: /src/mhd2/src/tests/unit/unit_hpack_tables.c:2527,1
    - Dst: mhdt_has_in_name
      Src: /src/mhd2/src/tests/unit/unit_hpack_tables.c:2529,1
    - Dst: test_stat_get_find
      Src: /src/mhd2/src/tests/unit/unit_hpack_tables.c:2531,1
    - Dst: test_stat_find_non_pseudo_entry_absent
      Src: /src/mhd2/src/tests/unit/unit_hpack_tables.c:2532,1
    - Dst: test_stat_find_non_pseudo_name_absent
      Src: /src/mhd2/src/tests/unit/unit_hpack_tables.c:2533,1
    - Dst: mhdt_has_in_name
      Src: /src/mhd2/src/tests/unit/unit_hpack_tables.c:2535,1
    - Dst: test_comb_get_find
      Src: /src/mhd2/src/tests/unit/unit_hpack_tables.c:2537,1
    - Dst: test_comb_find_entry_absent
      Src: /src/mhd2/src/tests/unit/unit_hpack_tables.c:2538,1
    - Dst: test_comb_find_name_absent
      Src: /src/mhd2/src/tests/unit/unit_hpack_tables.c:2539,1
    - Dst: MHDT_ERR_EXIT_D
      Src: /src/mhd2/src/tests/unit/unit_hpack_tables.c:2542,1
    - Dst: MHDT_FINAL_RESULT
      Src: /src/mhd2/src/tests/unit/unit_hpack_tables.c:2545,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 37
    argCount: 2
    argNames:
    - argc
    - argv
    argTypes:
    - int
    - char**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2546
      start: 2495
    functionDepth: 4
    functionLinenumber: 2495
    functionLinenumberEnd: 2546
    functionName: main
    functionSourceFile: /src/mhd2/src/tests/unit/unit_hpack_tables.c
    functionUses: 0
    functionsReached:
    - test_dyn_add_evict_simple
    - test_dyn_add_empty
    - MHDT_ERR_EXIT_D
    - test_dyn_create_destroy_larger
    - mhdt_has_in_name
    - MHDT_set_verbosity
    - test_dyn_add_evict_inter
    - test_dyn_resize
    - test_dyn_add_three
    - test_stat_find_non_pseudo_entry_absent
    - test_dyn_add_evict_wrap
    - MHDT_FINAL_RESULT
    - mhdt_has_param
    - test_stat_find_non_pseudo_name_absent
    - test_dyn_add_evict_series
    - test_comb_get_find
    - test_dyn_reset_on_too_large
    - test_dyn_zero_sizes
    - test_stat_get_find
    - test_dyn_create_destroy
    - test_dyn_add_series
    - test_comb_find_entry_absent
    - test_comb_find_name_absent
    - test_dyn_evict_to_size
    - test_dyn_find
    linkageType: ''
    returnType: int
    signature: "int main (int argc,\n      char *const *argv)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: strlen
      Src: /src/mhd2/src/tests/unit/unit_sha256.c:72,1
    - Dst: sscanf
      Src: /src/mhd2/src/tests/unit/unit_sha256.c:78,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 3
    argNames:
    - hex
    - bin
    - max_len
    argTypes:
    - char*
    - uint8_t*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 81
      start: 67
    functionDepth: 0
    functionLinenumber: 67
    functionLinenumberEnd: 81
    functionName: hex2bin
    functionSourceFile: /src/mhd2/src/tests/unit/unit_sha256.c
    functionUses: 4
    functionsReached:
    - strlen
    - sscanf
    linkageType: ''
    returnType: size_t
    signature: "size_t hex2bin (const char *hex,\n         uint8_t *bin,\n         size_t
      max_len)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: hex2bin
      Src: /src/mhd2/src/tests/unit/unit_sha256.c:92,1
    - Dst: printf
      Src: /src/mhd2/src/tests/unit/unit_sha256.c:96,1
    - Dst: memcmp
      Src: /src/mhd2/src/tests/unit/unit_sha256.c:100,1
    - Dst: printf
      Src: /src/mhd2/src/tests/unit/unit_sha256.c:102,1
    - Dst: printf
      Src: /src/mhd2/src/tests/unit/unit_sha256.c:103,1
    - Dst: printf
      Src: /src/mhd2/src/tests/unit/unit_sha256.c:104,1
    - Dst: printf
      Src: /src/mhd2/src/tests/unit/unit_sha256.c:107,1
    - Dst: printf
      Src: /src/mhd2/src/tests/unit/unit_sha256.c:109,1
    - Dst: printf
      Src: /src/mhd2/src/tests/unit/unit_sha256.c:113,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 18
    argCount: 4
    argNames:
    - digest
    - digest_len
    - expected_hex
    - test_name
    argTypes:
    - uint8_t*
    - size_t
    - char*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 116
      start: 85
    functionDepth: 0
    functionLinenumber: 85
    functionLinenumberEnd: 116
    functionName: check_digest
    functionSourceFile: /src/mhd2/src/tests/unit/unit_sha256.c
    functionUses: 4
    functionsReached:
    - hex2bin
    - printf
    - memcmp
    linkageType: ''
    returnType: int
    signature: "int check_digest (const uint8_t *digest,\n              size_t digest_len,\n
      \             const char *expected_hex,\n              const char *test_name)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - s
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 126
      start: 125
    functionDepth: 0
    functionLinenumber: 125
    functionLinenumberEnd: 126
    functionName: D_STR_W_LEN
    functionSourceFile: /src/mhd2/src/tests/unit/unit_sha256.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: D_STR_W_LEN(s)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 3
    argNames:
    - bin
    - len
    - hex
    argTypes:
    - uint8_t*
    - size_t
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 381
      start: 367
    functionDepth: 0
    functionLinenumber: 367
    functionLinenumberEnd: 381
    functionName: bin2hex
    functionSourceFile: /src/mhd2/src/tests/unit/unit_sha256.c
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: "void bin2hex (const uint8_t *bin,\n         size_t len,\n         char
      *hex)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: memcmp
      Src: /src/mhd2/src/tests/unit/unit_sha256.c:391,1
    - Dst: bin2hex
      Src: /src/mhd2/src/tests/unit/unit_sha256.c:400,1
    - Dst: bin2hex
      Src: /src/mhd2/src/tests/unit/unit_sha256.c:401,1
    - Dst: fprintf
      Src: /src/mhd2/src/tests/unit/unit_sha256.c:402,1
    - Dst: fflush
      Src: /src/mhd2/src/tests/unit/unit_sha256.c:405,1
    - Dst: bin2hex
      Src: /src/mhd2/src/tests/unit/unit_sha256.c:411,1
    - Dst: printf
      Src: /src/mhd2/src/tests/unit/unit_sha256.c:412,1
    - Dst: fflush
      Src: /src/mhd2/src/tests/unit/unit_sha256.c:415,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 15
    argCount: 4
    argNames:
    - test_name
    - check_num
    - calculated
    - expected
    argTypes:
    - char*
    - unsigned int
    - uint8_t[]
    - uint8_t[]
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 418
      start: 384
    functionDepth: 0
    functionLinenumber: 384
    functionLinenumberEnd: 418
    functionName: check_result
    functionSourceFile: /src/mhd2/src/tests/unit/unit_sha256.c
    functionUses: 10
    functionsReached:
    - fprintf
    - printf
    - fflush
    - memcmp
    - bin2hex
    linkageType: ''
    returnType: unsigned int
    signature: "unsigned int check_result (const char *test_name,\n              unsigned
      int check_num,\n              const uint8_t calculated[mhd_SHA256_DIGEST_SIZE],\n
      \             const uint8_t expected[mhd_SHA256_DIGEST_SIZE])"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: mhd_SHA256_init
      Src: /src/mhd2/src/tests/unit/unit_sha256.c:433,1
    - Dst: mhd_SHA256_update
      Src: /src/mhd2/src/tests/unit/unit_sha256.c:439,1
    - Dst: mhd_SHA256_finish_reset
      Src: /src/mhd2/src/tests/unit/unit_sha256.c:442,1
    - Dst: mhd_SHA256_has_err
      Src: /src/mhd2/src/tests/unit/unit_sha256.c:444,1
    - Dst: fprintf
      Src: /src/mhd2/src/tests/unit/unit_sha256.c:446,1
    - Dst: mhd_SHA256_get_err
      Src: /src/mhd2/src/tests/unit/unit_sha256.c:448,1
    - Dst: mhd_SHA256_deinit
      Src: /src/mhd2/src/tests/unit/unit_sha256.c:449,1
    - Dst: exit
      Src: /src/mhd2/src/tests/unit/unit_sha256.c:450,1
    - Dst: check_result
      Src: /src/mhd2/src/tests/unit/unit_sha256.c:452,1
    - Dst: mhd_SHA256_deinit
      Src: /src/mhd2/src/tests/unit/unit_sha256.c:455,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 15
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 457
      start: 426
    functionDepth: 1
    functionLinenumber: 426
    functionLinenumberEnd: 457
    functionName: test1_str
    functionSourceFile: /src/mhd2/src/tests/unit/unit_sha256.c
    functionUses: 2
    functionsReached:
    - check_result
    - fprintf
    - mhd_SHA256_finish_reset
    - mhd_SHA256_get_err
    - mhd_SHA256_update
    - mhd_SHA256_deinit
    - exit
    - mhd_SHA256_init
    - mhd_SHA256_has_err
    linkageType: ''
    returnType: unsigned int
    signature: unsigned int test1_str (void)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: mhd_SHA256_init
      Src: /src/mhd2/src/tests/unit/unit_sha256.c:467,1
    - Dst: mhd_SHA256_update
      Src: /src/mhd2/src/tests/unit/unit_sha256.c:472,1
    - Dst: mhd_SHA256_finish_reset
      Src: /src/mhd2/src/tests/unit/unit_sha256.c:475,1
    - Dst: mhd_SHA256_has_err
      Src: /src/mhd2/src/tests/unit/unit_sha256.c:476,1
    - Dst: fprintf
      Src: /src/mhd2/src/tests/unit/unit_sha256.c:478,1
    - Dst: mhd_SHA256_get_err
      Src: /src/mhd2/src/tests/unit/unit_sha256.c:480,1
    - Dst: mhd_SHA256_deinit
      Src: /src/mhd2/src/tests/unit/unit_sha256.c:481,1
    - Dst: exit
      Src: /src/mhd2/src/tests/unit/unit_sha256.c:482,1
    - Dst: check_result
      Src: /src/mhd2/src/tests/unit/unit_sha256.c:484,1
    - Dst: mhd_SHA256_deinit
      Src: /src/mhd2/src/tests/unit/unit_sha256.c:487,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 14
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 489
      start: 460
    functionDepth: 1
    functionLinenumber: 460
    functionLinenumberEnd: 489
    functionName: test1_bin
    functionSourceFile: /src/mhd2/src/tests/unit/unit_sha256.c
    functionUses: 2
    functionsReached:
    - check_result
    - fprintf
    - mhd_SHA256_finish_reset
    - mhd_SHA256_get_err
    - mhd_SHA256_update
    - mhd_SHA256_deinit
    - exit
    - mhd_SHA256_init
    - mhd_SHA256_has_err
    linkageType: ''
    returnType: unsigned int
    signature: unsigned int test1_bin (void)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: mhd_SHA256_init
      Src: /src/mhd2/src/tests/unit/unit_sha256.c:500,1
    - Dst: mhd_SHA256_update
      Src: /src/mhd2/src/tests/unit/unit_sha256.c:507,1
    - Dst: mhd_SHA256_update
      Src: /src/mhd2/src/tests/unit/unit_sha256.c:511,1
    - Dst: mhd_SHA256_finish_reset
      Src: /src/mhd2/src/tests/unit/unit_sha256.c:514,1
    - Dst: mhd_SHA256_has_err
      Src: /src/mhd2/src/tests/unit/unit_sha256.c:515,1
    - Dst: fprintf
      Src: /src/mhd2/src/tests/unit/unit_sha256.c:517,1
    - Dst: mhd_SHA256_get_err
      Src: /src/mhd2/src/tests/unit/unit_sha256.c:519,1
    - Dst: mhd_SHA256_deinit
      Src: /src/mhd2/src/tests/unit/unit_sha256.c:520,1
    - Dst: exit
      Src: /src/mhd2/src/tests/unit/unit_sha256.c:521,1
    - Dst: check_result
      Src: /src/mhd2/src/tests/unit/unit_sha256.c:523,1
    - Dst: mhd_SHA256_deinit
      Src: /src/mhd2/src/tests/unit/unit_sha256.c:526,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 17
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 528
      start: 493
    functionDepth: 1
    functionLinenumber: 493
    functionLinenumberEnd: 528
    functionName: test2_str
    functionSourceFile: /src/mhd2/src/tests/unit/unit_sha256.c
    functionUses: 2
    functionsReached:
    - check_result
    - fprintf
    - mhd_SHA256_finish_reset
    - mhd_SHA256_get_err
    - mhd_SHA256_update
    - mhd_SHA256_deinit
    - exit
    - mhd_SHA256_init
    - mhd_SHA256_has_err
    linkageType: ''
    returnType: unsigned int
    signature: unsigned int test2_str (void)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: mhd_SHA256_init
      Src: /src/mhd2/src/tests/unit/unit_sha256.c:538,1
    - Dst: mhd_SHA256_update
      Src: /src/mhd2/src/tests/unit/unit_sha256.c:544,1
    - Dst: mhd_SHA256_update
      Src: /src/mhd2/src/tests/unit/unit_sha256.c:547,1
    - Dst: mhd_SHA256_finish_reset
      Src: /src/mhd2/src/tests/unit/unit_sha256.c:550,1
    - Dst: mhd_SHA256_has_err
      Src: /src/mhd2/src/tests/unit/unit_sha256.c:552,1
    - Dst: fprintf
      Src: /src/mhd2/src/tests/unit/unit_sha256.c:554,1
    - Dst: mhd_SHA256_get_err
      Src: /src/mhd2/src/tests/unit/unit_sha256.c:556,1
    - Dst: mhd_SHA256_deinit
      Src: /src/mhd2/src/tests/unit/unit_sha256.c:557,1
    - Dst: exit
      Src: /src/mhd2/src/tests/unit/unit_sha256.c:558,1
    - Dst: check_result
      Src: /src/mhd2/src/tests/unit/unit_sha256.c:560,1
    - Dst: mhd_SHA256_deinit
      Src: /src/mhd2/src/tests/unit/unit_sha256.c:563,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 15
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 565
      start: 531
    functionDepth: 1
    functionLinenumber: 531
    functionLinenumberEnd: 565
    functionName: test2_bin
    functionSourceFile: /src/mhd2/src/tests/unit/unit_sha256.c
    functionUses: 2
    functionsReached:
    - check_result
    - fprintf
    - mhd_SHA256_finish_reset
    - mhd_SHA256_get_err
    - mhd_SHA256_update
    - mhd_SHA256_deinit
    - exit
    - mhd_SHA256_init
    - mhd_SHA256_has_err
    linkageType: ''
    returnType: unsigned int
    signature: unsigned int test2_bin (void)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: mhd_SHA256_init
      Src: /src/mhd2/src/tests/unit/unit_sha256.c:583,1
    - Dst: malloc
      Src: /src/mhd2/src/tests/unit/unit_sha256.c:584,1
    - Dst: malloc
      Src: /src/mhd2/src/tests/unit/unit_sha256.c:585,1
    - Dst: fprintf
      Src: /src/mhd2/src/tests/unit/unit_sha256.c:588,1
    - Dst: mhd_SHA256_deinit
      Src: /src/mhd2/src/tests/unit/unit_sha256.c:590,1
    - Dst: free
      Src: /src/mhd2/src/tests/unit/unit_sha256.c:591,1
    - Dst: free
      Src: /src/mhd2/src/tests/unit/unit_sha256.c:592,1
    - Dst: exit
      Src: /src/mhd2/src/tests/unit/unit_sha256.c:593,1
    - Dst: memcpy
      Src: /src/mhd2/src/tests/unit/unit_sha256.c:602,1
    - Dst: memset
      Src: /src/mhd2/src/tests/unit/unit_sha256.c:604,1
    - Dst: mhd_SHA256_update
      Src: /src/mhd2/src/tests/unit/unit_sha256.c:606,1
    - Dst: mhd_SHA256_finish_reset
      Src: /src/mhd2/src/tests/unit/unit_sha256.c:609,1
    - Dst: mhd_SHA256_has_err
      Src: /src/mhd2/src/tests/unit/unit_sha256.c:611,1
    - Dst: fprintf
      Src: /src/mhd2/src/tests/unit/unit_sha256.c:613,1
    - Dst: mhd_SHA256_get_err
      Src: /src/mhd2/src/tests/unit/unit_sha256.c:615,1
    - Dst: mhd_SHA256_deinit
      Src: /src/mhd2/src/tests/unit/unit_sha256.c:616,1
    - Dst: free
      Src: /src/mhd2/src/tests/unit/unit_sha256.c:617,1
    - Dst: free
      Src: /src/mhd2/src/tests/unit/unit_sha256.c:618,1
    - Dst: exit
      Src: /src/mhd2/src/tests/unit/unit_sha256.c:619,1
    - Dst: check_result
      Src: /src/mhd2/src/tests/unit/unit_sha256.c:621,1
    - Dst: free
      Src: /src/mhd2/src/tests/unit/unit_sha256.c:624,1
    - Dst: free
      Src: /src/mhd2/src/tests/unit/unit_sha256.c:625,1
    - Dst: mhd_SHA256_deinit
      Src: /src/mhd2/src/tests/unit/unit_sha256.c:626,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 31
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 628
      start: 572
    functionDepth: 1
    functionLinenumber: 572
    functionLinenumberEnd: 628
    functionName: test_unaligned
    functionSourceFile: /src/mhd2/src/tests/unit/unit_sha256.c
    functionUses: 2
    functionsReached:
    - check_result
    - fprintf
    - memset
    - malloc
    - mhd_SHA256_finish_reset
    - mhd_SHA256_get_err
    - mhd_SHA256_update
    - mhd_SHA256_deinit
    - free
    - exit
    - mhd_SHA256_init
    - mhd_SHA256_has_err
    - memcpy
    linkageType: ''
    returnType: unsigned int
    signature: unsigned int test_unaligned (void)
  - BBCount: 21
    BranchProfiles: []
    Callsites:
    - Dst: mhdt_has_param
      Src: /src/mhd2/src/tests/unit/unit_sha256.c:686,1
    - Dst: mhdt_has_param
      Src: /src/mhd2/src/tests/unit/unit_sha256.c:687,1
    - Dst: mhd_SHA256_init
      Src: /src/mhd2/src/tests/unit/unit_sha256.c:695,1
    - Dst: mhd_SHA256_has_err
      Src: /src/mhd2/src/tests/unit/unit_sha256.c:696,1
    - Dst: hex2bin
      Src: /src/mhd2/src/tests/unit/unit_sha256.c:698,1
    - Dst: mhd_SHA256_update
      Src: /src/mhd2/src/tests/unit/unit_sha256.c:702,1
    - Dst: mhd_SHA256_finish
      Src: /src/mhd2/src/tests/unit/unit_sha256.c:705,1
    - Dst: mhd_SHA256_has_err
      Src: /src/mhd2/src/tests/unit/unit_sha256.c:707,1
    - Dst: check_digest
      Src: /src/mhd2/src/tests/unit/unit_sha256.c:709,1
    - Dst: fprintf
      Src: /src/mhd2/src/tests/unit/unit_sha256.c:717,1
    - Dst: mhd_SHA256_get_err
      Src: /src/mhd2/src/tests/unit/unit_sha256.c:721,1
    - Dst: mhd_SHA256_deinit
      Src: /src/mhd2/src/tests/unit/unit_sha256.c:722,1
    - Dst: exit
      Src: /src/mhd2/src/tests/unit/unit_sha256.c:723,1
    - Dst: fprintf
      Src: /src/mhd2/src/tests/unit/unit_sha256.c:728,1
    - Dst: mhd_SHA256_get_err
      Src: /src/mhd2/src/tests/unit/unit_sha256.c:731,1
    - Dst: mhd_SHA256_deinit
      Src: /src/mhd2/src/tests/unit/unit_sha256.c:732,1
    - Dst: exit
      Src: /src/mhd2/src/tests/unit/unit_sha256.c:733,1
    - Dst: mhd_SHA256_deinit
      Src: /src/mhd2/src/tests/unit/unit_sha256.c:735,1
    - Dst: mhd_SHA256_init
      Src: /src/mhd2/src/tests/unit/unit_sha256.c:743,1
    - Dst: mhd_SHA256_has_err
      Src: /src/mhd2/src/tests/unit/unit_sha256.c:744,1
    - Dst: mhd_SHA256_update
      Src: /src/mhd2/src/tests/unit/unit_sha256.c:747,1
    - Dst: mhd_SHA256_update
      Src: /src/mhd2/src/tests/unit/unit_sha256.c:751,1
    - Dst: mhd_SHA256_update
      Src: /src/mhd2/src/tests/unit/unit_sha256.c:754,1
    - Dst: mhd_SHA256_update
      Src: /src/mhd2/src/tests/unit/unit_sha256.c:758,1
    - Dst: mhd_SHA256_finish
      Src: /src/mhd2/src/tests/unit/unit_sha256.c:761,1
    - Dst: mhd_SHA256_has_err
      Src: /src/mhd2/src/tests/unit/unit_sha256.c:763,1
    - Dst: check_digest
      Src: /src/mhd2/src/tests/unit/unit_sha256.c:765,1
    - Dst: fprintf
      Src: /src/mhd2/src/tests/unit/unit_sha256.c:773,1
    - Dst: mhd_SHA256_get_err
      Src: /src/mhd2/src/tests/unit/unit_sha256.c:776,1
    - Dst: mhd_SHA256_deinit
      Src: /src/mhd2/src/tests/unit/unit_sha256.c:777,1
    - Dst: exit
      Src: /src/mhd2/src/tests/unit/unit_sha256.c:778,1
    - Dst: fprintf
      Src: /src/mhd2/src/tests/unit/unit_sha256.c:783,1
    - Dst: mhd_SHA256_get_err
      Src: /src/mhd2/src/tests/unit/unit_sha256.c:786,1
    - Dst: mhd_SHA256_deinit
      Src: /src/mhd2/src/tests/unit/unit_sha256.c:787,1
    - Dst: exit
      Src: /src/mhd2/src/tests/unit/unit_sha256.c:788,1
    - Dst: mhd_SHA256_deinit
      Src: /src/mhd2/src/tests/unit/unit_sha256.c:790,1
    - Dst: mhd_SHA256_init
      Src: /src/mhd2/src/tests/unit/unit_sha256.c:797,1
    - Dst: mhd_SHA256_has_err
      Src: /src/mhd2/src/tests/unit/unit_sha256.c:798,1
    - Dst: hex2bin
      Src: /src/mhd2/src/tests/unit/unit_sha256.c:801,1
    - Dst: mhd_SHA256_update
      Src: /src/mhd2/src/tests/unit/unit_sha256.c:804,1
    - Dst: mhd_SHA256_finish_reset
      Src: /src/mhd2/src/tests/unit/unit_sha256.c:807,1
    - Dst: mhd_SHA256_has_err
      Src: /src/mhd2/src/tests/unit/unit_sha256.c:809,1
    - Dst: fprintf
      Src: /src/mhd2/src/tests/unit/unit_sha256.c:811,1
    - Dst: mhd_SHA256_get_err
      Src: /src/mhd2/src/tests/unit/unit_sha256.c:814,1
    - Dst: mhd_SHA256_deinit
      Src: /src/mhd2/src/tests/unit/unit_sha256.c:815,1
    - Dst: exit
      Src: /src/mhd2/src/tests/unit/unit_sha256.c:816,1
    - Dst: check_digest
      Src: /src/mhd2/src/tests/unit/unit_sha256.c:818,1
    - Dst: hex2bin
      Src: /src/mhd2/src/tests/unit/unit_sha256.c:826,1
    - Dst: mhd_SHA256_update
      Src: /src/mhd2/src/tests/unit/unit_sha256.c:829,1
    - Dst: mhd_SHA256_finish
      Src: /src/mhd2/src/tests/unit/unit_sha256.c:832,1
    - Dst: mhd_SHA256_has_err
      Src: /src/mhd2/src/tests/unit/unit_sha256.c:835,1
    - Dst: check_digest
      Src: /src/mhd2/src/tests/unit/unit_sha256.c:837,1
    - Dst: fprintf
      Src: /src/mhd2/src/tests/unit/unit_sha256.c:845,1
    - Dst: mhd_SHA256_get_err
      Src: /src/mhd2/src/tests/unit/unit_sha256.c:848,1
    - Dst: mhd_SHA256_deinit
      Src: /src/mhd2/src/tests/unit/unit_sha256.c:849,1
    - Dst: exit
      Src: /src/mhd2/src/tests/unit/unit_sha256.c:850,1
    - Dst: fprintf
      Src: /src/mhd2/src/tests/unit/unit_sha256.c:855,1
    - Dst: mhd_SHA256_get_err
      Src: /src/mhd2/src/tests/unit/unit_sha256.c:858,1
    - Dst: mhd_SHA256_deinit
      Src: /src/mhd2/src/tests/unit/unit_sha256.c:859,1
    - Dst: exit
      Src: /src/mhd2/src/tests/unit/unit_sha256.c:860,1
    - Dst: mhd_SHA256_deinit
      Src: /src/mhd2/src/tests/unit/unit_sha256.c:862,1
    - Dst: mhd_SHA256_init
      Src: /src/mhd2/src/tests/unit/unit_sha256.c:869,1
    - Dst: mhd_SHA256_has_err
      Src: /src/mhd2/src/tests/unit/unit_sha256.c:870,1
    - Dst: fprintf
      Src: /src/mhd2/src/tests/unit/unit_sha256.c:872,1
    - Dst: mhd_SHA256_get_err
      Src: /src/mhd2/src/tests/unit/unit_sha256.c:875,1
    - Dst: mhd_SHA256_deinit
      Src: /src/mhd2/src/tests/unit/unit_sha256.c:876,1
    - Dst: exit
      Src: /src/mhd2/src/tests/unit/unit_sha256.c:877,1
    - Dst: hex2bin
      Src: /src/mhd2/src/tests/unit/unit_sha256.c:879,1
    - Dst: mhd_SHA256_update
      Src: /src/mhd2/src/tests/unit/unit_sha256.c:882,1
    - Dst: mhd_SHA256_finish_deinit
      Src: /src/mhd2/src/tests/unit/unit_sha256.c:885,1
    - Dst: mhd_SHA256_has_err
      Src: /src/mhd2/src/tests/unit/unit_sha256.c:887,1
    - Dst: fprintf
      Src: /src/mhd2/src/tests/unit/unit_sha256.c:889,1
    - Dst: mhd_SHA256_get_err
      Src: /src/mhd2/src/tests/unit/unit_sha256.c:892,1
    - Dst: exit
      Src: /src/mhd2/src/tests/unit/unit_sha256.c:893,1
    - Dst: check_digest
      Src: /src/mhd2/src/tests/unit/unit_sha256.c:895,1
    - Dst: mhd_SHA256_init
      Src: /src/mhd2/src/tests/unit/unit_sha256.c:906,1
    - Dst: mhd_SHA256_has_err
      Src: /src/mhd2/src/tests/unit/unit_sha256.c:907,1
    - Dst: fprintf
      Src: /src/mhd2/src/tests/unit/unit_sha256.c:909,1
    - Dst: mhd_SHA256_get_err
      Src: /src/mhd2/src/tests/unit/unit_sha256.c:912,1
    - Dst: mhd_SHA256_deinit
      Src: /src/mhd2/src/tests/unit/unit_sha256.c:913,1
    - Dst: exit
      Src: /src/mhd2/src/tests/unit/unit_sha256.c:914,1
    - Dst: memset
      Src: /src/mhd2/src/tests/unit/unit_sha256.c:916,1
    - Dst: mhd_SHA256_update
      Src: /src/mhd2/src/tests/unit/unit_sha256.c:918,1
    - Dst: mhd_SHA256_finish
      Src: /src/mhd2/src/tests/unit/unit_sha256.c:921,1
    - Dst: mhd_SHA256_has_err
      Src: /src/mhd2/src/tests/unit/unit_sha256.c:923,1
    - Dst: fprintf
      Src: /src/mhd2/src/tests/unit/unit_sha256.c:925,1
    - Dst: mhd_SHA256_get_err
      Src: /src/mhd2/src/tests/unit/unit_sha256.c:928,1
    - Dst: mhd_SHA256_deinit
      Src: /src/mhd2/src/tests/unit/unit_sha256.c:929,1
    - Dst: exit
      Src: /src/mhd2/src/tests/unit/unit_sha256.c:930,1
    - Dst: check_digest
      Src: /src/mhd2/src/tests/unit/unit_sha256.c:932,1
    - Dst: mhd_SHA256_deinit
      Src: /src/mhd2/src/tests/unit/unit_sha256.c:937,1
    - Dst: test1_str
      Src: /src/mhd2/src/tests/unit/unit_sha256.c:941,1
    - Dst: test1_bin
      Src: /src/mhd2/src/tests/unit/unit_sha256.c:942,1
    - Dst: test2_str
      Src: /src/mhd2/src/tests/unit/unit_sha256.c:944,1
    - Dst: test2_bin
      Src: /src/mhd2/src/tests/unit/unit_sha256.c:945,1
    - Dst: test_unaligned
      Src: /src/mhd2/src/tests/unit/unit_sha256.c:947,1
    - Dst: fprintf
      Src: /src/mhd2/src/tests/unit/unit_sha256.c:951,1
    CyclomaticComplexity: 24
    EdgeCount: 24
    ICount: 129
    argCount: 2
    argNames:
    - argc
    - argv
    argTypes:
    - int
    - char**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 956
      start: 631
    functionDepth: 1
    functionLinenumber: 631
    functionLinenumberEnd: 956
    functionName: main
    functionSourceFile: /src/mhd2/src/tests/unit/unit_sha256.c
    functionUses: 0
    functionsReached:
    - test1_bin
    - fprintf
    - mhd_SHA256_has_err
    - mhd_SHA256_finish
    - hex2bin
    - mhd_SHA256_finish_reset
    - check_digest
    - mhdt_has_param
    - mhd_SHA256_init
    - test2_bin
    - test2_str
    - mhd_SHA256_deinit
    - exit
    - memset
    - test1_str
    - mhd_SHA256_get_err
    - mhd_SHA256_update
    - mhd_SHA256_finish_deinit
    - test_unaligned
    linkageType: ''
    returnType: int
    signature: "int main (int argc,\n      char **argv)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: mhdt_has_param
      Src: /src/mhd2/src/tests/unit/unit_str.c:59,1
    - Dst: mhdt_has_param
      Src: /src/mhd2/src/tests/unit/unit_str.c:60,1
    - Dst: MHDT_set_verbosity
      Src: /src/mhd2/src/tests/unit/unit_str.c:61,1
    - Dst: MHDT_set_verbosity
      Src: /src/mhd2/src/tests/unit/unit_str.c:63,1
    - Dst: MHDT_EXPECT_TRUE
      Src: /src/mhd2/src/tests/unit/unit_str.c:65,1
    - Dst: mhd_str_equal_caseless
      Src: /src/mhd2/src/tests/unit/unit_str.c:65,1
    - Dst: MHDT_EXPECT_TRUE
      Src: /src/mhd2/src/tests/unit/unit_str.c:67,1
    - Dst: mhd_str_equal_caseless
      Src: /src/mhd2/src/tests/unit/unit_str.c:67,1
    - Dst: MHDT_EXPECT_TRUE
      Src: /src/mhd2/src/tests/unit/unit_str.c:69,1
    - Dst: mhd_str_equal_caseless
      Src: /src/mhd2/src/tests/unit/unit_str.c:69,1
    - Dst: MHDT_EXPECT_FALSE
      Src: /src/mhd2/src/tests/unit/unit_str.c:71,1
    - Dst: mhd_str_equal_caseless
      Src: /src/mhd2/src/tests/unit/unit_str.c:71,1
    - Dst: MHDT_EXPECT_FALSE
      Src: /src/mhd2/src/tests/unit/unit_str.c:73,1
    - Dst: mhd_str_equal_caseless
      Src: /src/mhd2/src/tests/unit/unit_str.c:73,1
    - Dst: MHDT_EXPECT_FALSE
      Src: /src/mhd2/src/tests/unit/unit_str.c:75,1
    - Dst: mhd_str_equal_caseless
      Src: /src/mhd2/src/tests/unit/unit_str.c:75,1
    - Dst: MHDT_EXPECT_FALSE
      Src: /src/mhd2/src/tests/unit/unit_str.c:78,1
    - Dst: mhd_str_equal_caseless
      Src: /src/mhd2/src/tests/unit/unit_str.c:78,1
    - Dst: MHDT_EXPECT_TRUE
      Src: /src/mhd2/src/tests/unit/unit_str.c:81,1
    - Dst: mhd_str_equal_caseless_n
      Src: /src/mhd2/src/tests/unit/unit_str.c:81,1
    - Dst: MHDT_EXPECT_TRUE
      Src: /src/mhd2/src/tests/unit/unit_str.c:84,1
    - Dst: mhd_str_equal_caseless_n
      Src: /src/mhd2/src/tests/unit/unit_str.c:84,1
    - Dst: MHDT_EXPECT_TRUE
      Src: /src/mhd2/src/tests/unit/unit_str.c:87,1
    - Dst: mhd_str_equal_caseless_n
      Src: /src/mhd2/src/tests/unit/unit_str.c:87,1
    - Dst: MHDT_EXPECT_FALSE
      Src: /src/mhd2/src/tests/unit/unit_str.c:90,1
    - Dst: mhd_str_equal_caseless_n
      Src: /src/mhd2/src/tests/unit/unit_str.c:90,1
    - Dst: MHDT_EXPECT_FALSE
      Src: /src/mhd2/src/tests/unit/unit_str.c:93,1
    - Dst: mhd_str_equal_caseless_n
      Src: /src/mhd2/src/tests/unit/unit_str.c:93,1
    - Dst: MHDT_EXPECT_FALSE
      Src: /src/mhd2/src/tests/unit/unit_str.c:96,1
    - Dst: mhd_str_equal_caseless_n
      Src: /src/mhd2/src/tests/unit/unit_str.c:96,1
    - Dst: MHDT_EXPECT_FALSE
      Src: /src/mhd2/src/tests/unit/unit_str.c:102,1
    - Dst: mhd_str_equal_caseless_n
      Src: /src/mhd2/src/tests/unit/unit_str.c:102,1
    - Dst: MHDT_EXPECT_TRUE
      Src: /src/mhd2/src/tests/unit/unit_str.c:105,1
    - Dst: mhd_str_equal_caseless_n
      Src: /src/mhd2/src/tests/unit/unit_str.c:105,1
    - Dst: MHDT_EXPECT_TRUE
      Src: /src/mhd2/src/tests/unit/unit_str.c:109,1
    - Dst: mhd_str_equal_caseless_bin_n
      Src: /src/mhd2/src/tests/unit/unit_str.c:109,1
    - Dst: MHDT_EXPECT_FALSE
      Src: /src/mhd2/src/tests/unit/unit_str.c:112,1
    - Dst: mhd_str_equal_caseless_bin_n
      Src: /src/mhd2/src/tests/unit/unit_str.c:112,1
    - Dst: MHDT_EXPECT_FALSE
      Src: /src/mhd2/src/tests/unit/unit_str.c:115,1
    - Dst: mhd_str_equal_caseless_bin_n
      Src: /src/mhd2/src/tests/unit/unit_str.c:115,1
    - Dst: MHDT_EXPECT_TRUE
      Src: /src/mhd2/src/tests/unit/unit_str.c:119,1
    - Dst: mhd_str_equal_lowercase_bin_n
      Src: /src/mhd2/src/tests/unit/unit_str.c:119,1
    - Dst: MHDT_EXPECT_TRUE
      Src: /src/mhd2/src/tests/unit/unit_str.c:122,1
    - Dst: mhd_str_equal_lowercase_bin_n
      Src: /src/mhd2/src/tests/unit/unit_str.c:122,1
    - Dst: MHDT_EXPECT_TRUE
      Src: /src/mhd2/src/tests/unit/unit_str.c:125,1
    - Dst: mhd_str_is_lowercase_bin_n
      Src: /src/mhd2/src/tests/unit/unit_str.c:125,1
    - Dst: MHDT_EXPECT_TRUE
      Src: /src/mhd2/src/tests/unit/unit_str.c:127,1
    - Dst: mhd_str_is_lowercase_bin_n
      Src: /src/mhd2/src/tests/unit/unit_str.c:127,1
    - Dst: MHDT_EXPECT_TRUE
      Src: /src/mhd2/src/tests/unit/unit_str.c:129,1
    - Dst: mhd_str_is_lowercase_bin_n
      Src: /src/mhd2/src/tests/unit/unit_str.c:129,1
    - Dst: MHDT_EXPECT_TRUE
      Src: /src/mhd2/src/tests/unit/unit_str.c:131,1
    - Dst: mhd_str_is_lowercase_bin_n
      Src: /src/mhd2/src/tests/unit/unit_str.c:131,1
    - Dst: MHDT_EXPECT_TRUE
      Src: /src/mhd2/src/tests/unit/unit_str.c:133,1
    - Dst: mhd_str_is_lowercase_bin_n
      Src: /src/mhd2/src/tests/unit/unit_str.c:133,1
    - Dst: MHDT_EXPECT_FALSE
      Src: /src/mhd2/src/tests/unit/unit_str.c:135,1
    - Dst: mhd_str_is_lowercase_bin_n
      Src: /src/mhd2/src/tests/unit/unit_str.c:135,1
    - Dst: MHDT_TEST_RESULT
      Src: /src/mhd2/src/tests/unit/unit_str.c:138,1
    - Dst: MHDT_FINAL_RESULT
      Src: /src/mhd2/src/tests/unit/unit_str.c:140,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 32
    argCount: 2
    argNames:
    - argc
    - argv
    argTypes:
    - int
    - char**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 141
      start: 55
    functionDepth: 1
    functionLinenumber: 55
    functionLinenumberEnd: 141
    functionName: main
    functionSourceFile: /src/mhd2/src/tests/unit/unit_str.c
    functionUses: 0
    functionsReached:
    - MHDT_EXPECT_TRUE
    - mhd_str_equal_caseless_n
    - mhd_str_equal_caseless_bin_n
    - MHDT_TEST_RESULT
    - mhd_str_equal_lowercase_bin_n
    - MHDT_set_verbosity
    - MHDT_EXPECT_FALSE
    - MHDT_FINAL_RESULT
    - mhd_str_is_lowercase_bin_n
    - mhd_str_equal_caseless
    - mhdt_has_param
    linkageType: ''
    returnType: int
    signature: "int main (int argc,\n      char *const *argv)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - macro
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 41
      start: 40
    functionDepth: 0
    functionLinenumber: 40
    functionLinenumberEnd: 41
    functionName: MHD_STATICSTR_LEN_
    functionSourceFile: /src/mhd2/src/tests/unit/unit_str_token_remove.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: MHD_STATICSTR_LEN_(macro)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: mhd_assert
      Src: /src/mhd2/src/tests/unit/unit_str_token_remove.c:55,1
    - Dst: mhd_assert
      Src: /src/mhd2/src/tests/unit/unit_str_token_remove.c:56,1
    - Dst: mhd_assert
      Src: /src/mhd2/src/tests/unit/unit_str_token_remove.c:57,1
    - Dst: memset
      Src: /src/mhd2/src/tests/unit/unit_str_token_remove.c:59,1
    - Dst: memset
      Src: /src/mhd2/src/tests/unit/unit_str_token_remove.c:60,1
    - Dst: memcpy
      Src: /src/mhd2/src/tests/unit/unit_str_token_remove.c:61,1
    - Dst: memcpy
      Src: /src/mhd2/src/tests/unit/unit_str_token_remove.c:62,1
    - Dst: memset
      Src: /src/mhd2/src/tests/unit/unit_str_token_remove.c:68,1
    - Dst: mhd_assert
      Src: /src/mhd2/src/tests/unit/unit_str_token_remove.c:71,1
    - Dst: mhd_str_remove_token_caseless
      Src: /src/mhd2/src/tests/unit/unit_str_token_remove.c:73,1
    - Dst: fprintf
      Src: /src/mhd2/src/tests/unit/unit_str_token_remove.c:79,1
    - Dst: memcmp
      Src: /src/mhd2/src/tests/unit/unit_str_token_remove.c:94,1
    - Dst: fprintf
      Src: /src/mhd2/src/tests/unit/unit_str_token_remove.c:98,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 26
    argCount: 7
    argNames:
    - str
    - str_len
    - token
    - token_len
    - expected
    - expected_len
    - expected_removed
    argTypes:
    - char*
    - size_t
    - char*
    - size_t
    - char*
    - size_t
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 112
      start: 44
    functionDepth: 1
    functionLinenumber: 44
    functionLinenumberEnd: 112
    functionName: expect_result_n
    functionSourceFile: /src/mhd2/src/tests/unit/unit_str_token_remove.c
    functionUses: 0
    functionsReached:
    - fprintf
    - memset
    - mhd_assert
    - mhd_str_remove_token_caseless
    - memcpy
    - memcmp
    linkageType: ''
    returnType: int
    signature: "int expect_result_n (const char *str, size_t str_len,\n                 const
      char *token, size_t token_len,\n                 const char *expected, size_t
      expected_len,\n                 const bool expected_removed)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 9
    argNames:
    - (
    - s
    - ','
    - t
    - ','
    - e
    - ','
    - found
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 119
      start: 115
    functionDepth: 0
    functionLinenumber: 115
    functionLinenumberEnd: 119
    functionName: expect_result
    functionSourceFile: /src/mhd2/src/tests/unit/unit_str_token_remove.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: expect_result(s, t, e, found)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: expect_result
      Src: /src/mhd2/src/tests/unit/unit_str_token_remove.c:124,1
    - Dst: expect_result
      Src: /src/mhd2/src/tests/unit/unit_str_token_remove.c:125,1
    - Dst: expect_result
      Src: /src/mhd2/src/tests/unit/unit_str_token_remove.c:126,1
    - Dst: expect_result
      Src: /src/mhd2/src/tests/unit/unit_str_token_remove.c:127,1
    - Dst: expect_result
      Src: /src/mhd2/src/tests/unit/unit_str_token_remove.c:128,1
    - Dst: expect_result
      Src: /src/mhd2/src/tests/unit/unit_str_token_remove.c:129,1
    - Dst: expect_result
      Src: /src/mhd2/src/tests/unit/unit_str_token_remove.c:130,1
    - Dst: expect_result
      Src: /src/mhd2/src/tests/unit/unit_str_token_remove.c:131,1
    - Dst: expect_result
      Src: /src/mhd2/src/tests/unit/unit_str_token_remove.c:133,1
    - Dst: expect_result
      Src: /src/mhd2/src/tests/unit/unit_str_token_remove.c:135,1
    - Dst: expect_result
      Src: /src/mhd2/src/tests/unit/unit_str_token_remove.c:137,1
    - Dst: expect_result
      Src: /src/mhd2/src/tests/unit/unit_str_token_remove.c:138,1
    - Dst: expect_result
      Src: /src/mhd2/src/tests/unit/unit_str_token_remove.c:139,1
    - Dst: expect_result
      Src: /src/mhd2/src/tests/unit/unit_str_token_remove.c:140,1
    - Dst: expect_result
      Src: /src/mhd2/src/tests/unit/unit_str_token_remove.c:141,1
    - Dst: expect_result
      Src: /src/mhd2/src/tests/unit/unit_str_token_remove.c:143,1
    - Dst: expect_result
      Src: /src/mhd2/src/tests/unit/unit_str_token_remove.c:145,1
    - Dst: expect_result
      Src: /src/mhd2/src/tests/unit/unit_str_token_remove.c:147,1
    - Dst: expect_result
      Src: /src/mhd2/src/tests/unit/unit_str_token_remove.c:148,1
    - Dst: expect_result
      Src: /src/mhd2/src/tests/unit/unit_str_token_remove.c:149,1
    - Dst: expect_result
      Src: /src/mhd2/src/tests/unit/unit_str_token_remove.c:151,1
    - Dst: expect_result
      Src: /src/mhd2/src/tests/unit/unit_str_token_remove.c:153,1
    - Dst: expect_result
      Src: /src/mhd2/src/tests/unit/unit_str_token_remove.c:155,1
    - Dst: expect_result
      Src: /src/mhd2/src/tests/unit/unit_str_token_remove.c:157,1
    - Dst: expect_result
      Src: /src/mhd2/src/tests/unit/unit_str_token_remove.c:160,1
    - Dst: expect_result
      Src: /src/mhd2/src/tests/unit/unit_str_token_remove.c:163,1
    - Dst: expect_result
      Src: /src/mhd2/src/tests/unit/unit_str_token_remove.c:166,1
    - Dst: expect_result
      Src: /src/mhd2/src/tests/unit/unit_str_token_remove.c:169,1
    - Dst: expect_result
      Src: /src/mhd2/src/tests/unit/unit_str_token_remove.c:172,1
    - Dst: expect_result
      Src: /src/mhd2/src/tests/unit/unit_str_token_remove.c:176,1
    - Dst: expect_result
      Src: /src/mhd2/src/tests/unit/unit_str_token_remove.c:177,1
    - Dst: expect_result
      Src: /src/mhd2/src/tests/unit/unit_str_token_remove.c:178,1
    - Dst: expect_result
      Src: /src/mhd2/src/tests/unit/unit_str_token_remove.c:179,1
    - Dst: expect_result
      Src: /src/mhd2/src/tests/unit/unit_str_token_remove.c:180,1
    - Dst: expect_result
      Src: /src/mhd2/src/tests/unit/unit_str_token_remove.c:181,1
    - Dst: expect_result
      Src: /src/mhd2/src/tests/unit/unit_str_token_remove.c:182,1
    - Dst: expect_result
      Src: /src/mhd2/src/tests/unit/unit_str_token_remove.c:183,1
    - Dst: expect_result
      Src: /src/mhd2/src/tests/unit/unit_str_token_remove.c:185,1
    - Dst: expect_result
      Src: /src/mhd2/src/tests/unit/unit_str_token_remove.c:187,1
    - Dst: expect_result
      Src: /src/mhd2/src/tests/unit/unit_str_token_remove.c:189,1
    - Dst: expect_result
      Src: /src/mhd2/src/tests/unit/unit_str_token_remove.c:190,1
    - Dst: expect_result
      Src: /src/mhd2/src/tests/unit/unit_str_token_remove.c:191,1
    - Dst: expect_result
      Src: /src/mhd2/src/tests/unit/unit_str_token_remove.c:193,1
    - Dst: expect_result
      Src: /src/mhd2/src/tests/unit/unit_str_token_remove.c:194,1
    - Dst: expect_result
      Src: /src/mhd2/src/tests/unit/unit_str_token_remove.c:196,1
    - Dst: expect_result
      Src: /src/mhd2/src/tests/unit/unit_str_token_remove.c:198,1
    - Dst: expect_result
      Src: /src/mhd2/src/tests/unit/unit_str_token_remove.c:200,1
    - Dst: expect_result
      Src: /src/mhd2/src/tests/unit/unit_str_token_remove.c:201,1
    - Dst: expect_result
      Src: /src/mhd2/src/tests/unit/unit_str_token_remove.c:203,1
    - Dst: expect_result
      Src: /src/mhd2/src/tests/unit/unit_str_token_remove.c:205,1
    - Dst: expect_result
      Src: /src/mhd2/src/tests/unit/unit_str_token_remove.c:206,1
    - Dst: expect_result
      Src: /src/mhd2/src/tests/unit/unit_str_token_remove.c:208,1
    - Dst: expect_result
      Src: /src/mhd2/src/tests/unit/unit_str_token_remove.c:209,1
    - Dst: expect_result
      Src: /src/mhd2/src/tests/unit/unit_str_token_remove.c:211,1
    - Dst: expect_result
      Src: /src/mhd2/src/tests/unit/unit_str_token_remove.c:213,1
    - Dst: expect_result
      Src: /src/mhd2/src/tests/unit/unit_str_token_remove.c:216,1
    - Dst: expect_result
      Src: /src/mhd2/src/tests/unit/unit_str_token_remove.c:218,1
    - Dst: expect_result
      Src: /src/mhd2/src/tests/unit/unit_str_token_remove.c:220,1
    - Dst: expect_result
      Src: /src/mhd2/src/tests/unit/unit_str_token_remove.c:222,1
    - Dst: expect_result
      Src: /src/mhd2/src/tests/unit/unit_str_token_remove.c:225,1
    - Dst: expect_result
      Src: /src/mhd2/src/tests/unit/unit_str_token_remove.c:228,1
    - Dst: expect_result
      Src: /src/mhd2/src/tests/unit/unit_str_token_remove.c:231,1
    - Dst: expect_result
      Src: /src/mhd2/src/tests/unit/unit_str_token_remove.c:233,1
    - Dst: expect_result
      Src: /src/mhd2/src/tests/unit/unit_str_token_remove.c:235,1
    - Dst: expect_result
      Src: /src/mhd2/src/tests/unit/unit_str_token_remove.c:237,1
    - Dst: expect_result
      Src: /src/mhd2/src/tests/unit/unit_str_token_remove.c:241,1
    - Dst: expect_result
      Src: /src/mhd2/src/tests/unit/unit_str_token_remove.c:245,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 69
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 251
      start: 120
    functionDepth: 0
    functionLinenumber: 120
    functionLinenumberEnd: 251
    functionName: check_result
    functionSourceFile: /src/mhd2/src/tests/unit/unit_str_token_remove.c
    functionUses: 15
    functionsReached:
    - expect_result
    linkageType: ''
    returnType: int
    signature: int check_result (void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: check_result
      Src: /src/mhd2/src/tests/unit/unit_str_token_remove.c:260,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 2
    argNames:
    - argc
    - argv
    argTypes:
    - int
    - char*[]
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 262
      start: 254
    functionDepth: 0
    functionLinenumber: 254
    functionLinenumberEnd: 262
    functionName: main
    functionSourceFile: /src/mhd2/src/tests/unit/unit_str_token_remove.c
    functionUses: 0
    functionsReached:
    - check_result
    linkageType: ''
    returnType: int
    signature: int main (int argc, char *argv[])
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: fprintf
      Src: /src/mhd2/src/tests/unit/unit_str_compare.c:227,1
    - Dst: exit
      Src: /src/mhd2/src/tests/unit/unit_str_compare.c:228,1
    - Dst: printf
      Src: /src/mhd2/src/tests/unit/unit_str_compare.c:231,1
    - Dst: setlocale
      Src: /src/mhd2/src/tests/unit/unit_str_compare.c:232,1
    - Dst: printf
      Src: /src/mhd2/src/tests/unit/unit_str_compare.c:235,1
    - Dst: printf
      Src: /src/mhd2/src/tests/unit/unit_str_compare.c:239,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 15
    argCount: 1
    argNames:
    - num
    argTypes:
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 241
      start: 222
    functionDepth: 0
    functionLinenumber: 222
    functionLinenumberEnd: 241
    functionName: set_test_locale
    functionSourceFile: /src/mhd2/src/tests/unit/unit_str_compare.c
    functionUses: 24
    functionsReached:
    - setlocale
    - exit
    - printf
    - fprintf
    linkageType: ''
    returnType: int
    signature: int set_test_locale (size_t num)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: setlocale
      Src: /src/mhd2/src/tests/unit/unit_str_compare.c:247,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 249
      start: 244
    functionDepth: 0
    functionLinenumber: 244
    functionLinenumberEnd: 249
    functionName: get_current_locale_str
    functionSourceFile: /src/mhd2/src/tests/unit/unit_str_compare.c
    functionUses: 24
    functionsReached:
    - setlocale
    linkageType: ''
    returnType: char
    signature: 'char *

      get_current_locale_str (void)'
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: snprintf
      Src: /src/mhd2/src/tests/unit/unit_str_compare.c:283,1
    CyclomaticComplexity: 15
    EdgeCount: 15
    ICount: 30
    argCount: 1
    argNames:
    - str
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 301
      start: 256
    functionDepth: 0
    functionLinenumber: 256
    functionLinenumberEnd: 301
    functionName: n_prnt
    functionSourceFile: /src/mhd2/src/tests/unit/unit_str_compare.c
    functionUses: 24
    functionsReached:
    - snprintf
    linkageType: ''
    returnType: char
    signature: 'char *

      n_prnt (const char *str)'
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - s
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 311
      start: 310
    functionDepth: 0
    functionLinenumber: 310
    functionLinenumberEnd: 311
    functionName: D_STR_W_LEN
    functionSourceFile: /src/mhd2/src/tests/unit/unit_str_compare.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: D_STR_W_LEN(s)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: memset
      Src: /src/mhd2/src/tests/unit/unit_str_compare.c:529,1
    - Dst: set_test_locale
      Src: /src/mhd2/src/tests/unit/unit_str_compare.c:533,1
    - Dst: mhd_str_equal_caseless
      Src: /src/mhd2/src/tests/unit/unit_str_compare.c:539,1
    - Dst: fprintf
      Src: /src/mhd2/src/tests/unit/unit_str_compare.c:543,1
    - Dst: n_prnt
      Src: /src/mhd2/src/tests/unit/unit_str_compare.c:546,1
    - Dst: n_prnt
      Src: /src/mhd2/src/tests/unit/unit_str_compare.c:547,1
    - Dst: get_current_locale_str
      Src: /src/mhd2/src/tests/unit/unit_str_compare.c:548,1
    - Dst: mhd_str_equal_caseless
      Src: /src/mhd2/src/tests/unit/unit_str_compare.c:550,1
    - Dst: fprintf
      Src: /src/mhd2/src/tests/unit/unit_str_compare.c:554,1
    - Dst: n_prnt
      Src: /src/mhd2/src/tests/unit/unit_str_compare.c:557,1
    - Dst: n_prnt
      Src: /src/mhd2/src/tests/unit/unit_str_compare.c:558,1
    - Dst: get_current_locale_str
      Src: /src/mhd2/src/tests/unit/unit_str_compare.c:559,1
    - Dst: printf
      Src: /src/mhd2/src/tests/unit/unit_str_compare.c:562,1
    - Dst: n_prnt
      Src: /src/mhd2/src/tests/unit/unit_str_compare.c:564,1
    - Dst: n_prnt
      Src: /src/mhd2/src/tests/unit/unit_str_compare.c:564,1
    - Dst: n_prnt
      Src: /src/mhd2/src/tests/unit/unit_str_compare.c:565,1
    - Dst: n_prnt
      Src: /src/mhd2/src/tests/unit/unit_str_compare.c:565,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 22
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 569
      start: 521
    functionDepth: 0
    functionLinenumber: 521
    functionLinenumberEnd: 569
    functionName: check_eq_strings
    functionSourceFile: /src/mhd2/src/tests/unit/unit_str_compare.c
    functionUses: 0
    functionsReached:
    - fprintf
    - get_current_locale_str
    - printf
    - n_prnt
    - set_test_locale
    - mhd_str_equal_caseless
    - memset
    linkageType: ''
    returnType: size_t
    signature: size_t check_eq_strings (void)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: memset
      Src: /src/mhd2/src/tests/unit/unit_str_compare.c:580,1
    - Dst: set_test_locale
      Src: /src/mhd2/src/tests/unit/unit_str_compare.c:584,1
    - Dst: mhd_str_equal_caseless
      Src: /src/mhd2/src/tests/unit/unit_str_compare.c:590,1
    - Dst: fprintf
      Src: /src/mhd2/src/tests/unit/unit_str_compare.c:594,1
    - Dst: n_prnt
      Src: /src/mhd2/src/tests/unit/unit_str_compare.c:597,1
    - Dst: n_prnt
      Src: /src/mhd2/src/tests/unit/unit_str_compare.c:598,1
    - Dst: get_current_locale_str
      Src: /src/mhd2/src/tests/unit/unit_str_compare.c:599,1
    - Dst: mhd_str_equal_caseless
      Src: /src/mhd2/src/tests/unit/unit_str_compare.c:601,1
    - Dst: fprintf
      Src: /src/mhd2/src/tests/unit/unit_str_compare.c:605,1
    - Dst: n_prnt
      Src: /src/mhd2/src/tests/unit/unit_str_compare.c:608,1
    - Dst: n_prnt
      Src: /src/mhd2/src/tests/unit/unit_str_compare.c:609,1
    - Dst: get_current_locale_str
      Src: /src/mhd2/src/tests/unit/unit_str_compare.c:610,1
    - Dst: printf
      Src: /src/mhd2/src/tests/unit/unit_str_compare.c:613,1
    - Dst: n_prnt
      Src: /src/mhd2/src/tests/unit/unit_str_compare.c:615,1
    - Dst: n_prnt
      Src: /src/mhd2/src/tests/unit/unit_str_compare.c:615,1
    - Dst: n_prnt
      Src: /src/mhd2/src/tests/unit/unit_str_compare.c:616,1
    - Dst: n_prnt
      Src: /src/mhd2/src/tests/unit/unit_str_compare.c:616,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 22
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 620
      start: 572
    functionDepth: 0
    functionLinenumber: 572
    functionLinenumberEnd: 620
    functionName: check_neq_strings
    functionSourceFile: /src/mhd2/src/tests/unit/unit_str_compare.c
    functionUses: 0
    functionsReached:
    - fprintf
    - get_current_locale_str
    - printf
    - n_prnt
    - set_test_locale
    - mhd_str_equal_caseless
    - memset
    linkageType: ''
    returnType: size_t
    signature: size_t check_neq_strings (void)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: memset
      Src: /src/mhd2/src/tests/unit/unit_str_compare.c:631,1
    - Dst: set_test_locale
      Src: /src/mhd2/src/tests/unit/unit_str_compare.c:635,1
    - Dst: mhd_str_equal_caseless_n
      Src: /src/mhd2/src/tests/unit/unit_str_compare.c:643,1
    - Dst: fprintf
      Src: /src/mhd2/src/tests/unit/unit_str_compare.c:647,1
    - Dst: n_prnt
      Src: /src/mhd2/src/tests/unit/unit_str_compare.c:650,1
    - Dst: n_prnt
      Src: /src/mhd2/src/tests/unit/unit_str_compare.c:651,1
    - Dst: get_current_locale_str
      Src: /src/mhd2/src/tests/unit/unit_str_compare.c:653,1
    - Dst: mhd_str_equal_caseless_n
      Src: /src/mhd2/src/tests/unit/unit_str_compare.c:655,1
    - Dst: fprintf
      Src: /src/mhd2/src/tests/unit/unit_str_compare.c:659,1
    - Dst: n_prnt
      Src: /src/mhd2/src/tests/unit/unit_str_compare.c:662,1
    - Dst: n_prnt
      Src: /src/mhd2/src/tests/unit/unit_str_compare.c:663,1
    - Dst: get_current_locale_str
      Src: /src/mhd2/src/tests/unit/unit_str_compare.c:665,1
    - Dst: printf
      Src: /src/mhd2/src/tests/unit/unit_str_compare.c:669,1
    - Dst: n_prnt
      Src: /src/mhd2/src/tests/unit/unit_str_compare.c:673,1
    - Dst: n_prnt
      Src: /src/mhd2/src/tests/unit/unit_str_compare.c:673,1
    - Dst: n_prnt
      Src: /src/mhd2/src/tests/unit/unit_str_compare.c:673,1
    - Dst: n_prnt
      Src: /src/mhd2/src/tests/unit/unit_str_compare.c:674,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 23
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 678
      start: 623
    functionDepth: 1
    functionLinenumber: 623
    functionLinenumberEnd: 678
    functionName: check_eq_strings_n
    functionSourceFile: /src/mhd2/src/tests/unit/unit_str_compare.c
    functionUses: 0
    functionsReached:
    - mhd_str_equal_caseless_n
    - fprintf
    - get_current_locale_str
    - printf
    - n_prnt
    - set_test_locale
    - memset
    linkageType: ''
    returnType: size_t
    signature: size_t check_eq_strings_n (void)
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: memset
      Src: /src/mhd2/src/tests/unit/unit_str_compare.c:689,1
    - Dst: set_test_locale
      Src: /src/mhd2/src/tests/unit/unit_str_compare.c:693,1
    - Dst: fprintf
      Src: /src/mhd2/src/tests/unit/unit_str_compare.c:701,1
    - Dst: exit
      Src: /src/mhd2/src/tests/unit/unit_str_compare.c:710,1
    - Dst: fprintf
      Src: /src/mhd2/src/tests/unit/unit_str_compare.c:714,1
    - Dst: exit
      Src: /src/mhd2/src/tests/unit/unit_str_compare.c:721,1
    - Dst: fprintf
      Src: /src/mhd2/src/tests/unit/unit_str_compare.c:725,1
    - Dst: exit
      Src: /src/mhd2/src/tests/unit/unit_str_compare.c:732,1
    - Dst: mhd_str_equal_caseless_n
      Src: /src/mhd2/src/tests/unit/unit_str_compare.c:738,1
    - Dst: fprintf
      Src: /src/mhd2/src/tests/unit/unit_str_compare.c:742,1
    - Dst: n_prnt
      Src: /src/mhd2/src/tests/unit/unit_str_compare.c:745,1
    - Dst: n_prnt
      Src: /src/mhd2/src/tests/unit/unit_str_compare.c:746,1
    - Dst: get_current_locale_str
      Src: /src/mhd2/src/tests/unit/unit_str_compare.c:748,1
    - Dst: mhd_str_equal_caseless_n
      Src: /src/mhd2/src/tests/unit/unit_str_compare.c:750,1
    - Dst: fprintf
      Src: /src/mhd2/src/tests/unit/unit_str_compare.c:754,1
    - Dst: n_prnt
      Src: /src/mhd2/src/tests/unit/unit_str_compare.c:757,1
    - Dst: n_prnt
      Src: /src/mhd2/src/tests/unit/unit_str_compare.c:758,1
    - Dst: get_current_locale_str
      Src: /src/mhd2/src/tests/unit/unit_str_compare.c:760,1
    - Dst: mhd_str_equal_caseless_n
      Src: /src/mhd2/src/tests/unit/unit_str_compare.c:765,1
    - Dst: fprintf
      Src: /src/mhd2/src/tests/unit/unit_str_compare.c:769,1
    - Dst: n_prnt
      Src: /src/mhd2/src/tests/unit/unit_str_compare.c:772,1
    - Dst: n_prnt
      Src: /src/mhd2/src/tests/unit/unit_str_compare.c:773,1
    - Dst: get_current_locale_str
      Src: /src/mhd2/src/tests/unit/unit_str_compare.c:775,1
    - Dst: mhd_str_equal_caseless_n
      Src: /src/mhd2/src/tests/unit/unit_str_compare.c:777,1
    - Dst: fprintf
      Src: /src/mhd2/src/tests/unit/unit_str_compare.c:781,1
    - Dst: n_prnt
      Src: /src/mhd2/src/tests/unit/unit_str_compare.c:784,1
    - Dst: n_prnt
      Src: /src/mhd2/src/tests/unit/unit_str_compare.c:785,1
    - Dst: get_current_locale_str
      Src: /src/mhd2/src/tests/unit/unit_str_compare.c:787,1
    - Dst: printf
      Src: /src/mhd2/src/tests/unit/unit_str_compare.c:793,1
    - Dst: n_prnt
      Src: /src/mhd2/src/tests/unit/unit_str_compare.c:796,1
    - Dst: n_prnt
      Src: /src/mhd2/src/tests/unit/unit_str_compare.c:797,1
    - Dst: n_prnt
      Src: /src/mhd2/src/tests/unit/unit_str_compare.c:798,1
    - Dst: n_prnt
      Src: /src/mhd2/src/tests/unit/unit_str_compare.c:799,1
    - Dst: printf
      Src: /src/mhd2/src/tests/unit/unit_str_compare.c:802,1
    - Dst: n_prnt
      Src: /src/mhd2/src/tests/unit/unit_str_compare.c:805,1
    - Dst: n_prnt
      Src: /src/mhd2/src/tests/unit/unit_str_compare.c:806,1
    - Dst: n_prnt
      Src: /src/mhd2/src/tests/unit/unit_str_compare.c:807,1
    - Dst: n_prnt
      Src: /src/mhd2/src/tests/unit/unit_str_compare.c:808,1
    CyclomaticComplexity: 15
    EdgeCount: 15
    ICount: 50
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 815
      start: 681
    functionDepth: 1
    functionLinenumber: 681
    functionLinenumberEnd: 815
    functionName: check_neq_strings_n
    functionSourceFile: /src/mhd2/src/tests/unit/unit_str_compare.c
    functionUses: 0
    functionsReached:
    - fprintf
    - mhd_str_equal_caseless_n
    - get_current_locale_str
    - printf
    - n_prnt
    - exit
    - set_test_locale
    - memset
    linkageType: ''
    returnType: size_t
    signature: size_t check_neq_strings_n (void)
  - BBCount: 16
    BranchProfiles: []
    Callsites:
    - Dst: check_eq_strings
      Src: /src/mhd2/src/tests/unit/unit_str_compare.c:828,1
    - Dst: fprintf
      Src: /src/mhd2/src/tests/unit/unit_str_compare.c:832,1
    - Dst: printf
      Src: /src/mhd2/src/tests/unit/unit_str_compare.c:835,1
    - Dst: check_neq_strings
      Src: /src/mhd2/src/tests/unit/unit_str_compare.c:837,1
    - Dst: fprintf
      Src: /src/mhd2/src/tests/unit/unit_str_compare.c:841,1
    - Dst: printf
      Src: /src/mhd2/src/tests/unit/unit_str_compare.c:844,1
    - Dst: fprintf
      Src: /src/mhd2/src/tests/unit/unit_str_compare.c:847,1
    - Dst: printf
      Src: /src/mhd2/src/tests/unit/unit_str_compare.c:853,1
    - Dst: check_eq_strings_n
      Src: /src/mhd2/src/tests/unit/unit_str_compare.c:856,1
    - Dst: fprintf
      Src: /src/mhd2/src/tests/unit/unit_str_compare.c:860,1
    - Dst: printf
      Src: /src/mhd2/src/tests/unit/unit_str_compare.c:863,1
    - Dst: check_neq_strings_n
      Src: /src/mhd2/src/tests/unit/unit_str_compare.c:865,1
    - Dst: fprintf
      Src: /src/mhd2/src/tests/unit/unit_str_compare.c:869,1
    - Dst: printf
      Src: /src/mhd2/src/tests/unit/unit_str_compare.c:872,1
    - Dst: fprintf
      Src: /src/mhd2/src/tests/unit/unit_str_compare.c:875,1
    - Dst: printf
      Src: /src/mhd2/src/tests/unit/unit_str_compare.c:881,1
    - Dst: printf
      Src: /src/mhd2/src/tests/unit/unit_str_compare.c:887,1
    - Dst: printf
      Src: /src/mhd2/src/tests/unit/unit_str_compare.c:893,1
    CyclomaticComplexity: 16
    EdgeCount: 16
    ICount: 45
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 896
      start: 821
    functionDepth: 2
    functionLinenumber: 821
    functionLinenumberEnd: 896
    functionName: run_eq_neq_str_tests
    functionSourceFile: /src/mhd2/src/tests/unit/unit_str_compare.c
    functionUses: 0
    functionsReached:
    - fprintf
    - check_eq_strings
    - printf
    - check_neq_strings_n
    - check_eq_strings_n
    - check_neq_strings
    linkageType: ''
    returnType: int
    signature: int run_eq_neq_str_tests (void)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: mhdt_has_param
      Src: /src/mhd2/src/tests/unit/unit_str_compare.c:903,1
    - Dst: mhdt_has_param
      Src: /src/mhd2/src/tests/unit/unit_str_compare.c:904,1
    - Dst: mhdt_has_param
      Src: /src/mhd2/src/tests/unit/unit_str_compare.c:905,1
    - Dst: MHDT_set_verbosity
      Src: /src/mhd2/src/tests/unit/unit_str_compare.c:906,1
    - Dst: mhdt_has_param
      Src: /src/mhd2/src/tests/unit/unit_str_compare.c:907,1
    - Dst: mhdt_has_param
      Src: /src/mhd2/src/tests/unit/unit_str_compare.c:908,1
    - Dst: MHDT_set_verbosity
      Src: /src/mhd2/src/tests/unit/unit_str_compare.c:909,1
    - Dst: run_eq_neq_str_tests
      Src: /src/mhd2/src/tests/unit/unit_str_compare.c:911,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 6
    argCount: 2
    argNames:
    - argc
    - argv
    argTypes:
    - int
    - char*[]
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 912
      start: 899
    functionDepth: 3
    functionLinenumber: 899
    functionLinenumberEnd: 912
    functionName: main
    functionSourceFile: /src/mhd2/src/tests/unit/unit_str_compare.c
    functionUses: 0
    functionsReached:
    - mhdt_has_param
    - run_eq_neq_str_tests
    - MHDT_set_verbosity
    linkageType: ''
    returnType: int
    signature: "int main (int argc,\n      char *argv[])"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: fprintf
      Src: /src/mhd2/src/tests/unit/unit_h2_huffman_codec.c:617,1
    - Dst: fprintf
      Src: /src/mhd2/src/tests/unit/unit_h2_huffman_codec.c:619,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 3
    argNames:
    - stream
    - hex_size
    - hex
    argTypes:
    - FILE*
    - size_t
    - uint8_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 620
      start: 611
    functionDepth: 0
    functionLinenumber: 611
    functionLinenumberEnd: 620
    functionName: print_hex
    functionSourceFile: /src/mhd2/src/tests/unit/unit_h2_huffman_codec.c
    functionUses: 0
    functionsReached:
    - fprintf
    linkageType: ''
    returnType: void
    signature: void print_hex (FILE *stream, size_t hex_size, const uint8_t *hex)
  - BBCount: 14
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 20
    EdgeCount: 20
    ICount: 47
    argCount: 2
    argNames:
    - str_len
    - str
    argTypes:
    - size_t
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 701
      start: 624
    functionDepth: 0
    functionLinenumber: 624
    functionLinenumberEnd: 701
    functionName: print_mixed
    functionSourceFile: /src/mhd2/src/tests/unit/unit_h2_huffman_codec.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: char
    signature: 'char *

      print_mixed (size_t str_len, const char *str)'
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: fflush
      Src: /src/mhd2/src/tests/unit/unit_h2_huffman_codec.c:715,1
    - Dst: fprintf
      Src: /src/mhd2/src/tests/unit/unit_h2_huffman_codec.c:716,1
    - Dst: fflush
      Src: /src/mhd2/src/tests/unit/unit_h2_huffman_codec.c:724,1
    - Dst: fprintf
      Src: /src/mhd2/src/tests/unit/unit_h2_huffman_codec.c:725,1
    - Dst: strlen
      Src: /src/mhd2/src/tests/unit/unit_h2_huffman_codec.c:730,1
    - Dst: fflush
      Src: /src/mhd2/src/tests/unit/unit_h2_huffman_codec.c:732,1
    - Dst: fprintf
      Src: /src/mhd2/src/tests/unit/unit_h2_huffman_codec.c:733,1
    - Dst: fflush
      Src: /src/mhd2/src/tests/unit/unit_h2_huffman_codec.c:740,1
    - Dst: fprintf
      Src: /src/mhd2/src/tests/unit/unit_h2_huffman_codec.c:741,1
    - Dst: fflush
      Src: /src/mhd2/src/tests/unit/unit_h2_huffman_codec.c:749,1
    - Dst: fprintf
      Src: /src/mhd2/src/tests/unit/unit_h2_huffman_codec.c:750,1
    - Dst: fflush
      Src: /src/mhd2/src/tests/unit/unit_h2_huffman_codec.c:758,1
    - Dst: fprintf
      Src: /src/mhd2/src/tests/unit/unit_h2_huffman_codec.c:759,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 34
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 766
      start: 705
    functionDepth: 0
    functionLinenumber: 705
    functionLinenumberEnd: 766
    functionName: basic_data_check
    functionSourceFile: /src/mhd2/src/tests/unit/unit_h2_huffman_codec.c
    functionUses: 0
    functionsReached:
    - strlen
    - fprintf
    - fflush
    linkageType: ''
    returnType: int
    signature: int basic_data_check (void)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: fflush
      Src: /src/mhd2/src/tests/unit/unit_h2_huffman_codec.c:785,1
    - Dst: fprintf
      Src: /src/mhd2/src/tests/unit/unit_h2_huffman_codec.c:786,1
    - Dst: memset
      Src: /src/mhd2/src/tests/unit/unit_h2_huffman_codec.c:794,1
    - Dst: mhd_h2_huffman_encode
      Src: /src/mhd2/src/tests/unit/unit_h2_huffman_codec.c:796,1
    - Dst: fflush
      Src: /src/mhd2/src/tests/unit/unit_h2_huffman_codec.c:804,1
    - Dst: fprintf
      Src: /src/mhd2/src/tests/unit/unit_h2_huffman_codec.c:805,1
    - Dst: print_mixed
      Src: /src/mhd2/src/tests/unit/unit_h2_huffman_codec.c:810,1
    - Dst: print_hex
      Src: /src/mhd2/src/tests/unit/unit_h2_huffman_codec.c:813,1
    - Dst: fprintf
      Src: /src/mhd2/src/tests/unit/unit_h2_huffman_codec.c:814,1
    - Dst: print_hex
      Src: /src/mhd2/src/tests/unit/unit_h2_huffman_codec.c:815,1
    - Dst: fprintf
      Src: /src/mhd2/src/tests/unit/unit_h2_huffman_codec.c:816,1
    - Dst: fflush
      Src: /src/mhd2/src/tests/unit/unit_h2_huffman_codec.c:822,1
    - Dst: fprintf
      Src: /src/mhd2/src/tests/unit/unit_h2_huffman_codec.c:823,1
    - Dst: print_mixed
      Src: /src/mhd2/src/tests/unit/unit_h2_huffman_codec.c:826,1
    - Dst: memcmp
      Src: /src/mhd2/src/tests/unit/unit_h2_huffman_codec.c:832,1
    - Dst: fflush
      Src: /src/mhd2/src/tests/unit/unit_h2_huffman_codec.c:834,1
    - Dst: fprintf
      Src: /src/mhd2/src/tests/unit/unit_h2_huffman_codec.c:835,1
    - Dst: print_mixed
      Src: /src/mhd2/src/tests/unit/unit_h2_huffman_codec.c:839,1
    - Dst: fprintf
      Src: /src/mhd2/src/tests/unit/unit_h2_huffman_codec.c:842,1
    - Dst: print_hex
      Src: /src/mhd2/src/tests/unit/unit_h2_huffman_codec.c:843,1
    - Dst: fprintf
      Src: /src/mhd2/src/tests/unit/unit_h2_huffman_codec.c:844,1
    - Dst: print_hex
      Src: /src/mhd2/src/tests/unit/unit_h2_huffman_codec.c:845,1
    - Dst: fprintf
      Src: /src/mhd2/src/tests/unit/unit_h2_huffman_codec.c:846,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 35
    argCount: 5
    argNames:
    - str_len
    - str
    - valid_enc_size
    - valid_enc
    - use_buff_size
    argTypes:
    - size_t
    - char*
    - size_t
    - uint8_t*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 851
      start: 773
    functionDepth: 1
    functionLinenumber: 773
    functionLinenumberEnd: 851
    functionName: perform_single_enc_check
    functionSourceFile: /src/mhd2/src/tests/unit/unit_h2_huffman_codec.c
    functionUses: 0
    functionsReached:
    - mhd_h2_huffman_encode
    - fprintf
    - print_hex
    - fflush
    - print_mixed
    - memset
    - memcmp
    linkageType: ''
    returnType: int
    signature: "int perform_single_enc_check (size_t str_len,\n                          const
      char *restrict str,\n                          size_t valid_enc_size,\n                          const
      uint8_t *restrict valid_enc,\n                          size_t use_buff_size)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: perform_single_enc_check
      Src: /src/mhd2/src/tests/unit/unit_h2_huffman_codec.c:863,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 873
      start: 855
    functionDepth: 2
    functionLinenumber: 855
    functionLinenumberEnd: 873
    functionName: check_h2_h_encode_perfect_size
    functionSourceFile: /src/mhd2/src/tests/unit/unit_h2_huffman_codec.c
    functionUses: 0
    functionsReached:
    - perform_single_enc_check
    linkageType: ''
    returnType: int
    signature: int check_h2_h_encode_perfect_size (void)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: perform_single_enc_check
      Src: /src/mhd2/src/tests/unit/unit_h2_huffman_codec.c:885,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 895
      start: 877
    functionDepth: 2
    functionLinenumber: 877
    functionLinenumberEnd: 895
    functionName: check_h2_h_encode_larger_size
    functionSourceFile: /src/mhd2/src/tests/unit/unit_h2_huffman_codec.c
    functionUses: 0
    functionsReached:
    - perform_single_enc_check
    linkageType: ''
    returnType: int
    signature: int check_h2_h_encode_larger_size (void)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: perform_single_enc_check
      Src: /src/mhd2/src/tests/unit/unit_h2_huffman_codec.c:909,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 9
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 919
      start: 899
    functionDepth: 2
    functionLinenumber: 899
    functionLinenumberEnd: 919
    functionName: check_h2_h_encode_smaller_size
    functionSourceFile: /src/mhd2/src/tests/unit/unit_h2_huffman_codec.c
    functionUses: 0
    functionsReached:
    - perform_single_enc_check
    linkageType: ''
    returnType: int
    signature: int check_h2_h_encode_smaller_size (void)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: perform_single_enc_check
      Src: /src/mhd2/src/tests/unit/unit_h2_huffman_codec.c:931,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 1
    argNames:
    - use_size
    argTypes:
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 941
      start: 923
    functionDepth: 2
    functionLinenumber: 923
    functionLinenumberEnd: 941
    functionName: check_h2_h_encode_fixed_size
    functionSourceFile: /src/mhd2/src/tests/unit/unit_h2_huffman_codec.c
    functionUses: 0
    functionsReached:
    - perform_single_enc_check
    linkageType: ''
    returnType: int
    signature: int check_h2_h_encode_fixed_size (size_t use_size)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: check_h2_h_encode_fixed_size
      Src: /src/mhd2/src/tests/unit/unit_h2_huffman_codec.c:953,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 959
      start: 945
    functionDepth: 3
    functionLinenumber: 945
    functionLinenumberEnd: 959
    functionName: check_h2_h_encode_fixed_sizes
    functionSourceFile: /src/mhd2/src/tests/unit/unit_h2_huffman_codec.c
    functionUses: 0
    functionsReached:
    - check_h2_h_encode_fixed_size
    linkageType: ''
    returnType: int
    signature: int check_h2_h_encode_fixed_sizes (void)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: printf
      Src: /src/mhd2/src/tests/unit/unit_h2_huffman_codec.c:968,1
    - Dst: check_h2_h_encode_perfect_size
      Src: /src/mhd2/src/tests/unit/unit_h2_huffman_codec.c:970,1
    - Dst: printf
      Src: /src/mhd2/src/tests/unit/unit_h2_huffman_codec.c:973,1
    - Dst: printf
      Src: /src/mhd2/src/tests/unit/unit_h2_huffman_codec.c:975,1
    - Dst: check_h2_h_encode_larger_size
      Src: /src/mhd2/src/tests/unit/unit_h2_huffman_codec.c:977,1
    - Dst: printf
      Src: /src/mhd2/src/tests/unit/unit_h2_huffman_codec.c:980,1
    - Dst: printf
      Src: /src/mhd2/src/tests/unit/unit_h2_huffman_codec.c:982,1
    - Dst: check_h2_h_encode_smaller_size
      Src: /src/mhd2/src/tests/unit/unit_h2_huffman_codec.c:984,1
    - Dst: printf
      Src: /src/mhd2/src/tests/unit/unit_h2_huffman_codec.c:987,1
    - Dst: printf
      Src: /src/mhd2/src/tests/unit/unit_h2_huffman_codec.c:989,1
    - Dst: check_h2_h_encode_fixed_sizes
      Src: /src/mhd2/src/tests/unit/unit_h2_huffman_codec.c:991,1
    - Dst: printf
      Src: /src/mhd2/src/tests/unit/unit_h2_huffman_codec.c:994,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 22
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 997
      start: 963
    functionDepth: 4
    functionLinenumber: 963
    functionLinenumberEnd: 997
    functionName: test_encode
    functionSourceFile: /src/mhd2/src/tests/unit/unit_h2_huffman_codec.c
    functionUses: 0
    functionsReached:
    - check_h2_h_encode_larger_size
    - printf
    - check_h2_h_encode_perfect_size
    - check_h2_h_encode_fixed_sizes
    - check_h2_h_encode_smaller_size
    linkageType: ''
    returnType: int
    signature: int test_encode (void)
  - BBCount: 5
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 12
    argCount: 1
    argNames:
    - res
    argTypes:
    - enum mhd_H2HuffDecodeRes
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1017
      start: 1002
    functionDepth: 0
    functionLinenumber: 1002
    functionLinenumberEnd: 1017
    functionName: decode_result_to_string
    functionSourceFile: /src/mhd2/src/tests/unit/unit_h2_huffman_codec.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: char
    signature: 'char *

      decode_result_to_string (enum mhd_H2HuffDecodeRes res)'
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: fflush
      Src: /src/mhd2/src/tests/unit/unit_h2_huffman_codec.c:1034,1
    - Dst: fprintf
      Src: /src/mhd2/src/tests/unit/unit_h2_huffman_codec.c:1035,1
    - Dst: memset
      Src: /src/mhd2/src/tests/unit/unit_h2_huffman_codec.c:1043,1
    - Dst: mhd_h2_huffman_decode
      Src: /src/mhd2/src/tests/unit/unit_h2_huffman_codec.c:1045,1
    - Dst: fflush
      Src: /src/mhd2/src/tests/unit/unit_h2_huffman_codec.c:1054,1
    - Dst: fprintf
      Src: /src/mhd2/src/tests/unit/unit_h2_huffman_codec.c:1055,1
    - Dst: print_mixed
      Src: /src/mhd2/src/tests/unit/unit_h2_huffman_codec.c:1060,1
    - Dst: decode_result_to_string
      Src: /src/mhd2/src/tests/unit/unit_h2_huffman_codec.c:1061,1
    - Dst: fprintf
      Src: /src/mhd2/src/tests/unit/unit_h2_huffman_codec.c:1064,1
    - Dst: fprintf
      Src: /src/mhd2/src/tests/unit/unit_h2_huffman_codec.c:1067,1
    - Dst: fprintf
      Src: /src/mhd2/src/tests/unit/unit_h2_huffman_codec.c:1070,1
    - Dst: print_hex
      Src: /src/mhd2/src/tests/unit/unit_h2_huffman_codec.c:1071,1
    - Dst: fprintf
      Src: /src/mhd2/src/tests/unit/unit_h2_huffman_codec.c:1072,1
    - Dst: print_mixed
      Src: /src/mhd2/src/tests/unit/unit_h2_huffman_codec.c:1074,1
    - Dst: fflush
      Src: /src/mhd2/src/tests/unit/unit_h2_huffman_codec.c:1081,1
    - Dst: fprintf
      Src: /src/mhd2/src/tests/unit/unit_h2_huffman_codec.c:1082,1
    - Dst: print_mixed
      Src: /src/mhd2/src/tests/unit/unit_h2_huffman_codec.c:1087,1
    - Dst: decode_result_to_string
      Src: /src/mhd2/src/tests/unit/unit_h2_huffman_codec.c:1088,1
    - Dst: fprintf
      Src: /src/mhd2/src/tests/unit/unit_h2_huffman_codec.c:1092,1
    - Dst: fprintf
      Src: /src/mhd2/src/tests/unit/unit_h2_huffman_codec.c:1095,1
    - Dst: fprintf
      Src: /src/mhd2/src/tests/unit/unit_h2_huffman_codec.c:1099,1
    - Dst: print_hex
      Src: /src/mhd2/src/tests/unit/unit_h2_huffman_codec.c:1100,1
    - Dst: fprintf
      Src: /src/mhd2/src/tests/unit/unit_h2_huffman_codec.c:1101,1
    - Dst: print_mixed
      Src: /src/mhd2/src/tests/unit/unit_h2_huffman_codec.c:1102,1
    - Dst: memcmp
      Src: /src/mhd2/src/tests/unit/unit_h2_huffman_codec.c:1106,1
    - Dst: fflush
      Src: /src/mhd2/src/tests/unit/unit_h2_huffman_codec.c:1108,1
    - Dst: fprintf
      Src: /src/mhd2/src/tests/unit/unit_h2_huffman_codec.c:1109,1
    - Dst: decode_result_to_string
      Src: /src/mhd2/src/tests/unit/unit_h2_huffman_codec.c:1113,1
    - Dst: fprintf
      Src: /src/mhd2/src/tests/unit/unit_h2_huffman_codec.c:1115,1
    - Dst: fprintf
      Src: /src/mhd2/src/tests/unit/unit_h2_huffman_codec.c:1119,1
    - Dst: print_mixed
      Src: /src/mhd2/src/tests/unit/unit_h2_huffman_codec.c:1120,1
    - Dst: fprintf
      Src: /src/mhd2/src/tests/unit/unit_h2_huffman_codec.c:1121,1
    - Dst: print_mixed
      Src: /src/mhd2/src/tests/unit/unit_h2_huffman_codec.c:1122,1
    - Dst: fprintf
      Src: /src/mhd2/src/tests/unit/unit_h2_huffman_codec.c:1123,1
    - Dst: print_hex
      Src: /src/mhd2/src/tests/unit/unit_h2_huffman_codec.c:1124,1
    - Dst: fprintf
      Src: /src/mhd2/src/tests/unit/unit_h2_huffman_codec.c:1125,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 44
    argCount: 5
    argNames:
    - enc_size
    - enc
    - valid_str_len
    - valid_str
    - use_buff_size
    argTypes:
    - size_t
    - uint8_t*
    - size_t
    - char*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1130
      start: 1021
    functionDepth: 1
    functionLinenumber: 1021
    functionLinenumberEnd: 1130
    functionName: perform_single_dec_valid_check
    functionSourceFile: /src/mhd2/src/tests/unit/unit_h2_huffman_codec.c
    functionUses: 0
    functionsReached:
    - fprintf
    - mhd_h2_huffman_decode
    - print_hex
    - fflush
    - decode_result_to_string
    - print_mixed
    - memset
    - memcmp
    linkageType: ''
    returnType: int
    signature: "int perform_single_dec_valid_check (size_t enc_size,\n                                const
      uint8_t *restrict enc,\n                                size_t valid_str_len,\n
      \                               const char *restrict valid_str,\n                                size_t
      use_buff_size)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: perform_single_dec_valid_check
      Src: /src/mhd2/src/tests/unit/unit_h2_huffman_codec.c:1142,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1152
      start: 1134
    functionDepth: 2
    functionLinenumber: 1134
    functionLinenumberEnd: 1152
    functionName: check_h2_h_decode_perfect_size
    functionSourceFile: /src/mhd2/src/tests/unit/unit_h2_huffman_codec.c
    functionUses: 0
    functionsReached:
    - perform_single_dec_valid_check
    linkageType: ''
    returnType: int
    signature: int check_h2_h_decode_perfect_size (void)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: perform_single_dec_valid_check
      Src: /src/mhd2/src/tests/unit/unit_h2_huffman_codec.c:1164,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1174
      start: 1156
    functionDepth: 2
    functionLinenumber: 1156
    functionLinenumberEnd: 1174
    functionName: check_h2_h_decode_larger_size
    functionSourceFile: /src/mhd2/src/tests/unit/unit_h2_huffman_codec.c
    functionUses: 0
    functionsReached:
    - perform_single_dec_valid_check
    linkageType: ''
    returnType: int
    signature: int check_h2_h_decode_larger_size (void)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: perform_single_dec_valid_check
      Src: /src/mhd2/src/tests/unit/unit_h2_huffman_codec.c:1188,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 9
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1198
      start: 1178
    functionDepth: 2
    functionLinenumber: 1178
    functionLinenumberEnd: 1198
    functionName: check_h2_h_decode_smaller_size
    functionSourceFile: /src/mhd2/src/tests/unit/unit_h2_huffman_codec.c
    functionUses: 0
    functionsReached:
    - perform_single_dec_valid_check
    linkageType: ''
    returnType: int
    signature: int check_h2_h_decode_smaller_size (void)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: perform_single_dec_valid_check
      Src: /src/mhd2/src/tests/unit/unit_h2_huffman_codec.c:1210,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 1
    argNames:
    - use_size
    argTypes:
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1220
      start: 1202
    functionDepth: 2
    functionLinenumber: 1202
    functionLinenumberEnd: 1220
    functionName: check_h2_h_decode_fixed_size
    functionSourceFile: /src/mhd2/src/tests/unit/unit_h2_huffman_codec.c
    functionUses: 0
    functionsReached:
    - perform_single_dec_valid_check
    linkageType: ''
    returnType: int
    signature: int check_h2_h_decode_fixed_size (size_t use_size)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: check_h2_h_decode_fixed_size
      Src: /src/mhd2/src/tests/unit/unit_h2_huffman_codec.c:1232,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1238
      start: 1224
    functionDepth: 3
    functionLinenumber: 1224
    functionLinenumberEnd: 1238
    functionName: check_h2_h_decode_fixed_sizes
    functionSourceFile: /src/mhd2/src/tests/unit/unit_h2_huffman_codec.c
    functionUses: 0
    functionsReached:
    - check_h2_h_decode_fixed_size
    linkageType: ''
    returnType: int
    signature: int check_h2_h_decode_fixed_sizes (void)
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: fflush
      Src: /src/mhd2/src/tests/unit/unit_h2_huffman_codec.c:1262,1
    - Dst: fprintf
      Src: /src/mhd2/src/tests/unit/unit_h2_huffman_codec.c:1263,1
    - Dst: fflush
      Src: /src/mhd2/src/tests/unit/unit_h2_huffman_codec.c:1273,1
    - Dst: fprintf
      Src: /src/mhd2/src/tests/unit/unit_h2_huffman_codec.c:1274,1
    - Dst: mhd_h2_huffman_decode
      Src: /src/mhd2/src/tests/unit/unit_h2_huffman_codec.c:1279,1
    - Dst: fflush
      Src: /src/mhd2/src/tests/unit/unit_h2_huffman_codec.c:1287,1
    - Dst: fprintf
      Src: /src/mhd2/src/tests/unit/unit_h2_huffman_codec.c:1288,1
    - Dst: print_mixed
      Src: /src/mhd2/src/tests/unit/unit_h2_huffman_codec.c:1293,1
    - Dst: decode_result_to_string
      Src: /src/mhd2/src/tests/unit/unit_h2_huffman_codec.c:1294,1
    - Dst: fprintf
      Src: /src/mhd2/src/tests/unit/unit_h2_huffman_codec.c:1296,1
    - Dst: decode_result_to_string
      Src: /src/mhd2/src/tests/unit/unit_h2_huffman_codec.c:1299,1
    - Dst: fflush
      Src: /src/mhd2/src/tests/unit/unit_h2_huffman_codec.c:1304,1
    - Dst: fprintf
      Src: /src/mhd2/src/tests/unit/unit_h2_huffman_codec.c:1305,1
    - Dst: print_mixed
      Src: /src/mhd2/src/tests/unit/unit_h2_huffman_codec.c:1310,1
    - Dst: decode_result_to_string
      Src: /src/mhd2/src/tests/unit/unit_h2_huffman_codec.c:1311,1
    - Dst: fprintf
      Src: /src/mhd2/src/tests/unit/unit_h2_huffman_codec.c:1313,1
    - Dst: fflush
      Src: /src/mhd2/src/tests/unit/unit_h2_huffman_codec.c:1319,1
    - Dst: fprintf
      Src: /src/mhd2/src/tests/unit/unit_h2_huffman_codec.c:1320,1
    - Dst: print_mixed
      Src: /src/mhd2/src/tests/unit/unit_h2_huffman_codec.c:1325,1
    - Dst: decode_result_to_string
      Src: /src/mhd2/src/tests/unit/unit_h2_huffman_codec.c:1326,1
    - Dst: fprintf
      Src: /src/mhd2/src/tests/unit/unit_h2_huffman_codec.c:1328,1
    - Dst: mhd_h2_huffman_encode
      Src: /src/mhd2/src/tests/unit/unit_h2_huffman_codec.c:1337,1
    - Dst: fflush
      Src: /src/mhd2/src/tests/unit/unit_h2_huffman_codec.c:1343,1
    - Dst: fprintf
      Src: /src/mhd2/src/tests/unit/unit_h2_huffman_codec.c:1344,1
    - Dst: print_mixed
      Src: /src/mhd2/src/tests/unit/unit_h2_huffman_codec.c:1349,1
    - Dst: decode_result_to_string
      Src: /src/mhd2/src/tests/unit/unit_h2_huffman_codec.c:1350,1
    - Dst: fprintf
      Src: /src/mhd2/src/tests/unit/unit_h2_huffman_codec.c:1352,1
    - Dst: print_mixed
      Src: /src/mhd2/src/tests/unit/unit_h2_huffman_codec.c:1358,1
    - Dst: memcmp
      Src: /src/mhd2/src/tests/unit/unit_h2_huffman_codec.c:1363,1
    - Dst: fflush
      Src: /src/mhd2/src/tests/unit/unit_h2_huffman_codec.c:1365,1
    - Dst: fprintf
      Src: /src/mhd2/src/tests/unit/unit_h2_huffman_codec.c:1366,1
    - Dst: print_mixed
      Src: /src/mhd2/src/tests/unit/unit_h2_huffman_codec.c:1371,1
    - Dst: decode_result_to_string
      Src: /src/mhd2/src/tests/unit/unit_h2_huffman_codec.c:1372,1
    - Dst: fprintf
      Src: /src/mhd2/src/tests/unit/unit_h2_huffman_codec.c:1375,1
    - Dst: print_mixed
      Src: /src/mhd2/src/tests/unit/unit_h2_huffman_codec.c:1380,1
    - Dst: fprintf
      Src: /src/mhd2/src/tests/unit/unit_h2_huffman_codec.c:1384,1
    - Dst: print_mixed
      Src: /src/mhd2/src/tests/unit/unit_h2_huffman_codec.c:1390,1
    - Dst: fprintf
      Src: /src/mhd2/src/tests/unit/unit_h2_huffman_codec.c:1394,1
    - Dst: print_mixed
      Src: /src/mhd2/src/tests/unit/unit_h2_huffman_codec.c:1395,1
    - Dst: fprintf
      Src: /src/mhd2/src/tests/unit/unit_h2_huffman_codec.c:1396,1
    - Dst: print_hex
      Src: /src/mhd2/src/tests/unit/unit_h2_huffman_codec.c:1397,1
    - Dst: fprintf
      Src: /src/mhd2/src/tests/unit/unit_h2_huffman_codec.c:1398,1
    - Dst: print_hex
      Src: /src/mhd2/src/tests/unit/unit_h2_huffman_codec.c:1400,1
    - Dst: fprintf
      Src: /src/mhd2/src/tests/unit/unit_h2_huffman_codec.c:1401,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 55
    argCount: 3
    argNames:
    - enc_size
    - enc
    - valid_codes_counter
    argTypes:
    - size_t
    - uint8_t*
    - uint_fast32_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1409
      start: 1250
    functionDepth: 1
    functionLinenumber: 1250
    functionLinenumberEnd: 1409
    functionName: perform_single_dec_unknow_seq_check
    functionSourceFile: /src/mhd2/src/tests/unit/unit_h2_huffman_codec.c
    functionUses: 0
    functionsReached:
    - mhd_h2_huffman_encode
    - fprintf
    - mhd_h2_huffman_decode
    - print_hex
    - fflush
    - decode_result_to_string
    - print_mixed
    - memcmp
    linkageType: ''
    returnType: int
    signature: "int perform_single_dec_unknow_seq_check (size_t enc_size,\n                                     const
      uint8_t *restrict enc,\n                                     uint_fast32_t *valid_codes_counter)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: perform_single_dec_unknow_seq_check
      Src: /src/mhd2/src/tests/unit/unit_h2_huffman_codec.c:1428,1
    - Dst: fflush
      Src: /src/mhd2/src/tests/unit/unit_h2_huffman_codec.c:1438,1
    - Dst: fprintf
      Src: /src/mhd2/src/tests/unit/unit_h2_huffman_codec.c:1439,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 15
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1447
      start: 1413
    functionDepth: 2
    functionLinenumber: 1413
    functionLinenumberEnd: 1447
    functionName: check_h2_h_decode_all_one_byte_values
    functionSourceFile: /src/mhd2/src/tests/unit/unit_h2_huffman_codec.c
    functionUses: 0
    functionsReached:
    - perform_single_dec_unknow_seq_check
    - fprintf
    - fflush
    linkageType: ''
    returnType: int
    signature: int check_h2_h_decode_all_one_byte_values (void)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: perform_single_dec_unknow_seq_check
      Src: /src/mhd2/src/tests/unit/unit_h2_huffman_codec.c:1467,1
    - Dst: fflush
      Src: /src/mhd2/src/tests/unit/unit_h2_huffman_codec.c:1477,1
    - Dst: fprintf
      Src: /src/mhd2/src/tests/unit/unit_h2_huffman_codec.c:1478,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 16
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1486
      start: 1451
    functionDepth: 2
    functionLinenumber: 1451
    functionLinenumberEnd: 1486
    functionName: check_h2_h_decode_all_two_bytes_values
    functionSourceFile: /src/mhd2/src/tests/unit/unit_h2_huffman_codec.c
    functionUses: 0
    functionsReached:
    - perform_single_dec_unknow_seq_check
    - fprintf
    - fflush
    linkageType: ''
    returnType: int
    signature: int check_h2_h_decode_all_two_bytes_values (void)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: printf
      Src: /src/mhd2/src/tests/unit/unit_h2_huffman_codec.c:1500,1
    - Dst: fflush
      Src: /src/mhd2/src/tests/unit/unit_h2_huffman_codec.c:1501,1
    - Dst: perform_single_dec_unknow_seq_check
      Src: /src/mhd2/src/tests/unit/unit_h2_huffman_codec.c:1510,1
    - Dst: printf
      Src: /src/mhd2/src/tests/unit/unit_h2_huffman_codec.c:1520,1
    - Dst: fflush
      Src: /src/mhd2/src/tests/unit/unit_h2_huffman_codec.c:1521,1
    - Dst: printf
      Src: /src/mhd2/src/tests/unit/unit_h2_huffman_codec.c:1524,1
    - Dst: fflush
      Src: /src/mhd2/src/tests/unit/unit_h2_huffman_codec.c:1528,1
    - Dst: fprintf
      Src: /src/mhd2/src/tests/unit/unit_h2_huffman_codec.c:1529,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 24
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1537
      start: 1490
    functionDepth: 2
    functionLinenumber: 1490
    functionLinenumberEnd: 1537
    functionName: check_h2_h_decode_all_three_bytes_values
    functionSourceFile: /src/mhd2/src/tests/unit/unit_h2_huffman_codec.c
    functionUses: 0
    functionsReached:
    - perform_single_dec_unknow_seq_check
    - printf
    - fprintf
    - fflush
    linkageType: ''
    returnType: int
    signature: int check_h2_h_decode_all_three_bytes_values (void)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: printf
      Src: /src/mhd2/src/tests/unit/unit_h2_huffman_codec.c:1551,1
    - Dst: fflush
      Src: /src/mhd2/src/tests/unit/unit_h2_huffman_codec.c:1552,1
    - Dst: perform_single_dec_unknow_seq_check
      Src: /src/mhd2/src/tests/unit/unit_h2_huffman_codec.c:1562,1
    - Dst: printf
      Src: /src/mhd2/src/tests/unit/unit_h2_huffman_codec.c:1572,1
    - Dst: fflush
      Src: /src/mhd2/src/tests/unit/unit_h2_huffman_codec.c:1573,1
    - Dst: printf
      Src: /src/mhd2/src/tests/unit/unit_h2_huffman_codec.c:1576,1
    - Dst: fflush
      Src: /src/mhd2/src/tests/unit/unit_h2_huffman_codec.c:1580,1
    - Dst: fprintf
      Src: /src/mhd2/src/tests/unit/unit_h2_huffman_codec.c:1581,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 25
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1589
      start: 1541
    functionDepth: 2
    functionLinenumber: 1541
    functionLinenumberEnd: 1589
    functionName: check_h2_h_decode_all_four_bytes_values
    functionSourceFile: /src/mhd2/src/tests/unit/unit_h2_huffman_codec.c
    functionUses: 0
    functionsReached:
    - perform_single_dec_unknow_seq_check
    - printf
    - fprintf
    - fflush
    linkageType: ''
    returnType: int
    signature: int check_h2_h_decode_all_four_bytes_values (void)
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: mhd_h2_huffman_init
      Src: /src/mhd2/src/tests/unit/unit_h2_huffman_codec.c:1598,1
    - Dst: printf
      Src: /src/mhd2/src/tests/unit/unit_h2_huffman_codec.c:1600,1
    - Dst: check_h2_h_decode_perfect_size
      Src: /src/mhd2/src/tests/unit/unit_h2_huffman_codec.c:1602,1
    - Dst: printf
      Src: /src/mhd2/src/tests/unit/unit_h2_huffman_codec.c:1605,1
    - Dst: printf
      Src: /src/mhd2/src/tests/unit/unit_h2_huffman_codec.c:1607,1
    - Dst: check_h2_h_decode_larger_size
      Src: /src/mhd2/src/tests/unit/unit_h2_huffman_codec.c:1609,1
    - Dst: printf
      Src: /src/mhd2/src/tests/unit/unit_h2_huffman_codec.c:1612,1
    - Dst: printf
      Src: /src/mhd2/src/tests/unit/unit_h2_huffman_codec.c:1614,1
    - Dst: check_h2_h_decode_smaller_size
      Src: /src/mhd2/src/tests/unit/unit_h2_huffman_codec.c:1616,1
    - Dst: printf
      Src: /src/mhd2/src/tests/unit/unit_h2_huffman_codec.c:1619,1
    - Dst: printf
      Src: /src/mhd2/src/tests/unit/unit_h2_huffman_codec.c:1621,1
    - Dst: check_h2_h_decode_fixed_sizes
      Src: /src/mhd2/src/tests/unit/unit_h2_huffman_codec.c:1623,1
    - Dst: printf
      Src: /src/mhd2/src/tests/unit/unit_h2_huffman_codec.c:1626,1
    - Dst: printf
      Src: /src/mhd2/src/tests/unit/unit_h2_huffman_codec.c:1628,1
    - Dst: check_h2_h_decode_all_one_byte_values
      Src: /src/mhd2/src/tests/unit/unit_h2_huffman_codec.c:1630,1
    - Dst: printf
      Src: /src/mhd2/src/tests/unit/unit_h2_huffman_codec.c:1633,1
    - Dst: printf
      Src: /src/mhd2/src/tests/unit/unit_h2_huffman_codec.c:1635,1
    - Dst: check_h2_h_decode_all_two_bytes_values
      Src: /src/mhd2/src/tests/unit/unit_h2_huffman_codec.c:1637,1
    - Dst: printf
      Src: /src/mhd2/src/tests/unit/unit_h2_huffman_codec.c:1640,1
    - Dst: printf
      Src: /src/mhd2/src/tests/unit/unit_h2_huffman_codec.c:1642,1
    - Dst: printf
      Src: /src/mhd2/src/tests/unit/unit_h2_huffman_codec.c:1644,1
    - Dst: check_h2_h_decode_all_three_bytes_values
      Src: /src/mhd2/src/tests/unit/unit_h2_huffman_codec.c:1645,1
    - Dst: printf
      Src: /src/mhd2/src/tests/unit/unit_h2_huffman_codec.c:1648,1
    - Dst: printf
      Src: /src/mhd2/src/tests/unit/unit_h2_huffman_codec.c:1652,1
    - Dst: printf
      Src: /src/mhd2/src/tests/unit/unit_h2_huffman_codec.c:1654,1
    - Dst: check_h2_h_decode_all_four_bytes_values
      Src: /src/mhd2/src/tests/unit/unit_h2_huffman_codec.c:1655,1
    - Dst: printf
      Src: /src/mhd2/src/tests/unit/unit_h2_huffman_codec.c:1658,1
    - Dst: printf
      Src: /src/mhd2/src/tests/unit/unit_h2_huffman_codec.c:1662,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 49
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1668
      start: 1593
    functionDepth: 4
    functionLinenumber: 1593
    functionLinenumberEnd: 1668
    functionName: test_decode
    functionSourceFile: /src/mhd2/src/tests/unit/unit_h2_huffman_codec.c
    functionUses: 0
    functionsReached:
    - check_h2_h_decode_perfect_size
    - check_h2_h_decode_all_two_bytes_values
    - check_h2_h_decode_all_three_bytes_values
    - check_h2_h_decode_all_four_bytes_values
    - check_h2_h_decode_all_one_byte_values
    - check_h2_h_decode_fixed_sizes
    - printf
    - check_h2_h_decode_larger_size
    - mhd_h2_huffman_init
    - check_h2_h_decode_smaller_size
    linkageType: ''
    returnType: int
    signature: int test_decode (void)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: mhdt_has_param
      Src: /src/mhd2/src/tests/unit/unit_h2_huffman_codec.c:1679,1
    - Dst: basic_data_check
      Src: /src/mhd2/src/tests/unit/unit_h2_huffman_codec.c:1681,1
    - Dst: mhdt_has_in_name
      Src: /src/mhd2/src/tests/unit/unit_h2_huffman_codec.c:1684,1
    - Dst: test_decode
      Src: /src/mhd2/src/tests/unit/unit_h2_huffman_codec.c:1685,1
    - Dst: test_encode
      Src: /src/mhd2/src/tests/unit/unit_h2_huffman_codec.c:1687,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 10
    argCount: 2
    argNames:
    - argc
    - argv
    argTypes:
    - int
    - char**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1689
      start: 1671
    functionDepth: 5
    functionLinenumber: 1671
    functionLinenumberEnd: 1689
    functionName: main
    functionSourceFile: /src/mhd2/src/tests/unit/unit_h2_huffman_codec.c
    functionUses: 0
    functionsReached:
    - basic_data_check
    - test_decode
    - mhdt_has_in_name
    - test_encode
    - mhdt_has_param
    linkageType: ''
    returnType: int
    signature: "int main (int argc,\n      char *const *argv)"
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: fprintf
      Src: /src/mhd2/src/tests/unit/unit_str_from_value.c:225,1
    - Dst: exit
      Src: /src/mhd2/src/tests/unit/unit_str_from_value.c:226,1
    - Dst: printf
      Src: /src/mhd2/src/tests/unit/unit_str_from_value.c:229,1
    - Dst: setlocale
      Src: /src/mhd2/src/tests/unit/unit_str_from_value.c:230,1
    - Dst: printf
      Src: /src/mhd2/src/tests/unit/unit_str_from_value.c:233,1
    - Dst: printf
      Src: /src/mhd2/src/tests/unit/unit_str_from_value.c:237,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 15
    argCount: 1
    argNames:
    - num
    argTypes:
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 239
      start: 220
    functionDepth: 0
    functionLinenumber: 220
    functionLinenumberEnd: 239
    functionName: set_test_locale
    functionSourceFile: /src/mhd2/src/tests/unit/unit_str_from_value.c
    functionUses: 28
    functionsReached:
    - setlocale
    - exit
    - printf
    - fprintf
    linkageType: ''
    returnType: int
    signature: int set_test_locale (size_t num)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: setlocale
      Src: /src/mhd2/src/tests/unit/unit_str_from_value.c:245,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 247
      start: 242
    functionDepth: 0
    functionLinenumber: 242
    functionLinenumberEnd: 247
    functionName: get_current_locale_str
    functionSourceFile: /src/mhd2/src/tests/unit/unit_str_from_value.c
    functionUses: 28
    functionsReached:
    - setlocale
    linkageType: ''
    returnType: char
    signature: 'char *

      get_current_locale_str (void)'
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - s
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 257
      start: 256
    functionDepth: 0
    functionLinenumber: 256
    functionLinenumberEnd: 257
    functionName: D_STR_W_LEN
    functionSourceFile: /src/mhd2/src/tests/unit/unit_str_from_value.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: D_STR_W_LEN(s)
  - BBCount: 17
    BranchProfiles: []
    Callsites:
    - Dst: memset
      Src: /src/mhd2/src/tests/unit/unit_str_from_value.c:475,1
    - Dst: set_test_locale
      Src: /src/mhd2/src/tests/unit/unit_str_from_value.c:479,1
    - Dst: fprintf
      Src: /src/mhd2/src/tests/unit/unit_str_from_value.c:491,1
    - Dst: exit
      Src: /src/mhd2/src/tests/unit/unit_str_from_value.c:499,1
    - Dst: fprintf
      Src: /src/mhd2/src/tests/unit/unit_str_from_value.c:509,1
    - Dst: exit
      Src: /src/mhd2/src/tests/unit/unit_str_from_value.c:513,1
    - Dst: memcpy
      Src: /src/mhd2/src/tests/unit/unit_str_from_value.c:519,1
    - Dst: mhd_uint16_to_str
      Src: /src/mhd2/src/tests/unit/unit_str_from_value.c:521,1
    - Dst: fprintf
      Src: /src/mhd2/src/tests/unit/unit_str_from_value.c:531,1
    - Dst: get_current_locale_str
      Src: /src/mhd2/src/tests/unit/unit_str_from_value.c:536,1
    - Dst: fprintf
      Src: /src/mhd2/src/tests/unit/unit_str_from_value.c:546,1
    - Dst: get_current_locale_str
      Src: /src/mhd2/src/tests/unit/unit_str_from_value.c:551,1
    - Dst: memcmp
      Src: /src/mhd2/src/tests/unit/unit_str_from_value.c:553,1
    - Dst: fprintf
      Src: /src/mhd2/src/tests/unit/unit_str_from_value.c:558,1
    - Dst: get_current_locale_str
      Src: /src/mhd2/src/tests/unit/unit_str_from_value.c:562,1
    - Dst: memcmp
      Src: /src/mhd2/src/tests/unit/unit_str_from_value.c:564,1
    - Dst: fprintf
      Src: /src/mhd2/src/tests/unit/unit_str_from_value.c:569,1
    - Dst: get_current_locale_str
      Src: /src/mhd2/src/tests/unit/unit_str_from_value.c:574,1
    - Dst: printf
      Src: /src/mhd2/src/tests/unit/unit_str_from_value.c:579,1
    CyclomaticComplexity: 25
    EdgeCount: 25
    ICount: 58
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 585
      start: 461
    functionDepth: 0
    functionLinenumber: 461
    functionLinenumberEnd: 585
    functionName: check_str_from_uint16
    functionSourceFile: /src/mhd2/src/tests/unit/unit_str_from_value.c
    functionUses: 0
    functionsReached:
    - fprintf
    - memcpy
    - mhd_uint16_to_str
    - get_current_locale_str
    - printf
    - exit
    - set_test_locale
    - memset
    - memcmp
    linkageType: ''
    returnType: size_t
    signature: size_t check_str_from_uint16 (void)
  - BBCount: 16
    BranchProfiles: []
    Callsites:
    - Dst: memset
      Src: /src/mhd2/src/tests/unit/unit_str_from_value.c:602,1
    - Dst: set_test_locale
      Src: /src/mhd2/src/tests/unit/unit_str_from_value.c:606,1
    - Dst: fprintf
      Src: /src/mhd2/src/tests/unit/unit_str_from_value.c:618,1
    - Dst: exit
      Src: /src/mhd2/src/tests/unit/unit_str_from_value.c:626,1
    - Dst: fprintf
      Src: /src/mhd2/src/tests/unit/unit_str_from_value.c:634,1
    - Dst: exit
      Src: /src/mhd2/src/tests/unit/unit_str_from_value.c:638,1
    - Dst: memcpy
      Src: /src/mhd2/src/tests/unit/unit_str_from_value.c:644,1
    - Dst: mhd_uint64_to_str
      Src: /src/mhd2/src/tests/unit/unit_str_from_value.c:646,1
    - Dst: fprintf
      Src: /src/mhd2/src/tests/unit/unit_str_from_value.c:656,1
    - Dst: get_current_locale_str
      Src: /src/mhd2/src/tests/unit/unit_str_from_value.c:661,1
    - Dst: fprintf
      Src: /src/mhd2/src/tests/unit/unit_str_from_value.c:671,1
    - Dst: get_current_locale_str
      Src: /src/mhd2/src/tests/unit/unit_str_from_value.c:676,1
    - Dst: memcmp
      Src: /src/mhd2/src/tests/unit/unit_str_from_value.c:678,1
    - Dst: fprintf
      Src: /src/mhd2/src/tests/unit/unit_str_from_value.c:683,1
    - Dst: get_current_locale_str
      Src: /src/mhd2/src/tests/unit/unit_str_from_value.c:687,1
    - Dst: memcmp
      Src: /src/mhd2/src/tests/unit/unit_str_from_value.c:689,1
    - Dst: fprintf
      Src: /src/mhd2/src/tests/unit/unit_str_from_value.c:694,1
    - Dst: get_current_locale_str
      Src: /src/mhd2/src/tests/unit/unit_str_from_value.c:699,1
    - Dst: printf
      Src: /src/mhd2/src/tests/unit/unit_str_from_value.c:704,1
    CyclomaticComplexity: 23
    EdgeCount: 23
    ICount: 56
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 710
      start: 588
    functionDepth: 1
    functionLinenumber: 588
    functionLinenumberEnd: 710
    functionName: check_str_from_uint64
    functionSourceFile: /src/mhd2/src/tests/unit/unit_str_from_value.c
    functionUses: 0
    functionsReached:
    - fprintf
    - memcpy
    - get_current_locale_str
    - printf
    - exit
    - set_test_locale
    - mhd_uint64_to_str
    - memset
    - memcmp
    linkageType: ''
    returnType: size_t
    signature: size_t check_str_from_uint64 (void)
  - BBCount: 18
    BranchProfiles: []
    Callsites:
    - Dst: memset
      Src: /src/mhd2/src/tests/unit/unit_str_from_value.c:727,1
    - Dst: set_test_locale
      Src: /src/mhd2/src/tests/unit/unit_str_from_value.c:731,1
    - Dst: fprintf
      Src: /src/mhd2/src/tests/unit/unit_str_from_value.c:743,1
    - Dst: exit
      Src: /src/mhd2/src/tests/unit/unit_str_from_value.c:751,1
    - Dst: fprintf
      Src: /src/mhd2/src/tests/unit/unit_str_from_value.c:761,1
    - Dst: exit
      Src: /src/mhd2/src/tests/unit/unit_str_from_value.c:765,1
    - Dst: memcpy
      Src: /src/mhd2/src/tests/unit/unit_str_from_value.c:771,1
    - Dst: mhd_uint32_to_strx
      Src: /src/mhd2/src/tests/unit/unit_str_from_value.c:773,1
    - Dst: fprintf
      Src: /src/mhd2/src/tests/unit/unit_str_from_value.c:783,1
    - Dst: get_current_locale_str
      Src: /src/mhd2/src/tests/unit/unit_str_from_value.c:788,1
    - Dst: fprintf
      Src: /src/mhd2/src/tests/unit/unit_str_from_value.c:798,1
    - Dst: get_current_locale_str
      Src: /src/mhd2/src/tests/unit/unit_str_from_value.c:803,1
    - Dst: mhd_str_equal_caseless_bin_n
      Src: /src/mhd2/src/tests/unit/unit_str_from_value.c:805,1
    - Dst: fprintf
      Src: /src/mhd2/src/tests/unit/unit_str_from_value.c:811,1
    - Dst: get_current_locale_str
      Src: /src/mhd2/src/tests/unit/unit_str_from_value.c:816,1
    - Dst: fprintf
      Src: /src/mhd2/src/tests/unit/unit_str_from_value.c:820,1
    - Dst: exit
      Src: /src/mhd2/src/tests/unit/unit_str_from_value.c:824,1
    - Dst: memcmp
      Src: /src/mhd2/src/tests/unit/unit_str_from_value.c:826,1
    - Dst: fprintf
      Src: /src/mhd2/src/tests/unit/unit_str_from_value.c:831,1
    - Dst: get_current_locale_str
      Src: /src/mhd2/src/tests/unit/unit_str_from_value.c:837,1
    - Dst: printf
      Src: /src/mhd2/src/tests/unit/unit_str_from_value.c:842,1
    CyclomaticComplexity: 26
    EdgeCount: 26
    ICount: 62
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 849
      start: 713
    functionDepth: 1
    functionLinenumber: 713
    functionLinenumberEnd: 849
    functionName: check_strx_from_uint32
    functionSourceFile: /src/mhd2/src/tests/unit/unit_str_from_value.c
    functionUses: 0
    functionsReached:
    - mhd_uint32_to_strx
    - fprintf
    - mhd_str_equal_caseless_bin_n
    - memcpy
    - get_current_locale_str
    - printf
    - exit
    - set_test_locale
    - memset
    - memcmp
    linkageType: ''
    returnType: size_t
    signature: size_t check_strx_from_uint32 (void)
  - BBCount: 12
    BranchProfiles: []
    Callsites:
    - Dst: fprintf
      Src: /src/mhd2/src/tests/unit/unit_str_from_value.c:1644,1
    - Dst: exit
      Src: /src/mhd2/src/tests/unit/unit_str_from_value.c:1646,1
    - Dst: fprintf
      Src: /src/mhd2/src/tests/unit/unit_str_from_value.c:1665,1
    - Dst: exit
      Src: /src/mhd2/src/tests/unit/unit_str_from_value.c:1673,1
    - Dst: fprintf
      Src: /src/mhd2/src/tests/unit/unit_str_from_value.c:1677,1
    - Dst: exit
      Src: /src/mhd2/src/tests/unit/unit_str_from_value.c:1681,1
    - Dst: memset
      Src: /src/mhd2/src/tests/unit/unit_str_from_value.c:1686,1
    - Dst: mhd_uint8_to_str_pad
      Src: /src/mhd2/src/tests/unit/unit_str_from_value.c:1688,1
    - Dst: fprintf
      Src: /src/mhd2/src/tests/unit/unit_str_from_value.c:1696,1
    - Dst: memcmp
      Src: /src/mhd2/src/tests/unit/unit_str_from_value.c:1702,1
    - Dst: fprintf
      Src: /src/mhd2/src/tests/unit/unit_str_from_value.c:1707,1
    - Dst: fprintf
      Src: /src/mhd2/src/tests/unit/unit_str_from_value.c:1726,1
    - Dst: memcmp
      Src: /src/mhd2/src/tests/unit/unit_str_from_value.c:1732,1
    - Dst: fprintf
      Src: /src/mhd2/src/tests/unit/unit_str_from_value.c:1735,1
    - Dst: memcmp
      Src: /src/mhd2/src/tests/unit/unit_str_from_value.c:1741,1
    - Dst: fprintf
      Src: /src/mhd2/src/tests/unit/unit_str_from_value.c:1744,1
    - Dst: printf
      Src: /src/mhd2/src/tests/unit/unit_str_from_value.c:1756,1
    CyclomaticComplexity: 17
    EdgeCount: 17
    ICount: 50
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1759
      start: 1633
    functionDepth: 1
    functionLinenumber: 1633
    functionLinenumberEnd: 1759
    functionName: check_str_from_uint8_pad
    functionSourceFile: /src/mhd2/src/tests/unit/unit_str_from_value.c
    functionUses: 0
    functionsReached:
    - fprintf
    - mhd_uint8_to_str_pad
    - printf
    - exit
    - memset
    - memcmp
    linkageType: ''
    returnType: size_t
    signature: size_t check_str_from_uint8_pad (void)
  - BBCount: 12
    BranchProfiles: []
    Callsites:
    - Dst: check_str_from_uint16
      Src: /src/mhd2/src/tests/unit/unit_str_from_value.c:1773,1
    - Dst: fprintf
      Src: /src/mhd2/src/tests/unit/unit_str_from_value.c:1776,1
    - Dst: printf
      Src: /src/mhd2/src/tests/unit/unit_str_from_value.c:1781,1
    - Dst: check_str_from_uint64
      Src: /src/mhd2/src/tests/unit/unit_str_from_value.c:1784,1
    - Dst: fprintf
      Src: /src/mhd2/src/tests/unit/unit_str_from_value.c:1787,1
    - Dst: printf
      Src: /src/mhd2/src/tests/unit/unit_str_from_value.c:1792,1
    - Dst: check_strx_from_uint32
      Src: /src/mhd2/src/tests/unit/unit_str_from_value.c:1794,1
    - Dst: fprintf
      Src: /src/mhd2/src/tests/unit/unit_str_from_value.c:1797,1
    - Dst: printf
      Src: /src/mhd2/src/tests/unit/unit_str_from_value.c:1802,1
    - Dst: check_str_from_uint8_pad
      Src: /src/mhd2/src/tests/unit/unit_str_from_value.c:1805,1
    - Dst: fprintf
      Src: /src/mhd2/src/tests/unit/unit_str_from_value.c:1808,1
    - Dst: printf
      Src: /src/mhd2/src/tests/unit/unit_str_from_value.c:1813,1
    - Dst: printf
      Src: /src/mhd2/src/tests/unit/unit_str_from_value.c:1819,1
    - Dst: printf
      Src: /src/mhd2/src/tests/unit/unit_str_from_value.c:1825,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 38
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1828
      start: 1762
    functionDepth: 2
    functionLinenumber: 1762
    functionLinenumberEnd: 1828
    functionName: run_str_from_X_tests
    functionSourceFile: /src/mhd2/src/tests/unit/unit_str_from_value.c
    functionUses: 0
    functionsReached:
    - check_str_from_uint8_pad
    - fprintf
    - printf
    - check_str_from_uint64
    - check_str_from_uint16
    - check_strx_from_uint32
    linkageType: ''
    returnType: int
    signature: int run_str_from_X_tests (void)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: mhdt_has_param
      Src: /src/mhd2/src/tests/unit/unit_str_from_value.c:1834,1
    - Dst: mhdt_has_param
      Src: /src/mhd2/src/tests/unit/unit_str_from_value.c:1835,1
    - Dst: mhdt_has_param
      Src: /src/mhd2/src/tests/unit/unit_str_from_value.c:1836,1
    - Dst: MHDT_set_verbosity
      Src: /src/mhd2/src/tests/unit/unit_str_from_value.c:1837,1
    - Dst: mhdt_has_param
      Src: /src/mhd2/src/tests/unit/unit_str_from_value.c:1838,1
    - Dst: mhdt_has_param
      Src: /src/mhd2/src/tests/unit/unit_str_from_value.c:1839,1
    - Dst: MHDT_set_verbosity
      Src: /src/mhd2/src/tests/unit/unit_str_from_value.c:1840,1
    - Dst: run_str_from_X_tests
      Src: /src/mhd2/src/tests/unit/unit_str_from_value.c:1842,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 6
    argCount: 2
    argNames:
    - argc
    - argv
    argTypes:
    - int
    - char*[]
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1843
      start: 1831
    functionDepth: 3
    functionLinenumber: 1831
    functionLinenumberEnd: 1843
    functionName: main
    functionSourceFile: /src/mhd2/src/tests/unit/unit_str_from_value.c
    functionUses: 0
    functionsReached:
    - run_str_from_X_tests
    - mhdt_has_param
    - MHDT_set_verbosity
    linkageType: ''
    returnType: int
    signature: int main (int argc, char *argv[])
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - macro
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 42
      start: 41
    functionDepth: 0
    functionLinenumber: 41
    functionLinenumberEnd: 42
    functionName: MHD_STATICSTR_LEN_
    functionSourceFile: /src/mhd2/src/tests/unit/unit_str_quote.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: MHD_STATICSTR_LEN_(macro)
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: mhd_assert
      Src: /src/mhd2/src/tests/unit/unit_str_quote.c:60,1
    - Dst: mhd_assert
      Src: /src/mhd2/src/tests/unit/unit_str_quote.c:61,1
    - Dst: mhd_assert
      Src: /src/mhd2/src/tests/unit/unit_str_quote.c:62,1
    - Dst: mhd_assert
      Src: /src/mhd2/src/tests/unit/unit_str_quote.c:63,1
    - Dst: memset
      Src: /src/mhd2/src/tests/unit/unit_str_quote.c:67,1
    - Dst: mhd_str_unquote
      Src: /src/mhd2/src/tests/unit/unit_str_quote.c:68,1
    - Dst: fprintf
      Src: /src/mhd2/src/tests/unit/unit_str_quote.c:73,1
    - Dst: memcmp
      Src: /src/mhd2/src/tests/unit/unit_str_quote.c:76,1
    - Dst: fprintf
      Src: /src/mhd2/src/tests/unit/unit_str_quote.c:79,1
    - Dst: fprintf
      Src: /src/mhd2/src/tests/unit/unit_str_quote.c:85,1
    - Dst: fprintf
      Src: /src/mhd2/src/tests/unit/unit_str_quote.c:92,1
    - Dst: mhd_str_equal_quoted_bin_n
      Src: /src/mhd2/src/tests/unit/unit_str_quote.c:98,1
    - Dst: fprintf
      Src: /src/mhd2/src/tests/unit/unit_str_quote.c:100,1
    - Dst: fprintf
      Src: /src/mhd2/src/tests/unit/unit_str_quote.c:103,1
    - Dst: fprintf
      Src: /src/mhd2/src/tests/unit/unit_str_quote.c:112,1
    - Dst: mhd_str_equal_caseless_quoted_bin_n
      Src: /src/mhd2/src/tests/unit/unit_str_quote.c:119,1
    - Dst: fprintf
      Src: /src/mhd2/src/tests/unit/unit_str_quote.c:124,1
    - Dst: fprintf
      Src: /src/mhd2/src/tests/unit/unit_str_quote.c:128,1
    - Dst: fprintf
      Src: /src/mhd2/src/tests/unit/unit_str_quote.c:137,1
    - Dst: memset
      Src: /src/mhd2/src/tests/unit/unit_str_quote.c:144,1
    - Dst: mhd_str_quote
      Src: /src/mhd2/src/tests/unit/unit_str_quote.c:145,1
    - Dst: fprintf
      Src: /src/mhd2/src/tests/unit/unit_str_quote.c:149,1
    - Dst: memcmp
      Src: /src/mhd2/src/tests/unit/unit_str_quote.c:152,1
    - Dst: fprintf
      Src: /src/mhd2/src/tests/unit/unit_str_quote.c:155,1
    - Dst: fprintf
      Src: /src/mhd2/src/tests/unit/unit_str_quote.c:161,1
    - Dst: fprintf
      Src: /src/mhd2/src/tests/unit/unit_str_quote.c:169,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 50
    argCount: 5
    argNames:
    - quoted
    - quoted_len
    - unquoted
    - unquoted_len
    - line_num
    argTypes:
    - char*
    - size_t
    - char*
    - size_t
    - unsigned int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 174
      start: 48
    functionDepth: 1
    functionLinenumber: 48
    functionLinenumberEnd: 174
    functionName: expect_result_unquote_n
    functionSourceFile: /src/mhd2/src/tests/unit/unit_str_quote.c
    functionUses: 0
    functionsReached:
    - mhd_str_equal_caseless_quoted_bin_n
    - fprintf
    - mhd_str_equal_quoted_bin_n
    - memset
    - mhd_str_quote
    - mhd_str_unquote
    - mhd_assert
    - memcmp
    linkageType: ''
    returnType: unsigned int
    signature: "unsigned int expect_result_unquote_n (const char *const quoted, const
      size_t quoted_len,\n                         const char *const unquoted, const
      size_t unquoted_len,\n                         const unsigned int line_num)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - q
    - ','
    - u
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 180
      start: 177
    functionDepth: 0
    functionLinenumber: 177
    functionLinenumberEnd: 180
    functionName: expect_result_unquote
    functionSourceFile: /src/mhd2/src/tests/unit/unit_str_quote.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: expect_result_unquote(q, u)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: expect_result_unquote
      Src: /src/mhd2/src/tests/unit/unit_str_quote.c:187,1
    - Dst: expect_result_unquote
      Src: /src/mhd2/src/tests/unit/unit_str_quote.c:188,1
    - Dst: expect_result_unquote
      Src: /src/mhd2/src/tests/unit/unit_str_quote.c:189,1
    - Dst: expect_result_unquote
      Src: /src/mhd2/src/tests/unit/unit_str_quote.c:190,1
    - Dst: expect_result_unquote
      Src: /src/mhd2/src/tests/unit/unit_str_quote.c:191,1
    - Dst: expect_result_unquote
      Src: /src/mhd2/src/tests/unit/unit_str_quote.c:192,1
    - Dst: expect_result_unquote
      Src: /src/mhd2/src/tests/unit/unit_str_quote.c:193,1
    - Dst: expect_result_unquote
      Src: /src/mhd2/src/tests/unit/unit_str_quote.c:194,1
    - Dst: expect_result_unquote
      Src: /src/mhd2/src/tests/unit/unit_str_quote.c:195,1
    - Dst: expect_result_unquote
      Src: /src/mhd2/src/tests/unit/unit_str_quote.c:196,1
    - Dst: expect_result_unquote
      Src: /src/mhd2/src/tests/unit/unit_str_quote.c:197,1
    - Dst: expect_result_unquote
      Src: /src/mhd2/src/tests/unit/unit_str_quote.c:198,1
    - Dst: expect_result_unquote
      Src: /src/mhd2/src/tests/unit/unit_str_quote.c:199,1
    - Dst: expect_result_unquote
      Src: /src/mhd2/src/tests/unit/unit_str_quote.c:200,1
    - Dst: expect_result_unquote
      Src: /src/mhd2/src/tests/unit/unit_str_quote.c:201,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 17
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 206
      start: 182
    functionDepth: 1
    functionLinenumber: 182
    functionLinenumberEnd: 206
    functionName: check_match
    functionSourceFile: /src/mhd2/src/tests/unit/unit_str_quote.c
    functionUses: 1
    functionsReached:
    - expect_result_unquote
    linkageType: ''
    returnType: unsigned int
    signature: unsigned int check_match (void)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: mhd_assert
      Src: /src/mhd2/src/tests/unit/unit_str_quote.c:220,1
    - Dst: memset
      Src: /src/mhd2/src/tests/unit/unit_str_quote.c:224,1
    - Dst: mhd_str_quote
      Src: /src/mhd2/src/tests/unit/unit_str_quote.c:225,1
    - Dst: fprintf
      Src: /src/mhd2/src/tests/unit/unit_str_quote.c:229,1
    - Dst: fprintf
      Src: /src/mhd2/src/tests/unit/unit_str_quote.c:235,1
    - Dst: fprintf
      Src: /src/mhd2/src/tests/unit/unit_str_quote.c:243,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 14
    argCount: 4
    argNames:
    - unquoted
    - unquoted_len
    - buf_size
    - line_num
    argTypes:
    - char*
    - size_t
    - size_t
    - unsigned int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 248
      start: 210
    functionDepth: 1
    functionLinenumber: 210
    functionLinenumberEnd: 248
    functionName: expect_result_quote_failed_n
    functionSourceFile: /src/mhd2/src/tests/unit/unit_str_quote.c
    functionUses: 0
    functionsReached:
    - mhd_str_quote
    - mhd_assert
    - fprintf
    - memset
    linkageType: ''
    returnType: unsigned int
    signature: "unsigned int expect_result_quote_failed_n (const char *const unquoted,\n
      \                             const size_t unquoted_len,\n                              const
      size_t buf_size,\n                              const unsigned int line_num)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - q
    - ','
    - s
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 254
      start: 251
    functionDepth: 0
    functionLinenumber: 251
    functionLinenumberEnd: 254
    functionName: expect_result_quote_failed
    functionSourceFile: /src/mhd2/src/tests/unit/unit_str_quote.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: expect_result_quote_failed(q, s)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: expect_result_quote_failed
      Src: /src/mhd2/src/tests/unit/unit_str_quote.c:261,1
    - Dst: expect_result_quote_failed
      Src: /src/mhd2/src/tests/unit/unit_str_quote.c:262,1
    - Dst: expect_result_quote_failed
      Src: /src/mhd2/src/tests/unit/unit_str_quote.c:263,1
    - Dst: expect_result_quote_failed
      Src: /src/mhd2/src/tests/unit/unit_str_quote.c:264,1
    - Dst: expect_result_quote_failed
      Src: /src/mhd2/src/tests/unit/unit_str_quote.c:265,1
    - Dst: expect_result_quote_failed
      Src: /src/mhd2/src/tests/unit/unit_str_quote.c:266,1
    - Dst: expect_result_quote_failed
      Src: /src/mhd2/src/tests/unit/unit_str_quote.c:267,1
    - Dst: expect_result_quote_failed
      Src: /src/mhd2/src/tests/unit/unit_str_quote.c:268,1
    - Dst: expect_result_quote_failed
      Src: /src/mhd2/src/tests/unit/unit_str_quote.c:269,1
    - Dst: expect_result_quote_failed
      Src: /src/mhd2/src/tests/unit/unit_str_quote.c:270,1
    - Dst: expect_result_quote_failed
      Src: /src/mhd2/src/tests/unit/unit_str_quote.c:271,1
    - Dst: expect_result_quote_failed
      Src: /src/mhd2/src/tests/unit/unit_str_quote.c:272,1
    - Dst: expect_result_quote_failed
      Src: /src/mhd2/src/tests/unit/unit_str_quote.c:273,1
    - Dst: expect_result_quote_failed
      Src: /src/mhd2/src/tests/unit/unit_str_quote.c:274,1
    - Dst: expect_result_quote_failed
      Src: /src/mhd2/src/tests/unit/unit_str_quote.c:275,1
    - Dst: expect_result_quote_failed
      Src: /src/mhd2/src/tests/unit/unit_str_quote.c:276,1
    - Dst: expect_result_quote_failed
      Src: /src/mhd2/src/tests/unit/unit_str_quote.c:277,1
    - Dst: expect_result_quote_failed
      Src: /src/mhd2/src/tests/unit/unit_str_quote.c:278,1
    - Dst: expect_result_quote_failed
      Src: /src/mhd2/src/tests/unit/unit_str_quote.c:279,1
    - Dst: expect_result_quote_failed
      Src: /src/mhd2/src/tests/unit/unit_str_quote.c:280,1
    - Dst: expect_result_quote_failed
      Src: /src/mhd2/src/tests/unit/unit_str_quote.c:281,1
    - Dst: expect_result_quote_failed
      Src: /src/mhd2/src/tests/unit/unit_str_quote.c:282,1
    - Dst: expect_result_quote_failed
      Src: /src/mhd2/src/tests/unit/unit_str_quote.c:283,1
    - Dst: expect_result_quote_failed
      Src: /src/mhd2/src/tests/unit/unit_str_quote.c:284,1
    - Dst: expect_result_quote_failed
      Src: /src/mhd2/src/tests/unit/unit_str_quote.c:285,1
    - Dst: expect_result_quote_failed
      Src: /src/mhd2/src/tests/unit/unit_str_quote.c:286,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 28
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 289
      start: 256
    functionDepth: 1
    functionLinenumber: 256
    functionLinenumberEnd: 289
    functionName: check_quote_failed
    functionSourceFile: /src/mhd2/src/tests/unit/unit_str_quote.c
    functionUses: 0
    functionsReached:
    - expect_result_quote_failed
    linkageType: ''
    returnType: unsigned int
    signature: unsigned int check_quote_failed (void)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: mhd_assert
      Src: /src/mhd2/src/tests/unit/unit_str_quote.c:300,1
    - Dst: mhd_assert
      Src: /src/mhd2/src/tests/unit/unit_str_quote.c:301,1
    - Dst: mhd_assert
      Src: /src/mhd2/src/tests/unit/unit_str_quote.c:302,1
    - Dst: mhd_str_equal_caseless_quoted_bin_n
      Src: /src/mhd2/src/tests/unit/unit_str_quote.c:306,1
    - Dst: fprintf
      Src: /src/mhd2/src/tests/unit/unit_str_quote.c:311,1
    - Dst: fprintf
      Src: /src/mhd2/src/tests/unit/unit_str_quote.c:315,1
    - Dst: fprintf
      Src: /src/mhd2/src/tests/unit/unit_str_quote.c:324,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 12
    argCount: 5
    argNames:
    - quoted
    - quoted_len
    - unquoted
    - unquoted_len
    - line_num
    argTypes:
    - char*
    - size_t
    - char*
    - size_t
    - unsigned int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 330
      start: 293
    functionDepth: 1
    functionLinenumber: 293
    functionLinenumberEnd: 330
    functionName: expect_match_caseless_n
    functionSourceFile: /src/mhd2/src/tests/unit/unit_str_quote.c
    functionUses: 0
    functionsReached:
    - mhd_str_equal_caseless_quoted_bin_n
    - mhd_assert
    - fprintf
    linkageType: ''
    returnType: unsigned int
    signature: "unsigned int expect_match_caseless_n (const char *const quoted, const
      size_t quoted_len,\n                         const char *const unquoted, const
      size_t unquoted_len,\n                         const unsigned int line_num)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - q
    - ','
    - u
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 336
      start: 333
    functionDepth: 0
    functionLinenumber: 333
    functionLinenumberEnd: 336
    functionName: expect_match_caseless
    functionSourceFile: /src/mhd2/src/tests/unit/unit_str_quote.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: expect_match_caseless(q, u)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: expect_match_caseless
      Src: /src/mhd2/src/tests/unit/unit_str_quote.c:342,1
    - Dst: expect_match_caseless
      Src: /src/mhd2/src/tests/unit/unit_str_quote.c:343,1
    - Dst: expect_match_caseless
      Src: /src/mhd2/src/tests/unit/unit_str_quote.c:344,1
    - Dst: expect_match_caseless
      Src: /src/mhd2/src/tests/unit/unit_str_quote.c:345,1
    - Dst: expect_match_caseless
      Src: /src/mhd2/src/tests/unit/unit_str_quote.c:346,1
    - Dst: expect_match_caseless
      Src: /src/mhd2/src/tests/unit/unit_str_quote.c:347,1
    - Dst: expect_match_caseless
      Src: /src/mhd2/src/tests/unit/unit_str_quote.c:348,1
    - Dst: expect_match_caseless
      Src: /src/mhd2/src/tests/unit/unit_str_quote.c:349,1
    - Dst: expect_match_caseless
      Src: /src/mhd2/src/tests/unit/unit_str_quote.c:350,1
    - Dst: expect_match_caseless
      Src: /src/mhd2/src/tests/unit/unit_str_quote.c:351,1
    - Dst: expect_match_caseless
      Src: /src/mhd2/src/tests/unit/unit_str_quote.c:352,1
    - Dst: expect_match_caseless
      Src: /src/mhd2/src/tests/unit/unit_str_quote.c:353,1
    - Dst: expect_match_caseless
      Src: /src/mhd2/src/tests/unit/unit_str_quote.c:354,1
    - Dst: expect_match_caseless
      Src: /src/mhd2/src/tests/unit/unit_str_quote.c:355,1
    - Dst: expect_match_caseless
      Src: /src/mhd2/src/tests/unit/unit_str_quote.c:356,1
    - Dst: expect_match_caseless
      Src: /src/mhd2/src/tests/unit/unit_str_quote.c:357,1
    - Dst: expect_match_caseless
      Src: /src/mhd2/src/tests/unit/unit_str_quote.c:358,1
    - Dst: expect_match_caseless
      Src: /src/mhd2/src/tests/unit/unit_str_quote.c:359,1
    - Dst: expect_match_caseless
      Src: /src/mhd2/src/tests/unit/unit_str_quote.c:360,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 21
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 363
      start: 337
    functionDepth: 1
    functionLinenumber: 337
    functionLinenumberEnd: 363
    functionName: check_match_caseless
    functionSourceFile: /src/mhd2/src/tests/unit/unit_str_quote.c
    functionUses: 0
    functionsReached:
    - expect_match_caseless
    linkageType: ''
    returnType: unsigned int
    signature: unsigned int check_match_caseless (void)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: mhd_assert
      Src: /src/mhd2/src/tests/unit/unit_str_quote.c:375,1
    - Dst: mhd_assert
      Src: /src/mhd2/src/tests/unit/unit_str_quote.c:376,1
    - Dst: memset
      Src: /src/mhd2/src/tests/unit/unit_str_quote.c:380,1
    - Dst: mhd_str_unquote
      Src: /src/mhd2/src/tests/unit/unit_str_quote.c:381,1
    - Dst: fprintf
      Src: /src/mhd2/src/tests/unit/unit_str_quote.c:386,1
    - Dst: fprintf
      Src: /src/mhd2/src/tests/unit/unit_str_quote.c:392,1
    - Dst: fprintf
      Src: /src/mhd2/src/tests/unit/unit_str_quote.c:398,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 15
    argCount: 3
    argNames:
    - quoted
    - quoted_len
    - line_num
    argTypes:
    - char*
    - size_t
    - unsigned int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 403
      start: 367
    functionDepth: 1
    functionLinenumber: 367
    functionLinenumberEnd: 403
    functionName: expect_result_invalid_n
    functionSourceFile: /src/mhd2/src/tests/unit/unit_str_quote.c
    functionUses: 0
    functionsReached:
    - mhd_assert
    - mhd_str_unquote
    - fprintf
    - memset
    linkageType: ''
    returnType: unsigned int
    signature: "unsigned int expect_result_invalid_n (const char *const quoted, const
      size_t quoted_len,\n                         const unsigned int line_num)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - q
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 408
      start: 406
    functionDepth: 0
    functionLinenumber: 406
    functionLinenumberEnd: 408
    functionName: expect_result_invalid
    functionSourceFile: /src/mhd2/src/tests/unit/unit_str_quote.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: expect_result_invalid(q)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: expect_result_invalid
      Src: /src/mhd2/src/tests/unit/unit_str_quote.c:415,1
    - Dst: expect_result_invalid
      Src: /src/mhd2/src/tests/unit/unit_str_quote.c:416,1
    - Dst: expect_result_invalid
      Src: /src/mhd2/src/tests/unit/unit_str_quote.c:417,1
    - Dst: expect_result_invalid
      Src: /src/mhd2/src/tests/unit/unit_str_quote.c:418,1
    - Dst: expect_result_invalid
      Src: /src/mhd2/src/tests/unit/unit_str_quote.c:419,1
    - Dst: expect_result_invalid
      Src: /src/mhd2/src/tests/unit/unit_str_quote.c:420,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 423
      start: 410
    functionDepth: 1
    functionLinenumber: 410
    functionLinenumberEnd: 423
    functionName: check_invalid
    functionSourceFile: /src/mhd2/src/tests/unit/unit_str_quote.c
    functionUses: 0
    functionsReached:
    - expect_result_invalid
    linkageType: ''
    returnType: unsigned int
    signature: unsigned int check_invalid (void)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: mhd_assert
      Src: /src/mhd2/src/tests/unit/unit_str_quote.c:436,1
    - Dst: mhd_assert
      Src: /src/mhd2/src/tests/unit/unit_str_quote.c:437,1
    - Dst: mhd_str_equal_quoted_bin_n
      Src: /src/mhd2/src/tests/unit/unit_str_quote.c:441,1
    - Dst: fprintf
      Src: /src/mhd2/src/tests/unit/unit_str_quote.c:443,1
    - Dst: fprintf
      Src: /src/mhd2/src/tests/unit/unit_str_quote.c:446,1
    - Dst: fprintf
      Src: /src/mhd2/src/tests/unit/unit_str_quote.c:455,1
    - Dst: mhd_str_equal_caseless_quoted_bin_n
      Src: /src/mhd2/src/tests/unit/unit_str_quote.c:462,1
    - Dst: fprintf
      Src: /src/mhd2/src/tests/unit/unit_str_quote.c:465,1
    - Dst: fprintf
      Src: /src/mhd2/src/tests/unit/unit_str_quote.c:469,1
    - Dst: fprintf
      Src: /src/mhd2/src/tests/unit/unit_str_quote.c:478,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 18
    argCount: 5
    argNames:
    - quoted
    - quoted_len
    - unquoted
    - unquoted_len
    - line_num
    argTypes:
    - char*
    - size_t
    - char*
    - size_t
    - unsigned int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 484
      start: 427
    functionDepth: 1
    functionLinenumber: 427
    functionLinenumberEnd: 484
    functionName: expect_result_unmatch_n
    functionSourceFile: /src/mhd2/src/tests/unit/unit_str_quote.c
    functionUses: 0
    functionsReached:
    - mhd_str_equal_caseless_quoted_bin_n
    - mhd_assert
    - mhd_str_equal_quoted_bin_n
    - fprintf
    linkageType: ''
    returnType: unsigned int
    signature: "unsigned int expect_result_unmatch_n (const char *const quoted, const
      size_t quoted_len,\n                         const char *const unquoted,\n                         const
      size_t unquoted_len,\n                         const unsigned int line_num)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - q
    - ','
    - u
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 490
      start: 487
    functionDepth: 0
    functionLinenumber: 487
    functionLinenumberEnd: 490
    functionName: expect_result_unmatch
    functionSourceFile: /src/mhd2/src/tests/unit/unit_str_quote.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: expect_result_unmatch(q, u)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: expect_result_unmatch
      Src: /src/mhd2/src/tests/unit/unit_str_quote.c:498,1
    - Dst: expect_result_unmatch
      Src: /src/mhd2/src/tests/unit/unit_str_quote.c:499,1
    - Dst: expect_result_unmatch
      Src: /src/mhd2/src/tests/unit/unit_str_quote.c:500,1
    - Dst: expect_result_unmatch
      Src: /src/mhd2/src/tests/unit/unit_str_quote.c:501,1
    - Dst: expect_result_unmatch
      Src: /src/mhd2/src/tests/unit/unit_str_quote.c:502,1
    - Dst: expect_result_unmatch
      Src: /src/mhd2/src/tests/unit/unit_str_quote.c:503,1
    - Dst: expect_result_unmatch
      Src: /src/mhd2/src/tests/unit/unit_str_quote.c:504,1
    - Dst: expect_result_unmatch
      Src: /src/mhd2/src/tests/unit/unit_str_quote.c:505,1
    - Dst: expect_result_unmatch
      Src: /src/mhd2/src/tests/unit/unit_str_quote.c:506,1
    - Dst: expect_result_unmatch
      Src: /src/mhd2/src/tests/unit/unit_str_quote.c:507,1
    - Dst: expect_result_unmatch
      Src: /src/mhd2/src/tests/unit/unit_str_quote.c:508,1
    - Dst: expect_result_unmatch
      Src: /src/mhd2/src/tests/unit/unit_str_quote.c:509,1
    - Dst: expect_result_unmatch
      Src: /src/mhd2/src/tests/unit/unit_str_quote.c:510,1
    - Dst: expect_result_unmatch
      Src: /src/mhd2/src/tests/unit/unit_str_quote.c:512,1
    - Dst: expect_result_unmatch
      Src: /src/mhd2/src/tests/unit/unit_str_quote.c:513,1
    - Dst: expect_result_unmatch
      Src: /src/mhd2/src/tests/unit/unit_str_quote.c:514,1
    - Dst: expect_result_unmatch
      Src: /src/mhd2/src/tests/unit/unit_str_quote.c:515,1
    - Dst: expect_result_unmatch
      Src: /src/mhd2/src/tests/unit/unit_str_quote.c:516,1
    - Dst: expect_result_unmatch
      Src: /src/mhd2/src/tests/unit/unit_str_quote.c:517,1
    - Dst: expect_result_unmatch
      Src: /src/mhd2/src/tests/unit/unit_str_quote.c:518,1
    - Dst: expect_result_unmatch
      Src: /src/mhd2/src/tests/unit/unit_str_quote.c:519,1
    - Dst: expect_result_unmatch
      Src: /src/mhd2/src/tests/unit/unit_str_quote.c:520,1
    - Dst: expect_result_unmatch
      Src: /src/mhd2/src/tests/unit/unit_str_quote.c:521,1
    - Dst: expect_result_unmatch
      Src: /src/mhd2/src/tests/unit/unit_str_quote.c:522,1
    - Dst: expect_result_unmatch
      Src: /src/mhd2/src/tests/unit/unit_str_quote.c:523,1
    - Dst: expect_result_unmatch
      Src: /src/mhd2/src/tests/unit/unit_str_quote.c:524,1
    - Dst: expect_result_unmatch
      Src: /src/mhd2/src/tests/unit/unit_str_quote.c:526,1
    - Dst: expect_result_unmatch
      Src: /src/mhd2/src/tests/unit/unit_str_quote.c:527,1
    - Dst: expect_result_unmatch
      Src: /src/mhd2/src/tests/unit/unit_str_quote.c:528,1
    - Dst: expect_result_unmatch
      Src: /src/mhd2/src/tests/unit/unit_str_quote.c:529,1
    - Dst: expect_result_unmatch
      Src: /src/mhd2/src/tests/unit/unit_str_quote.c:530,1
    - Dst: expect_result_unmatch
      Src: /src/mhd2/src/tests/unit/unit_str_quote.c:531,1
    - Dst: expect_result_unmatch
      Src: /src/mhd2/src/tests/unit/unit_str_quote.c:532,1
    - Dst: expect_result_unmatch
      Src: /src/mhd2/src/tests/unit/unit_str_quote.c:533,1
    - Dst: expect_result_unmatch
      Src: /src/mhd2/src/tests/unit/unit_str_quote.c:534,1
    - Dst: expect_result_unmatch
      Src: /src/mhd2/src/tests/unit/unit_str_quote.c:535,1
    - Dst: expect_result_unmatch
      Src: /src/mhd2/src/tests/unit/unit_str_quote.c:536,1
    - Dst: expect_result_unmatch
      Src: /src/mhd2/src/tests/unit/unit_str_quote.c:537,1
    - Dst: expect_result_unmatch
      Src: /src/mhd2/src/tests/unit/unit_str_quote.c:538,1
    - Dst: expect_result_unmatch
      Src: /src/mhd2/src/tests/unit/unit_str_quote.c:539,1
    - Dst: expect_result_unmatch
      Src: /src/mhd2/src/tests/unit/unit_str_quote.c:540,1
    - Dst: expect_result_unmatch
      Src: /src/mhd2/src/tests/unit/unit_str_quote.c:541,1
    - Dst: expect_result_unmatch
      Src: /src/mhd2/src/tests/unit/unit_str_quote.c:542,1
    - Dst: expect_result_unmatch
      Src: /src/mhd2/src/tests/unit/unit_str_quote.c:543,1
    - Dst: expect_result_unmatch
      Src: /src/mhd2/src/tests/unit/unit_str_quote.c:544,1
    - Dst: expect_result_unmatch
      Src: /src/mhd2/src/tests/unit/unit_str_quote.c:545,1
    - Dst: expect_result_unmatch
      Src: /src/mhd2/src/tests/unit/unit_str_quote.c:546,1
    - Dst: expect_result_unmatch
      Src: /src/mhd2/src/tests/unit/unit_str_quote.c:547,1
    - Dst: expect_result_unmatch
      Src: /src/mhd2/src/tests/unit/unit_str_quote.c:548,1
    - Dst: expect_result_unmatch
      Src: /src/mhd2/src/tests/unit/unit_str_quote.c:549,1
    - Dst: expect_result_unmatch
      Src: /src/mhd2/src/tests/unit/unit_str_quote.c:551,1
    - Dst: expect_result_unmatch
      Src: /src/mhd2/src/tests/unit/unit_str_quote.c:552,1
    - Dst: expect_result_unmatch
      Src: /src/mhd2/src/tests/unit/unit_str_quote.c:553,1
    - Dst: expect_result_unmatch
      Src: /src/mhd2/src/tests/unit/unit_str_quote.c:554,1
    - Dst: expect_result_unmatch
      Src: /src/mhd2/src/tests/unit/unit_str_quote.c:555,1
    - Dst: expect_result_unmatch
      Src: /src/mhd2/src/tests/unit/unit_str_quote.c:556,1
    - Dst: expect_result_unmatch
      Src: /src/mhd2/src/tests/unit/unit_str_quote.c:557,1
    - Dst: expect_result_unmatch
      Src: /src/mhd2/src/tests/unit/unit_str_quote.c:558,1
    - Dst: expect_result_unmatch
      Src: /src/mhd2/src/tests/unit/unit_str_quote.c:559,1
    - Dst: expect_result_unmatch
      Src: /src/mhd2/src/tests/unit/unit_str_quote.c:560,1
    - Dst: expect_result_unmatch
      Src: /src/mhd2/src/tests/unit/unit_str_quote.c:561,1
    - Dst: expect_result_unmatch
      Src: /src/mhd2/src/tests/unit/unit_str_quote.c:562,1
    - Dst: expect_result_unmatch
      Src: /src/mhd2/src/tests/unit/unit_str_quote.c:564,1
    - Dst: expect_result_unmatch
      Src: /src/mhd2/src/tests/unit/unit_str_quote.c:565,1
    - Dst: expect_result_unmatch
      Src: /src/mhd2/src/tests/unit/unit_str_quote.c:566,1
    - Dst: expect_result_unmatch
      Src: /src/mhd2/src/tests/unit/unit_str_quote.c:567,1
    - Dst: expect_result_unmatch
      Src: /src/mhd2/src/tests/unit/unit_str_quote.c:568,1
    - Dst: expect_result_unmatch
      Src: /src/mhd2/src/tests/unit/unit_str_quote.c:569,1
    - Dst: expect_result_unmatch
      Src: /src/mhd2/src/tests/unit/unit_str_quote.c:570,1
    - Dst: expect_result_unmatch
      Src: /src/mhd2/src/tests/unit/unit_str_quote.c:571,1
    - Dst: expect_result_unmatch
      Src: /src/mhd2/src/tests/unit/unit_str_quote.c:572,1
    - Dst: expect_result_unmatch
      Src: /src/mhd2/src/tests/unit/unit_str_quote.c:573,1
    - Dst: expect_result_unmatch
      Src: /src/mhd2/src/tests/unit/unit_str_quote.c:574,1
    - Dst: expect_result_unmatch
      Src: /src/mhd2/src/tests/unit/unit_str_quote.c:575,1
    - Dst: expect_result_unmatch
      Src: /src/mhd2/src/tests/unit/unit_str_quote.c:576,1
    - Dst: expect_result_unmatch
      Src: /src/mhd2/src/tests/unit/unit_str_quote.c:577,1
    - Dst: expect_result_unmatch
      Src: /src/mhd2/src/tests/unit/unit_str_quote.c:578,1
    - Dst: expect_result_unmatch
      Src: /src/mhd2/src/tests/unit/unit_str_quote.c:579,1
    - Dst: expect_result_unmatch
      Src: /src/mhd2/src/tests/unit/unit_str_quote.c:580,1
    - Dst: expect_result_unmatch
      Src: /src/mhd2/src/tests/unit/unit_str_quote.c:581,1
    - Dst: expect_result_unmatch
      Src: /src/mhd2/src/tests/unit/unit_str_quote.c:582,1
    - Dst: expect_result_unmatch
      Src: /src/mhd2/src/tests/unit/unit_str_quote.c:583,1
    - Dst: expect_result_unmatch
      Src: /src/mhd2/src/tests/unit/unit_str_quote.c:584,1
    - Dst: expect_result_unmatch
      Src: /src/mhd2/src/tests/unit/unit_str_quote.c:585,1
    - Dst: expect_result_unmatch
      Src: /src/mhd2/src/tests/unit/unit_str_quote.c:587,1
    - Dst: expect_result_unmatch
      Src: /src/mhd2/src/tests/unit/unit_str_quote.c:588,1
    - Dst: expect_result_unmatch
      Src: /src/mhd2/src/tests/unit/unit_str_quote.c:589,1
    - Dst: expect_result_unmatch
      Src: /src/mhd2/src/tests/unit/unit_str_quote.c:590,1
    - Dst: expect_result_unmatch
      Src: /src/mhd2/src/tests/unit/unit_str_quote.c:591,1
    - Dst: expect_result_unmatch
      Src: /src/mhd2/src/tests/unit/unit_str_quote.c:592,1
    - Dst: expect_result_unmatch
      Src: /src/mhd2/src/tests/unit/unit_str_quote.c:593,1
    - Dst: expect_result_unmatch
      Src: /src/mhd2/src/tests/unit/unit_str_quote.c:594,1
    - Dst: expect_result_unmatch
      Src: /src/mhd2/src/tests/unit/unit_str_quote.c:595,1
    - Dst: expect_result_unmatch
      Src: /src/mhd2/src/tests/unit/unit_str_quote.c:596,1
    - Dst: expect_result_unmatch
      Src: /src/mhd2/src/tests/unit/unit_str_quote.c:597,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 97
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 600
      start: 492
    functionDepth: 1
    functionLinenumber: 492
    functionLinenumberEnd: 600
    functionName: check_unmatch
    functionSourceFile: /src/mhd2/src/tests/unit/unit_str_quote.c
    functionUses: 0
    functionsReached:
    - expect_result_unmatch
    linkageType: ''
    returnType: unsigned int
    signature: unsigned int check_unmatch (void)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: mhd_assert
      Src: /src/mhd2/src/tests/unit/unit_str_quote.c:613,1
    - Dst: mhd_assert
      Src: /src/mhd2/src/tests/unit/unit_str_quote.c:614,1
    - Dst: mhd_str_equal_quoted_bin_n
      Src: /src/mhd2/src/tests/unit/unit_str_quote.c:618,1
    - Dst: fprintf
      Src: /src/mhd2/src/tests/unit/unit_str_quote.c:620,1
    - Dst: fprintf
      Src: /src/mhd2/src/tests/unit/unit_str_quote.c:623,1
    - Dst: fprintf
      Src: /src/mhd2/src/tests/unit/unit_str_quote.c:632,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 11
    argCount: 5
    argNames:
    - quoted
    - quoted_len
    - unquoted
    - unquoted_len
    - line_num
    argTypes:
    - char*
    - size_t
    - char*
    - size_t
    - unsigned int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 638
      start: 604
    functionDepth: 1
    functionLinenumber: 604
    functionLinenumberEnd: 638
    functionName: expect_result_case_unmatch_n
    functionSourceFile: /src/mhd2/src/tests/unit/unit_str_quote.c
    functionUses: 0
    functionsReached:
    - mhd_assert
    - mhd_str_equal_quoted_bin_n
    - fprintf
    linkageType: ''
    returnType: unsigned int
    signature: "unsigned int expect_result_case_unmatch_n (const char *const quoted,\n
      \                             const size_t quoted_len,\n                              const
      char *const unquoted,\n                              const size_t unquoted_len,\n
      \                             const unsigned int line_num)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - q
    - ','
    - u
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 644
      start: 641
    functionDepth: 0
    functionLinenumber: 641
    functionLinenumberEnd: 644
    functionName: expect_result_case_unmatch
    functionSourceFile: /src/mhd2/src/tests/unit/unit_str_quote.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: expect_result_case_unmatch(q, u)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: expect_result_case_unmatch
      Src: /src/mhd2/src/tests/unit/unit_str_quote.c:650,1
    - Dst: expect_result_case_unmatch
      Src: /src/mhd2/src/tests/unit/unit_str_quote.c:651,1
    - Dst: expect_result_case_unmatch
      Src: /src/mhd2/src/tests/unit/unit_str_quote.c:652,1
    - Dst: expect_result_case_unmatch
      Src: /src/mhd2/src/tests/unit/unit_str_quote.c:653,1
    - Dst: expect_result_case_unmatch
      Src: /src/mhd2/src/tests/unit/unit_str_quote.c:654,1
    - Dst: expect_result_case_unmatch
      Src: /src/mhd2/src/tests/unit/unit_str_quote.c:655,1
    - Dst: expect_result_case_unmatch
      Src: /src/mhd2/src/tests/unit/unit_str_quote.c:656,1
    - Dst: expect_result_case_unmatch
      Src: /src/mhd2/src/tests/unit/unit_str_quote.c:657,1
    - Dst: expect_result_case_unmatch
      Src: /src/mhd2/src/tests/unit/unit_str_quote.c:658,1
    - Dst: expect_result_case_unmatch
      Src: /src/mhd2/src/tests/unit/unit_str_quote.c:659,1
    - Dst: expect_result_case_unmatch
      Src: /src/mhd2/src/tests/unit/unit_str_quote.c:660,1
    - Dst: expect_result_case_unmatch
      Src: /src/mhd2/src/tests/unit/unit_str_quote.c:661,1
    - Dst: expect_result_case_unmatch
      Src: /src/mhd2/src/tests/unit/unit_str_quote.c:662,1
    - Dst: expect_result_case_unmatch
      Src: /src/mhd2/src/tests/unit/unit_str_quote.c:663,1
    - Dst: expect_result_case_unmatch
      Src: /src/mhd2/src/tests/unit/unit_str_quote.c:664,1
    - Dst: expect_result_case_unmatch
      Src: /src/mhd2/src/tests/unit/unit_str_quote.c:665,1
    - Dst: expect_result_case_unmatch
      Src: /src/mhd2/src/tests/unit/unit_str_quote.c:666,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 19
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 669
      start: 645
    functionDepth: 1
    functionLinenumber: 645
    functionLinenumberEnd: 669
    functionName: check_unmatch_case
    functionSourceFile: /src/mhd2/src/tests/unit/unit_str_quote.c
    functionUses: 0
    functionsReached:
    - expect_result_case_unmatch
    linkageType: ''
    returnType: unsigned int
    signature: unsigned int check_unmatch_case (void)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: mhd_assert
      Src: /src/mhd2/src/tests/unit/unit_str_quote.c:683,1
    - Dst: mhd_assert
      Src: /src/mhd2/src/tests/unit/unit_str_quote.c:684,1
    - Dst: mhd_str_equal_quoted_bin_n
      Src: /src/mhd2/src/tests/unit/unit_str_quote.c:688,1
    - Dst: fprintf
      Src: /src/mhd2/src/tests/unit/unit_str_quote.c:690,1
    - Dst: fprintf
      Src: /src/mhd2/src/tests/unit/unit_str_quote.c:693,1
    - Dst: fprintf
      Src: /src/mhd2/src/tests/unit/unit_str_quote.c:702,1
    - Dst: mhd_str_equal_caseless_quoted_bin_n
      Src: /src/mhd2/src/tests/unit/unit_str_quote.c:709,1
    - Dst: fprintf
      Src: /src/mhd2/src/tests/unit/unit_str_quote.c:714,1
    - Dst: fprintf
      Src: /src/mhd2/src/tests/unit/unit_str_quote.c:718,1
    - Dst: fprintf
      Src: /src/mhd2/src/tests/unit/unit_str_quote.c:727,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 18
    argCount: 5
    argNames:
    - quoted
    - quoted_len
    - unquoted
    - unquoted_len
    - line_num
    argTypes:
    - char*
    - size_t
    - char*
    - size_t
    - unsigned int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 733
      start: 673
    functionDepth: 1
    functionLinenumber: 673
    functionLinenumberEnd: 733
    functionName: expect_result_caseless_unmatch_n
    functionSourceFile: /src/mhd2/src/tests/unit/unit_str_quote.c
    functionUses: 0
    functionsReached:
    - mhd_str_equal_caseless_quoted_bin_n
    - mhd_assert
    - mhd_str_equal_quoted_bin_n
    - fprintf
    linkageType: ''
    returnType: unsigned int
    signature: "unsigned int expect_result_caseless_unmatch_n (const char *const quoted,\n
      \                                 const size_t quoted_len,\n                                  const
      char *const unquoted,\n                                  const size_t unquoted_len,\n
      \                                 const unsigned int line_num)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - q
    - ','
    - u
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 739
      start: 736
    functionDepth: 0
    functionLinenumber: 736
    functionLinenumberEnd: 739
    functionName: expect_result_caseless_unmatch
    functionSourceFile: /src/mhd2/src/tests/unit/unit_str_quote.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: expect_result_caseless_unmatch(q, u)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: expect_result_caseless_unmatch
      Src: /src/mhd2/src/tests/unit/unit_str_quote.c:747,1
    - Dst: expect_result_caseless_unmatch
      Src: /src/mhd2/src/tests/unit/unit_str_quote.c:748,1
    - Dst: expect_result_caseless_unmatch
      Src: /src/mhd2/src/tests/unit/unit_str_quote.c:749,1
    - Dst: expect_result_caseless_unmatch
      Src: /src/mhd2/src/tests/unit/unit_str_quote.c:750,1
    - Dst: expect_result_caseless_unmatch
      Src: /src/mhd2/src/tests/unit/unit_str_quote.c:751,1
    - Dst: expect_result_caseless_unmatch
      Src: /src/mhd2/src/tests/unit/unit_str_quote.c:752,1
    - Dst: expect_result_caseless_unmatch
      Src: /src/mhd2/src/tests/unit/unit_str_quote.c:753,1
    - Dst: expect_result_caseless_unmatch
      Src: /src/mhd2/src/tests/unit/unit_str_quote.c:754,1
    - Dst: expect_result_caseless_unmatch
      Src: /src/mhd2/src/tests/unit/unit_str_quote.c:755,1
    - Dst: expect_result_caseless_unmatch
      Src: /src/mhd2/src/tests/unit/unit_str_quote.c:757,1
    - Dst: expect_result_caseless_unmatch
      Src: /src/mhd2/src/tests/unit/unit_str_quote.c:758,1
    - Dst: expect_result_caseless_unmatch
      Src: /src/mhd2/src/tests/unit/unit_str_quote.c:759,1
    - Dst: expect_result_caseless_unmatch
      Src: /src/mhd2/src/tests/unit/unit_str_quote.c:760,1
    - Dst: expect_result_caseless_unmatch
      Src: /src/mhd2/src/tests/unit/unit_str_quote.c:761,1
    - Dst: expect_result_caseless_unmatch
      Src: /src/mhd2/src/tests/unit/unit_str_quote.c:762,1
    - Dst: expect_result_caseless_unmatch
      Src: /src/mhd2/src/tests/unit/unit_str_quote.c:763,1
    - Dst: expect_result_caseless_unmatch
      Src: /src/mhd2/src/tests/unit/unit_str_quote.c:764,1
    - Dst: expect_result_caseless_unmatch
      Src: /src/mhd2/src/tests/unit/unit_str_quote.c:765,1
    - Dst: expect_result_caseless_unmatch
      Src: /src/mhd2/src/tests/unit/unit_str_quote.c:766,1
    - Dst: expect_result_caseless_unmatch
      Src: /src/mhd2/src/tests/unit/unit_str_quote.c:767,1
    - Dst: expect_result_caseless_unmatch
      Src: /src/mhd2/src/tests/unit/unit_str_quote.c:768,1
    - Dst: expect_result_caseless_unmatch
      Src: /src/mhd2/src/tests/unit/unit_str_quote.c:769,1
    - Dst: expect_result_caseless_unmatch
      Src: /src/mhd2/src/tests/unit/unit_str_quote.c:770,1
    - Dst: expect_result_caseless_unmatch
      Src: /src/mhd2/src/tests/unit/unit_str_quote.c:771,1
    - Dst: expect_result_caseless_unmatch
      Src: /src/mhd2/src/tests/unit/unit_str_quote.c:772,1
    - Dst: expect_result_caseless_unmatch
      Src: /src/mhd2/src/tests/unit/unit_str_quote.c:773,1
    - Dst: expect_result_caseless_unmatch
      Src: /src/mhd2/src/tests/unit/unit_str_quote.c:774,1
    - Dst: expect_result_caseless_unmatch
      Src: /src/mhd2/src/tests/unit/unit_str_quote.c:775,1
    - Dst: expect_result_caseless_unmatch
      Src: /src/mhd2/src/tests/unit/unit_str_quote.c:776,1
    - Dst: expect_result_caseless_unmatch
      Src: /src/mhd2/src/tests/unit/unit_str_quote.c:778,1
    - Dst: expect_result_caseless_unmatch
      Src: /src/mhd2/src/tests/unit/unit_str_quote.c:779,1
    - Dst: expect_result_caseless_unmatch
      Src: /src/mhd2/src/tests/unit/unit_str_quote.c:780,1
    - Dst: expect_result_caseless_unmatch
      Src: /src/mhd2/src/tests/unit/unit_str_quote.c:781,1
    - Dst: expect_result_caseless_unmatch
      Src: /src/mhd2/src/tests/unit/unit_str_quote.c:782,1
    - Dst: expect_result_caseless_unmatch
      Src: /src/mhd2/src/tests/unit/unit_str_quote.c:783,1
    - Dst: expect_result_caseless_unmatch
      Src: /src/mhd2/src/tests/unit/unit_str_quote.c:784,1
    - Dst: expect_result_caseless_unmatch
      Src: /src/mhd2/src/tests/unit/unit_str_quote.c:785,1
    - Dst: expect_result_caseless_unmatch
      Src: /src/mhd2/src/tests/unit/unit_str_quote.c:786,1
    - Dst: expect_result_caseless_unmatch
      Src: /src/mhd2/src/tests/unit/unit_str_quote.c:787,1
    - Dst: expect_result_caseless_unmatch
      Src: /src/mhd2/src/tests/unit/unit_str_quote.c:788,1
    - Dst: expect_result_caseless_unmatch
      Src: /src/mhd2/src/tests/unit/unit_str_quote.c:789,1
    - Dst: expect_result_caseless_unmatch
      Src: /src/mhd2/src/tests/unit/unit_str_quote.c:790,1
    - Dst: expect_result_caseless_unmatch
      Src: /src/mhd2/src/tests/unit/unit_str_quote.c:791,1
    - Dst: expect_result_caseless_unmatch
      Src: /src/mhd2/src/tests/unit/unit_str_quote.c:792,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 46
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 795
      start: 741
    functionDepth: 1
    functionLinenumber: 741
    functionLinenumberEnd: 795
    functionName: check_unmatch_caseless
    functionSourceFile: /src/mhd2/src/tests/unit/unit_str_quote.c
    functionUses: 0
    functionsReached:
    - expect_result_caseless_unmatch
    linkageType: ''
    returnType: unsigned int
    signature: unsigned int check_unmatch_caseless (void)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: check_match
      Src: /src/mhd2/src/tests/unit/unit_str_quote.c:804,1
    - Dst: check_quote_failed
      Src: /src/mhd2/src/tests/unit/unit_str_quote.c:805,1
    - Dst: check_match_caseless
      Src: /src/mhd2/src/tests/unit/unit_str_quote.c:806,1
    - Dst: check_invalid
      Src: /src/mhd2/src/tests/unit/unit_str_quote.c:807,1
    - Dst: check_unmatch
      Src: /src/mhd2/src/tests/unit/unit_str_quote.c:808,1
    - Dst: check_unmatch_case
      Src: /src/mhd2/src/tests/unit/unit_str_quote.c:809,1
    - Dst: check_unmatch_caseless
      Src: /src/mhd2/src/tests/unit/unit_str_quote.c:810,1
    - Dst: printf
      Src: /src/mhd2/src/tests/unit/unit_str_quote.c:812,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 13
    argCount: 2
    argNames:
    - argc
    - argv
    argTypes:
    - int
    - char*[]
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 814
      start: 798
    functionDepth: 2
    functionLinenumber: 798
    functionLinenumberEnd: 814
    functionName: main
    functionSourceFile: /src/mhd2/src/tests/unit/unit_str_quote.c
    functionUses: 0
    functionsReached:
    - check_unmatch_case
    - check_invalid
    - check_match_caseless
    - printf
    - check_quote_failed
    - check_match
    - check_unmatch
    - check_unmatch_caseless
    linkageType: ''
    returnType: int
    signature: int main (int argc, char *argv[])
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - macro
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 39
      start: 38
    functionDepth: 0
    functionLinenumber: 38
    functionLinenumberEnd: 39
    functionName: MHD_STATICSTR_LEN_
    functionSourceFile: /src/mhd2/src/tests/unit/unit_str_bin_hex.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: MHD_STATICSTR_LEN_(macro)
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: snprintf
      Src: /src/mhd2/src/tests/unit/unit_str_bin_hex.c:73,1
    CyclomaticComplexity: 15
    EdgeCount: 15
    ICount: 30
    argCount: 2
    argNames:
    - str
    - len
    argTypes:
    - char*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 92
      start: 46
    functionDepth: 0
    functionLinenumber: 46
    functionLinenumberEnd: 92
    functionName: n_prnt
    functionSourceFile: /src/mhd2/src/tests/unit/unit_str_bin_hex.c
    functionUses: 28
    functionsReached:
    - snprintf
    linkageType: ''
    returnType: char
    signature: 'char *

      n_prnt (const char *str, size_t len)'
  - BBCount: 13
    BranchProfiles: []
    Callsites:
    - Dst: mhd_assert
      Src: /src/mhd2/src/tests/unit/unit_str_bin_hex.c:108,1
    - Dst: mhd_assert
      Src: /src/mhd2/src/tests/unit/unit_str_bin_hex.c:109,1
    - Dst: mhd_assert
      Src: /src/mhd2/src/tests/unit/unit_str_bin_hex.c:110,1
    - Dst: mhd_assert
      Src: /src/mhd2/src/tests/unit/unit_str_bin_hex.c:111,1
    - Dst: mhd_assert
      Src: /src/mhd2/src/tests/unit/unit_str_bin_hex.c:112,1
    - Dst: mhd_assert
      Src: /src/mhd2/src/tests/unit/unit_str_bin_hex.c:113,1
    - Dst: memset
      Src: /src/mhd2/src/tests/unit/unit_str_bin_hex.c:122,1
    - Dst: mhd_hex_to_bin
      Src: /src/mhd2/src/tests/unit/unit_str_bin_hex.c:123,1
    - Dst: fprintf
      Src: /src/mhd2/src/tests/unit/unit_str_bin_hex.c:127,1
    - Dst: memcmp
      Src: /src/mhd2/src/tests/unit/unit_str_bin_hex.c:134,1
    - Dst: fprintf
      Src: /src/mhd2/src/tests/unit/unit_str_bin_hex.c:137,1
    - Dst: fprintf
      Src: /src/mhd2/src/tests/unit/unit_str_bin_hex.c:146,1
    - Dst: fprintf
      Src: /src/mhd2/src/tests/unit/unit_str_bin_hex.c:153,1
    - Dst: n_prnt
      Src: /src/mhd2/src/tests/unit/unit_str_bin_hex.c:156,1
    - Dst: n_prnt
      Src: /src/mhd2/src/tests/unit/unit_str_bin_hex.c:157,1
    - Dst: fprintf
      Src: /src/mhd2/src/tests/unit/unit_str_bin_hex.c:159,1
    - Dst: n_prnt
      Src: /src/mhd2/src/tests/unit/unit_str_bin_hex.c:162,1
    - Dst: n_prnt
      Src: /src/mhd2/src/tests/unit/unit_str_bin_hex.c:163,1
    - Dst: memset
      Src: /src/mhd2/src/tests/unit/unit_str_bin_hex.c:173,1
    - Dst: mhd_bin_to_hex_z
      Src: /src/mhd2/src/tests/unit/unit_str_bin_hex.c:174,1
    - Dst: fprintf
      Src: /src/mhd2/src/tests/unit/unit_str_bin_hex.c:179,1
    - Dst: mhd_str_equal_caseless_bin_n
      Src: /src/mhd2/src/tests/unit/unit_str_bin_hex.c:186,1
    - Dst: fprintf
      Src: /src/mhd2/src/tests/unit/unit_str_bin_hex.c:189,1
    - Dst: fprintf
      Src: /src/mhd2/src/tests/unit/unit_str_bin_hex.c:197,1
    - Dst: fprintf
      Src: /src/mhd2/src/tests/unit/unit_str_bin_hex.c:204,1
    - Dst: fprintf
      Src: /src/mhd2/src/tests/unit/unit_str_bin_hex.c:211,1
    - Dst: n_prnt
      Src: /src/mhd2/src/tests/unit/unit_str_bin_hex.c:214,1
    - Dst: n_prnt
      Src: /src/mhd2/src/tests/unit/unit_str_bin_hex.c:215,1
    - Dst: fprintf
      Src: /src/mhd2/src/tests/unit/unit_str_bin_hex.c:217,1
    - Dst: n_prnt
      Src: /src/mhd2/src/tests/unit/unit_str_bin_hex.c:220,1
    - Dst: n_prnt
      Src: /src/mhd2/src/tests/unit/unit_str_bin_hex.c:221,1
    - Dst: fprintf
      Src: /src/mhd2/src/tests/unit/unit_str_bin_hex.c:228,1
    CyclomaticComplexity: 18
    EdgeCount: 18
    ICount: 60
    argCount: 5
    argNames:
    - hex
    - hex_len
    - bin
    - bin_size
    - line_num
    argTypes:
    - char*
    - size_t
    - uint8_t*
    - size_t
    - unsigned int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 232
      start: 98
    functionDepth: 1
    functionLinenumber: 98
    functionLinenumberEnd: 232
    functionName: expect_decoded_n
    functionSourceFile: /src/mhd2/src/tests/unit/unit_str_bin_hex.c
    functionUses: 0
    functionsReached:
    - fprintf
    - mhd_str_equal_caseless_bin_n
    - memset
    - mhd_hex_to_bin
    - n_prnt
    - mhd_bin_to_hex_z
    - mhd_assert
    - memcmp
    linkageType: ''
    returnType: unsigned int
    signature: "unsigned int expect_decoded_n (const char *const hex, const size_t
      hex_len,\n                  const uint8_t *const bin, const size_t bin_size,\n
      \                 const unsigned int line_num)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - h
    - ','
    - a
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 239
      start: 235
    functionDepth: 0
    functionLinenumber: 235
    functionLinenumberEnd: 239
    functionName: expect_decoded_arr
    functionSourceFile: /src/mhd2/src/tests/unit/unit_str_bin_hex.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: expect_decoded_arr(h, a)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: expect_decoded_arr
      Src: /src/mhd2/src/tests/unit/unit_str_bin_hex.c:271,1
    - Dst: expect_decoded_arr
      Src: /src/mhd2/src/tests/unit/unit_str_bin_hex.c:317,1
    - Dst: expect_decoded_arr
      Src: /src/mhd2/src/tests/unit/unit_str_bin_hex.c:340,1
    - Dst: expect_decoded_arr
      Src: /src/mhd2/src/tests/unit/unit_str_bin_hex.c:346,1
    - Dst: expect_decoded_arr
      Src: /src/mhd2/src/tests/unit/unit_str_bin_hex.c:352,1
    - Dst: expect_decoded_arr
      Src: /src/mhd2/src/tests/unit/unit_str_bin_hex.c:358,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 20
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 362
      start: 240
    functionDepth: 0
    functionLinenumber: 240
    functionLinenumberEnd: 362
    functionName: check_decode_bin
    functionSourceFile: /src/mhd2/src/tests/unit/unit_str_bin_hex.c
    functionUses: 1
    functionsReached:
    - expect_decoded_arr
    linkageType: ''
    returnType: unsigned int
    signature: unsigned int check_decode_bin (void)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: mhd_assert
      Src: /src/mhd2/src/tests/unit/unit_str_bin_hex.c:375,1
    - Dst: mhd_assert
      Src: /src/mhd2/src/tests/unit/unit_str_bin_hex.c:376,1
    - Dst: memset
      Src: /src/mhd2/src/tests/unit/unit_str_bin_hex.c:385,1
    - Dst: mhd_hex_to_bin
      Src: /src/mhd2/src/tests/unit/unit_str_bin_hex.c:386,1
    - Dst: fprintf
      Src: /src/mhd2/src/tests/unit/unit_str_bin_hex.c:390,1
    - Dst: fprintf
      Src: /src/mhd2/src/tests/unit/unit_str_bin_hex.c:397,1
    - Dst: n_prnt
      Src: /src/mhd2/src/tests/unit/unit_str_bin_hex.c:400,1
    - Dst: n_prnt
      Src: /src/mhd2/src/tests/unit/unit_str_bin_hex.c:401,1
    - Dst: fprintf
      Src: /src/mhd2/src/tests/unit/unit_str_bin_hex.c:403,1
    - Dst: n_prnt
      Src: /src/mhd2/src/tests/unit/unit_str_bin_hex.c:406,1
    - Dst: fprintf
      Src: /src/mhd2/src/tests/unit/unit_str_bin_hex.c:412,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 21
    argCount: 3
    argNames:
    - hex
    - hex_len
    - line_num
    argTypes:
    - char*
    - size_t
    - unsigned int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 416
      start: 366
    functionDepth: 1
    functionLinenumber: 366
    functionLinenumberEnd: 416
    functionName: expect_failed_n
    functionSourceFile: /src/mhd2/src/tests/unit/unit_str_bin_hex.c
    functionUses: 0
    functionsReached:
    - fprintf
    - memset
    - n_prnt
    - mhd_assert
    - mhd_hex_to_bin
    linkageType: ''
    returnType: unsigned int
    signature: "unsigned int expect_failed_n (const char *const hex, const size_t
      hex_len,\n                 const unsigned int line_num)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - h
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 422
      start: 419
    functionDepth: 0
    functionLinenumber: 419
    functionLinenumberEnd: 422
    functionName: expect_failed
    functionSourceFile: /src/mhd2/src/tests/unit/unit_str_bin_hex.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: expect_failed(h)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: expect_failed
      Src: /src/mhd2/src/tests/unit/unit_str_bin_hex.c:429,1
    - Dst: expect_failed
      Src: /src/mhd2/src/tests/unit/unit_str_bin_hex.c:430,1
    - Dst: expect_failed
      Src: /src/mhd2/src/tests/unit/unit_str_bin_hex.c:431,1
    - Dst: expect_failed
      Src: /src/mhd2/src/tests/unit/unit_str_bin_hex.c:432,1
    - Dst: expect_failed
      Src: /src/mhd2/src/tests/unit/unit_str_bin_hex.c:433,1
    - Dst: expect_failed
      Src: /src/mhd2/src/tests/unit/unit_str_bin_hex.c:434,1
    - Dst: expect_failed
      Src: /src/mhd2/src/tests/unit/unit_str_bin_hex.c:435,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 9
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 438
      start: 424
    functionDepth: 1
    functionLinenumber: 424
    functionLinenumberEnd: 438
    functionName: check_broken_str
    functionSourceFile: /src/mhd2/src/tests/unit/unit_str_bin_hex.c
    functionUses: 0
    functionsReached:
    - expect_failed
    linkageType: ''
    returnType: unsigned int
    signature: unsigned int check_broken_str (void)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: check_decode_bin
      Src: /src/mhd2/src/tests/unit/unit_str_bin_hex.c:447,1
    - Dst: check_broken_str
      Src: /src/mhd2/src/tests/unit/unit_str_bin_hex.c:448,1
    - Dst: printf
      Src: /src/mhd2/src/tests/unit/unit_str_bin_hex.c:450,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 2
    argNames:
    - argc
    - argv
    argTypes:
    - int
    - char*[]
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 452
      start: 441
    functionDepth: 2
    functionLinenumber: 441
    functionLinenumberEnd: 452
    functionName: main
    functionSourceFile: /src/mhd2/src/tests/unit/unit_str_bin_hex.c
    functionUses: 0
    functionsReached:
    - check_broken_str
    - check_decode_bin
    - printf
    linkageType: ''
    returnType: int
    signature: int main (int argc, char *argv[])
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - macro
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 39
      start: 38
    functionDepth: 0
    functionLinenumber: 38
    functionLinenumberEnd: 39
    functionName: MHD_STATICSTR_LEN_
    functionSourceFile: /src/mhd2/src/tests/unit/unit_str_pct.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: MHD_STATICSTR_LEN_(macro)
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: snprintf
      Src: /src/mhd2/src/tests/unit/unit_str_pct.c:73,1
    CyclomaticComplexity: 15
    EdgeCount: 15
    ICount: 30
    argCount: 2
    argNames:
    - str
    - len
    argTypes:
    - char*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 92
      start: 46
    functionDepth: 0
    functionLinenumber: 46
    functionLinenumberEnd: 92
    functionName: n_prnt
    functionSourceFile: /src/mhd2/src/tests/unit/unit_str_pct.c
    functionUses: 30
    functionsReached:
    - snprintf
    linkageType: ''
    returnType: char
    signature: 'char *

      n_prnt (const char *str, size_t len)'
  - BBCount: 40
    BranchProfiles: []
    Callsites:
    - Dst: mhd_assert
      Src: /src/mhd2/src/tests/unit/unit_str_pct.c:108,1
    - Dst: mhd_assert
      Src: /src/mhd2/src/tests/unit/unit_str_pct.c:109,1
    - Dst: mhd_assert
      Src: /src/mhd2/src/tests/unit/unit_str_pct.c:110,1
    - Dst: mhd_assert
      Src: /src/mhd2/src/tests/unit/unit_str_pct.c:111,1
    - Dst: mhd_assert
      Src: /src/mhd2/src/tests/unit/unit_str_pct.c:112,1
    - Dst: memset
      Src: /src/mhd2/src/tests/unit/unit_str_pct.c:121,1
    - Dst: mhd_str_pct_decode_strict_n
      Src: /src/mhd2/src/tests/unit/unit_str_pct.c:122,1
    - Dst: fprintf
      Src: /src/mhd2/src/tests/unit/unit_str_pct.c:127,1
    - Dst: fprintf
      Src: /src/mhd2/src/tests/unit/unit_str_pct.c:136,1
    - Dst: memset
      Src: /src/mhd2/src/tests/unit/unit_str_pct.c:142,1
    - Dst: mhd_str_pct_decode_strict_n
      Src: /src/mhd2/src/tests/unit/unit_str_pct.c:143,1
    - Dst: fprintf
      Src: /src/mhd2/src/tests/unit/unit_str_pct.c:148,1
    - Dst: memcmp
      Src: /src/mhd2/src/tests/unit/unit_str_pct.c:154,1
    - Dst: fprintf
      Src: /src/mhd2/src/tests/unit/unit_str_pct.c:157,1
    - Dst: fprintf
      Src: /src/mhd2/src/tests/unit/unit_str_pct.c:165,1
    - Dst: n_prnt
      Src: /src/mhd2/src/tests/unit/unit_str_pct.c:168,1
    - Dst: n_prnt
      Src: /src/mhd2/src/tests/unit/unit_str_pct.c:169,1
    - Dst: fprintf
      Src: /src/mhd2/src/tests/unit/unit_str_pct.c:171,1
    - Dst: n_prnt
      Src: /src/mhd2/src/tests/unit/unit_str_pct.c:174,1
    - Dst: n_prnt
      Src: /src/mhd2/src/tests/unit/unit_str_pct.c:175,1
    - Dst: memset
      Src: /src/mhd2/src/tests/unit/unit_str_pct.c:185,1
    - Dst: mhd_str_pct_decode_strict_n
      Src: /src/mhd2/src/tests/unit/unit_str_pct.c:186,1
    - Dst: fprintf
      Src: /src/mhd2/src/tests/unit/unit_str_pct.c:191,1
    - Dst: fprintf
      Src: /src/mhd2/src/tests/unit/unit_str_pct.c:200,1
    - Dst: memcmp
      Src: /src/mhd2/src/tests/unit/unit_str_pct.c:205,1
    - Dst: fprintf
      Src: /src/mhd2/src/tests/unit/unit_str_pct.c:208,1
    - Dst: fprintf
      Src: /src/mhd2/src/tests/unit/unit_str_pct.c:216,1
    - Dst: n_prnt
      Src: /src/mhd2/src/tests/unit/unit_str_pct.c:219,1
    - Dst: n_prnt
      Src: /src/mhd2/src/tests/unit/unit_str_pct.c:220,1
    - Dst: fprintf
      Src: /src/mhd2/src/tests/unit/unit_str_pct.c:222,1
    - Dst: n_prnt
      Src: /src/mhd2/src/tests/unit/unit_str_pct.c:225,1
    - Dst: n_prnt
      Src: /src/mhd2/src/tests/unit/unit_str_pct.c:226,1
    - Dst: memset
      Src: /src/mhd2/src/tests/unit/unit_str_pct.c:237,1
    - Dst: mhd_str_pct_decode_lenient_n
      Src: /src/mhd2/src/tests/unit/unit_str_pct.c:238,1
    - Dst: fprintf
      Src: /src/mhd2/src/tests/unit/unit_str_pct.c:243,1
    - Dst: fprintf
      Src: /src/mhd2/src/tests/unit/unit_str_pct.c:252,1
    - Dst: memset
      Src: /src/mhd2/src/tests/unit/unit_str_pct.c:259,1
    - Dst: mhd_str_pct_decode_lenient_n
      Src: /src/mhd2/src/tests/unit/unit_str_pct.c:260,1
    - Dst: fprintf
      Src: /src/mhd2/src/tests/unit/unit_str_pct.c:265,1
    - Dst: fprintf
      Src: /src/mhd2/src/tests/unit/unit_str_pct.c:273,1
    - Dst: memcmp
      Src: /src/mhd2/src/tests/unit/unit_str_pct.c:278,1
    - Dst: fprintf
      Src: /src/mhd2/src/tests/unit/unit_str_pct.c:281,1
    - Dst: fprintf
      Src: /src/mhd2/src/tests/unit/unit_str_pct.c:289,1
    - Dst: n_prnt
      Src: /src/mhd2/src/tests/unit/unit_str_pct.c:292,1
    - Dst: n_prnt
      Src: /src/mhd2/src/tests/unit/unit_str_pct.c:293,1
    - Dst: fprintf
      Src: /src/mhd2/src/tests/unit/unit_str_pct.c:296,1
    - Dst: n_prnt
      Src: /src/mhd2/src/tests/unit/unit_str_pct.c:299,1
    - Dst: n_prnt
      Src: /src/mhd2/src/tests/unit/unit_str_pct.c:300,1
    - Dst: memset
      Src: /src/mhd2/src/tests/unit/unit_str_pct.c:311,1
    - Dst: mhd_str_pct_decode_lenient_n
      Src: /src/mhd2/src/tests/unit/unit_str_pct.c:312,1
    - Dst: fprintf
      Src: /src/mhd2/src/tests/unit/unit_str_pct.c:317,1
    - Dst: fprintf
      Src: /src/mhd2/src/tests/unit/unit_str_pct.c:326,1
    - Dst: fprintf
      Src: /src/mhd2/src/tests/unit/unit_str_pct.c:333,1
    - Dst: memcmp
      Src: /src/mhd2/src/tests/unit/unit_str_pct.c:338,1
    - Dst: fprintf
      Src: /src/mhd2/src/tests/unit/unit_str_pct.c:341,1
    - Dst: fprintf
      Src: /src/mhd2/src/tests/unit/unit_str_pct.c:349,1
    - Dst: n_prnt
      Src: /src/mhd2/src/tests/unit/unit_str_pct.c:352,1
    - Dst: n_prnt
      Src: /src/mhd2/src/tests/unit/unit_str_pct.c:353,1
    - Dst: fprintf
      Src: /src/mhd2/src/tests/unit/unit_str_pct.c:356,1
    - Dst: n_prnt
      Src: /src/mhd2/src/tests/unit/unit_str_pct.c:359,1
    - Dst: n_prnt
      Src: /src/mhd2/src/tests/unit/unit_str_pct.c:360,1
    - Dst: strlen
      Src: /src/mhd2/src/tests/unit/unit_str_pct.c:365,1
    - Dst: memset
      Src: /src/mhd2/src/tests/unit/unit_str_pct.c:372,1
    - Dst: memcpy
      Src: /src/mhd2/src/tests/unit/unit_str_pct.c:373,1
    - Dst: mhd_str_pct_decode_in_place_strict
      Src: /src/mhd2/src/tests/unit/unit_str_pct.c:375,1
    - Dst: fprintf
      Src: /src/mhd2/src/tests/unit/unit_str_pct.c:379,1
    - Dst: fprintf
      Src: /src/mhd2/src/tests/unit/unit_str_pct.c:388,1
    - Dst: fprintf
      Src: /src/mhd2/src/tests/unit/unit_str_pct.c:397,1
    - Dst: memcmp
      Src: /src/mhd2/src/tests/unit/unit_str_pct.c:402,1
    - Dst: fprintf
      Src: /src/mhd2/src/tests/unit/unit_str_pct.c:405,1
    - Dst: fprintf
      Src: /src/mhd2/src/tests/unit/unit_str_pct.c:413,1
    - Dst: n_prnt
      Src: /src/mhd2/src/tests/unit/unit_str_pct.c:416,1
    - Dst: n_prnt
      Src: /src/mhd2/src/tests/unit/unit_str_pct.c:417,1
    - Dst: fprintf
      Src: /src/mhd2/src/tests/unit/unit_str_pct.c:419,1
    - Dst: n_prnt
      Src: /src/mhd2/src/tests/unit/unit_str_pct.c:422,1
    - Dst: n_prnt
      Src: /src/mhd2/src/tests/unit/unit_str_pct.c:423,1
    - Dst: memset
      Src: /src/mhd2/src/tests/unit/unit_str_pct.c:434,1
    - Dst: memcpy
      Src: /src/mhd2/src/tests/unit/unit_str_pct.c:435,1
    - Dst: mhd_str_pct_decode_in_place_lenient
      Src: /src/mhd2/src/tests/unit/unit_str_pct.c:437,1
    - Dst: fprintf
      Src: /src/mhd2/src/tests/unit/unit_str_pct.c:441,1
    - Dst: fprintf
      Src: /src/mhd2/src/tests/unit/unit_str_pct.c:450,1
    - Dst: fprintf
      Src: /src/mhd2/src/tests/unit/unit_str_pct.c:459,1
    - Dst: fprintf
      Src: /src/mhd2/src/tests/unit/unit_str_pct.c:466,1
    - Dst: memcmp
      Src: /src/mhd2/src/tests/unit/unit_str_pct.c:471,1
    - Dst: fprintf
      Src: /src/mhd2/src/tests/unit/unit_str_pct.c:474,1
    - Dst: fprintf
      Src: /src/mhd2/src/tests/unit/unit_str_pct.c:482,1
    - Dst: n_prnt
      Src: /src/mhd2/src/tests/unit/unit_str_pct.c:485,1
    - Dst: n_prnt
      Src: /src/mhd2/src/tests/unit/unit_str_pct.c:486,1
    - Dst: fprintf
      Src: /src/mhd2/src/tests/unit/unit_str_pct.c:489,1
    - Dst: n_prnt
      Src: /src/mhd2/src/tests/unit/unit_str_pct.c:492,1
    - Dst: n_prnt
      Src: /src/mhd2/src/tests/unit/unit_str_pct.c:493,1
    - Dst: fprintf
      Src: /src/mhd2/src/tests/unit/unit_str_pct.c:501,1
    CyclomaticComplexity: 51
    EdgeCount: 51
    ICount: 184
    argCount: 5
    argNames:
    - encoded
    - encoded_len
    - decoded
    - decoded_size
    - line_num
    argTypes:
    - char*
    - size_t
    - char*
    - size_t
    - unsigned int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 505
      start: 98
    functionDepth: 1
    functionLinenumber: 98
    functionLinenumberEnd: 505
    functionName: expect_decoded_n
    functionSourceFile: /src/mhd2/src/tests/unit/unit_str_pct.c
    functionUses: 0
    functionsReached:
    - mhd_str_pct_decode_strict_n
    - mhd_str_pct_decode_lenient_n
    - mhd_str_pct_decode_in_place_strict
    - fprintf
    - memset
    - memcpy
    - n_prnt
    - strlen
    - mhd_str_pct_decode_in_place_lenient
    - mhd_assert
    - memcmp
    linkageType: ''
    returnType: unsigned int
    signature: "unsigned int expect_decoded_n (const char *const encoded, const size_t
      encoded_len,\n                  const char *const decoded, const size_t decoded_size,\n
      \                 const unsigned int line_num)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - e
    - ','
    - d
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 512
      start: 508
    functionDepth: 0
    functionLinenumber: 508
    functionLinenumberEnd: 512
    functionName: expect_decoded
    functionSourceFile: /src/mhd2/src/tests/unit/unit_str_pct.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: expect_decoded(e, d)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: expect_decoded
      Src: /src/mhd2/src/tests/unit/unit_str_pct.c:518,1
    - Dst: expect_decoded
      Src: /src/mhd2/src/tests/unit/unit_str_pct.c:521,1
    - Dst: expect_decoded
      Src: /src/mhd2/src/tests/unit/unit_str_pct.c:522,1
    - Dst: expect_decoded
      Src: /src/mhd2/src/tests/unit/unit_str_pct.c:523,1
    - Dst: expect_decoded
      Src: /src/mhd2/src/tests/unit/unit_str_pct.c:524,1
    - Dst: expect_decoded
      Src: /src/mhd2/src/tests/unit/unit_str_pct.c:525,1
    - Dst: expect_decoded
      Src: /src/mhd2/src/tests/unit/unit_str_pct.c:526,1
    - Dst: expect_decoded
      Src: /src/mhd2/src/tests/unit/unit_str_pct.c:527,1
    - Dst: expect_decoded
      Src: /src/mhd2/src/tests/unit/unit_str_pct.c:528,1
    - Dst: expect_decoded
      Src: /src/mhd2/src/tests/unit/unit_str_pct.c:529,1
    - Dst: expect_decoded
      Src: /src/mhd2/src/tests/unit/unit_str_pct.c:530,1
    - Dst: expect_decoded
      Src: /src/mhd2/src/tests/unit/unit_str_pct.c:531,1
    - Dst: expect_decoded
      Src: /src/mhd2/src/tests/unit/unit_str_pct.c:532,1
    - Dst: expect_decoded
      Src: /src/mhd2/src/tests/unit/unit_str_pct.c:533,1
    - Dst: expect_decoded
      Src: /src/mhd2/src/tests/unit/unit_str_pct.c:534,1
    - Dst: expect_decoded
      Src: /src/mhd2/src/tests/unit/unit_str_pct.c:535,1
    - Dst: expect_decoded
      Src: /src/mhd2/src/tests/unit/unit_str_pct.c:536,1
    - Dst: expect_decoded
      Src: /src/mhd2/src/tests/unit/unit_str_pct.c:537,1
    - Dst: expect_decoded
      Src: /src/mhd2/src/tests/unit/unit_str_pct.c:538,1
    - Dst: expect_decoded
      Src: /src/mhd2/src/tests/unit/unit_str_pct.c:539,1
    - Dst: expect_decoded
      Src: /src/mhd2/src/tests/unit/unit_str_pct.c:540,1
    - Dst: expect_decoded
      Src: /src/mhd2/src/tests/unit/unit_str_pct.c:541,1
    - Dst: expect_decoded
      Src: /src/mhd2/src/tests/unit/unit_str_pct.c:542,1
    - Dst: expect_decoded
      Src: /src/mhd2/src/tests/unit/unit_str_pct.c:543,1
    - Dst: expect_decoded
      Src: /src/mhd2/src/tests/unit/unit_str_pct.c:544,1
    - Dst: expect_decoded
      Src: /src/mhd2/src/tests/unit/unit_str_pct.c:545,1
    - Dst: expect_decoded
      Src: /src/mhd2/src/tests/unit/unit_str_pct.c:546,1
    - Dst: expect_decoded
      Src: /src/mhd2/src/tests/unit/unit_str_pct.c:547,1
    - Dst: expect_decoded
      Src: /src/mhd2/src/tests/unit/unit_str_pct.c:548,1
    - Dst: expect_decoded
      Src: /src/mhd2/src/tests/unit/unit_str_pct.c:549,1
    - Dst: expect_decoded
      Src: /src/mhd2/src/tests/unit/unit_str_pct.c:550,1
    - Dst: expect_decoded
      Src: /src/mhd2/src/tests/unit/unit_str_pct.c:551,1
    - Dst: expect_decoded
      Src: /src/mhd2/src/tests/unit/unit_str_pct.c:552,1
    - Dst: expect_decoded
      Src: /src/mhd2/src/tests/unit/unit_str_pct.c:553,1
    - Dst: expect_decoded
      Src: /src/mhd2/src/tests/unit/unit_str_pct.c:554,1
    - Dst: expect_decoded
      Src: /src/mhd2/src/tests/unit/unit_str_pct.c:555,1
    - Dst: expect_decoded
      Src: /src/mhd2/src/tests/unit/unit_str_pct.c:556,1
    - Dst: expect_decoded
      Src: /src/mhd2/src/tests/unit/unit_str_pct.c:557,1
    - Dst: expect_decoded
      Src: /src/mhd2/src/tests/unit/unit_str_pct.c:558,1
    - Dst: expect_decoded
      Src: /src/mhd2/src/tests/unit/unit_str_pct.c:559,1
    - Dst: expect_decoded
      Src: /src/mhd2/src/tests/unit/unit_str_pct.c:560,1
    - Dst: expect_decoded
      Src: /src/mhd2/src/tests/unit/unit_str_pct.c:561,1
    - Dst: expect_decoded
      Src: /src/mhd2/src/tests/unit/unit_str_pct.c:562,1
    - Dst: expect_decoded
      Src: /src/mhd2/src/tests/unit/unit_str_pct.c:563,1
    - Dst: expect_decoded
      Src: /src/mhd2/src/tests/unit/unit_str_pct.c:564,1
    - Dst: expect_decoded
      Src: /src/mhd2/src/tests/unit/unit_str_pct.c:565,1
    - Dst: expect_decoded
      Src: /src/mhd2/src/tests/unit/unit_str_pct.c:566,1
    - Dst: expect_decoded
      Src: /src/mhd2/src/tests/unit/unit_str_pct.c:567,1
    - Dst: expect_decoded
      Src: /src/mhd2/src/tests/unit/unit_str_pct.c:568,1
    - Dst: expect_decoded
      Src: /src/mhd2/src/tests/unit/unit_str_pct.c:569,1
    - Dst: expect_decoded
      Src: /src/mhd2/src/tests/unit/unit_str_pct.c:570,1
    - Dst: expect_decoded
      Src: /src/mhd2/src/tests/unit/unit_str_pct.c:571,1
    - Dst: expect_decoded
      Src: /src/mhd2/src/tests/unit/unit_str_pct.c:572,1
    - Dst: expect_decoded
      Src: /src/mhd2/src/tests/unit/unit_str_pct.c:573,1
    - Dst: expect_decoded
      Src: /src/mhd2/src/tests/unit/unit_str_pct.c:576,1
    - Dst: expect_decoded
      Src: /src/mhd2/src/tests/unit/unit_str_pct.c:577,1
    - Dst: expect_decoded
      Src: /src/mhd2/src/tests/unit/unit_str_pct.c:578,1
    - Dst: expect_decoded
      Src: /src/mhd2/src/tests/unit/unit_str_pct.c:579,1
    - Dst: expect_decoded
      Src: /src/mhd2/src/tests/unit/unit_str_pct.c:580,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 61
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 585
      start: 513
    functionDepth: 0
    functionLinenumber: 513
    functionLinenumberEnd: 585
    functionName: check_decode_str
    functionSourceFile: /src/mhd2/src/tests/unit/unit_str_pct.c
    functionUses: 1
    functionsReached:
    - expect_decoded
    linkageType: ''
    returnType: unsigned int
    signature: unsigned int check_decode_str (void)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - e
    - ','
    - a
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 592
      start: 588
    functionDepth: 0
    functionLinenumber: 588
    functionLinenumberEnd: 592
    functionName: expect_decoded_arr
    functionSourceFile: /src/mhd2/src/tests/unit/unit_str_pct.c
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: expect_decoded_arr(e, a)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: expect_decoded_arr
      Src: /src/mhd2/src/tests/unit/unit_str_pct.c:624,1
    - Dst: expect_decoded_arr
      Src: /src/mhd2/src/tests/unit/unit_str_pct.c:670,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 691
      start: 593
    functionDepth: 0
    functionLinenumber: 593
    functionLinenumberEnd: 691
    functionName: check_decode_bin
    functionSourceFile: /src/mhd2/src/tests/unit/unit_str_pct.c
    functionUses: 2
    functionsReached:
    - expect_decoded_arr
    linkageType: ''
    returnType: unsigned int
    signature: unsigned int check_decode_bin (void)
  - BBCount: 32
    BranchProfiles: []
    Callsites:
    - Dst: mhd_assert
      Src: /src/mhd2/src/tests/unit/unit_str_pct.c:705,1
    - Dst: mhd_assert
      Src: /src/mhd2/src/tests/unit/unit_str_pct.c:706,1
    - Dst: mhd_assert
      Src: /src/mhd2/src/tests/unit/unit_str_pct.c:707,1
    - Dst: mhd_assert
      Src: /src/mhd2/src/tests/unit/unit_str_pct.c:708,1
    - Dst: mhd_assert
      Src: /src/mhd2/src/tests/unit/unit_str_pct.c:709,1
    - Dst: memset
      Src: /src/mhd2/src/tests/unit/unit_str_pct.c:718,1
    - Dst: mhd_str_pct_decode_strict_n
      Src: /src/mhd2/src/tests/unit/unit_str_pct.c:719,1
    - Dst: fprintf
      Src: /src/mhd2/src/tests/unit/unit_str_pct.c:724,1
    - Dst: fprintf
      Src: /src/mhd2/src/tests/unit/unit_str_pct.c:731,1
    - Dst: n_prnt
      Src: /src/mhd2/src/tests/unit/unit_str_pct.c:734,1
    - Dst: n_prnt
      Src: /src/mhd2/src/tests/unit/unit_str_pct.c:735,1
    - Dst: fprintf
      Src: /src/mhd2/src/tests/unit/unit_str_pct.c:737,1
    - Dst: n_prnt
      Src: /src/mhd2/src/tests/unit/unit_str_pct.c:740,1
    - Dst: memset
      Src: /src/mhd2/src/tests/unit/unit_str_pct.c:750,1
    - Dst: mhd_str_pct_decode_strict_n
      Src: /src/mhd2/src/tests/unit/unit_str_pct.c:751,1
    - Dst: fprintf
      Src: /src/mhd2/src/tests/unit/unit_str_pct.c:756,1
    - Dst: fprintf
      Src: /src/mhd2/src/tests/unit/unit_str_pct.c:763,1
    - Dst: n_prnt
      Src: /src/mhd2/src/tests/unit/unit_str_pct.c:766,1
    - Dst: n_prnt
      Src: /src/mhd2/src/tests/unit/unit_str_pct.c:767,1
    - Dst: fprintf
      Src: /src/mhd2/src/tests/unit/unit_str_pct.c:769,1
    - Dst: n_prnt
      Src: /src/mhd2/src/tests/unit/unit_str_pct.c:772,1
    - Dst: memset
      Src: /src/mhd2/src/tests/unit/unit_str_pct.c:783,1
    - Dst: mhd_str_pct_decode_lenient_n
      Src: /src/mhd2/src/tests/unit/unit_str_pct.c:784,1
    - Dst: fprintf
      Src: /src/mhd2/src/tests/unit/unit_str_pct.c:789,1
    - Dst: fprintf
      Src: /src/mhd2/src/tests/unit/unit_str_pct.c:798,1
    - Dst: memset
      Src: /src/mhd2/src/tests/unit/unit_str_pct.c:805,1
    - Dst: mhd_str_pct_decode_lenient_n
      Src: /src/mhd2/src/tests/unit/unit_str_pct.c:806,1
    - Dst: fprintf
      Src: /src/mhd2/src/tests/unit/unit_str_pct.c:811,1
    - Dst: fprintf
      Src: /src/mhd2/src/tests/unit/unit_str_pct.c:819,1
    - Dst: memcmp
      Src: /src/mhd2/src/tests/unit/unit_str_pct.c:824,1
    - Dst: fprintf
      Src: /src/mhd2/src/tests/unit/unit_str_pct.c:827,1
    - Dst: fprintf
      Src: /src/mhd2/src/tests/unit/unit_str_pct.c:835,1
    - Dst: n_prnt
      Src: /src/mhd2/src/tests/unit/unit_str_pct.c:838,1
    - Dst: n_prnt
      Src: /src/mhd2/src/tests/unit/unit_str_pct.c:839,1
    - Dst: fprintf
      Src: /src/mhd2/src/tests/unit/unit_str_pct.c:842,1
    - Dst: n_prnt
      Src: /src/mhd2/src/tests/unit/unit_str_pct.c:845,1
    - Dst: n_prnt
      Src: /src/mhd2/src/tests/unit/unit_str_pct.c:846,1
    - Dst: memset
      Src: /src/mhd2/src/tests/unit/unit_str_pct.c:857,1
    - Dst: mhd_str_pct_decode_lenient_n
      Src: /src/mhd2/src/tests/unit/unit_str_pct.c:858,1
    - Dst: fprintf
      Src: /src/mhd2/src/tests/unit/unit_str_pct.c:863,1
    - Dst: fprintf
      Src: /src/mhd2/src/tests/unit/unit_str_pct.c:872,1
    - Dst: fprintf
      Src: /src/mhd2/src/tests/unit/unit_str_pct.c:879,1
    - Dst: memcmp
      Src: /src/mhd2/src/tests/unit/unit_str_pct.c:884,1
    - Dst: fprintf
      Src: /src/mhd2/src/tests/unit/unit_str_pct.c:887,1
    - Dst: fprintf
      Src: /src/mhd2/src/tests/unit/unit_str_pct.c:895,1
    - Dst: n_prnt
      Src: /src/mhd2/src/tests/unit/unit_str_pct.c:898,1
    - Dst: n_prnt
      Src: /src/mhd2/src/tests/unit/unit_str_pct.c:899,1
    - Dst: fprintf
      Src: /src/mhd2/src/tests/unit/unit_str_pct.c:902,1
    - Dst: n_prnt
      Src: /src/mhd2/src/tests/unit/unit_str_pct.c:905,1
    - Dst: n_prnt
      Src: /src/mhd2/src/tests/unit/unit_str_pct.c:906,1
    - Dst: strlen
      Src: /src/mhd2/src/tests/unit/unit_str_pct.c:911,1
    - Dst: memset
      Src: /src/mhd2/src/tests/unit/unit_str_pct.c:918,1
    - Dst: memcpy
      Src: /src/mhd2/src/tests/unit/unit_str_pct.c:919,1
    - Dst: mhd_str_pct_decode_in_place_strict
      Src: /src/mhd2/src/tests/unit/unit_str_pct.c:921,1
    - Dst: fprintf
      Src: /src/mhd2/src/tests/unit/unit_str_pct.c:925,1
    - Dst: fprintf
      Src: /src/mhd2/src/tests/unit/unit_str_pct.c:932,1
    - Dst: n_prnt
      Src: /src/mhd2/src/tests/unit/unit_str_pct.c:935,1
    - Dst: n_prnt
      Src: /src/mhd2/src/tests/unit/unit_str_pct.c:936,1
    - Dst: fprintf
      Src: /src/mhd2/src/tests/unit/unit_str_pct.c:938,1
    - Dst: n_prnt
      Src: /src/mhd2/src/tests/unit/unit_str_pct.c:941,1
    - Dst: memset
      Src: /src/mhd2/src/tests/unit/unit_str_pct.c:951,1
    - Dst: memcpy
      Src: /src/mhd2/src/tests/unit/unit_str_pct.c:952,1
    - Dst: mhd_str_pct_decode_in_place_lenient
      Src: /src/mhd2/src/tests/unit/unit_str_pct.c:954,1
    - Dst: fprintf
      Src: /src/mhd2/src/tests/unit/unit_str_pct.c:958,1
    - Dst: fprintf
      Src: /src/mhd2/src/tests/unit/unit_str_pct.c:967,1
    - Dst: fprintf
      Src: /src/mhd2/src/tests/unit/unit_str_pct.c:976,1
    - Dst: fprintf
      Src: /src/mhd2/src/tests/unit/unit_str_pct.c:983,1
    - Dst: memcmp
      Src: /src/mhd2/src/tests/unit/unit_str_pct.c:988,1
    - Dst: fprintf
      Src: /src/mhd2/src/tests/unit/unit_str_pct.c:991,1
    - Dst: fprintf
      Src: /src/mhd2/src/tests/unit/unit_str_pct.c:999,1
    - Dst: n_prnt
      Src: /src/mhd2/src/tests/unit/unit_str_pct.c:1002,1
    - Dst: n_prnt
      Src: /src/mhd2/src/tests/unit/unit_str_pct.c:1003,1
    - Dst: fprintf
      Src: /src/mhd2/src/tests/unit/unit_str_pct.c:1006,1
    - Dst: n_prnt
      Src: /src/mhd2/src/tests/unit/unit_str_pct.c:1009,1
    - Dst: n_prnt
      Src: /src/mhd2/src/tests/unit/unit_str_pct.c:1010,1
    - Dst: fprintf
      Src: /src/mhd2/src/tests/unit/unit_str_pct.c:1018,1
    CyclomaticComplexity: 37
    EdgeCount: 37
    ICount: 146
    argCount: 5
    argNames:
    - encoded
    - encoded_len
    - decoded
    - decoded_size
    - line_num
    argTypes:
    - char*
    - size_t
    - char*
    - size_t
    - unsigned int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1022
      start: 695
    functionDepth: 1
    functionLinenumber: 695
    functionLinenumberEnd: 1022
    functionName: expect_decoded_bad_n
    functionSourceFile: /src/mhd2/src/tests/unit/unit_str_pct.c
    functionUses: 0
    functionsReached:
    - mhd_str_pct_decode_strict_n
    - mhd_str_pct_decode_lenient_n
    - mhd_str_pct_decode_in_place_strict
    - fprintf
    - memset
    - memcpy
    - n_prnt
    - strlen
    - mhd_str_pct_decode_in_place_lenient
    - mhd_assert
    - memcmp
    linkageType: ''
    returnType: unsigned int
    signature: "unsigned int expect_decoded_bad_n (const char *const encoded, const
      size_t encoded_len,\n                      const char *const decoded, const
      size_t decoded_size,\n                      const unsigned int line_num)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - e
    - ','
    - d
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1029
      start: 1025
    functionDepth: 0
    functionLinenumber: 1025
    functionLinenumberEnd: 1029
    functionName: expect_decoded_bad
    functionSourceFile: /src/mhd2/src/tests/unit/unit_str_pct.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: expect_decoded_bad(e, d)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: expect_decoded_bad
      Src: /src/mhd2/src/tests/unit/unit_str_pct.c:1035,1
    - Dst: expect_decoded_bad
      Src: /src/mhd2/src/tests/unit/unit_str_pct.c:1036,1
    - Dst: expect_decoded_bad
      Src: /src/mhd2/src/tests/unit/unit_str_pct.c:1038,1
    - Dst: expect_decoded_bad
      Src: /src/mhd2/src/tests/unit/unit_str_pct.c:1039,1
    - Dst: expect_decoded_bad
      Src: /src/mhd2/src/tests/unit/unit_str_pct.c:1040,1
    - Dst: expect_decoded_bad
      Src: /src/mhd2/src/tests/unit/unit_str_pct.c:1041,1
    - Dst: expect_decoded_bad
      Src: /src/mhd2/src/tests/unit/unit_str_pct.c:1042,1
    - Dst: expect_decoded_bad
      Src: /src/mhd2/src/tests/unit/unit_str_pct.c:1043,1
    - Dst: expect_decoded_bad
      Src: /src/mhd2/src/tests/unit/unit_str_pct.c:1044,1
    - Dst: expect_decoded_bad
      Src: /src/mhd2/src/tests/unit/unit_str_pct.c:1045,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 12
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1048
      start: 1030
    functionDepth: 1
    functionLinenumber: 1030
    functionLinenumberEnd: 1048
    functionName: check_decode_bad_str
    functionSourceFile: /src/mhd2/src/tests/unit/unit_str_pct.c
    functionUses: 0
    functionsReached:
    - expect_decoded_bad
    linkageType: ''
    returnType: unsigned int
    signature: unsigned int check_decode_bad_str (void)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: check_decode_str
      Src: /src/mhd2/src/tests/unit/unit_str_pct.c:1057,1
    - Dst: check_decode_bin
      Src: /src/mhd2/src/tests/unit/unit_str_pct.c:1058,1
    - Dst: check_decode_bad_str
      Src: /src/mhd2/src/tests/unit/unit_str_pct.c:1059,1
    - Dst: printf
      Src: /src/mhd2/src/tests/unit/unit_str_pct.c:1061,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 9
    argCount: 2
    argNames:
    - argc
    - argv
    argTypes:
    - int
    - char*[]
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1063
      start: 1051
    functionDepth: 2
    functionLinenumber: 1051
    functionLinenumberEnd: 1063
    functionName: main
    functionSourceFile: /src/mhd2/src/tests/unit/unit_str_pct.c
    functionUses: 0
    functionsReached:
    - check_decode_bad_str
    - check_decode_bin
    - check_decode_str
    - printf
    linkageType: ''
    returnType: int
    signature: int main (int argc, char *argv[])
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - macro
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 42
      start: 41
    functionDepth: 0
    functionLinenumber: 41
    functionLinenumberEnd: 42
    functionName: MHD_STATICSTR_LEN_
    functionSourceFile: /src/mhd2/src/tests/unit/unit_str_tokens_remove.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: MHD_STATICSTR_LEN_(macro)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: mhd_assert
      Src: /src/mhd2/src/tests/unit/unit_str_tokens_remove.c:56,1
    - Dst: mhd_assert
      Src: /src/mhd2/src/tests/unit/unit_str_tokens_remove.c:57,1
    - Dst: memset
      Src: /src/mhd2/src/tests/unit/unit_str_tokens_remove.c:59,1
    - Dst: memcpy
      Src: /src/mhd2/src/tests/unit/unit_str_tokens_remove.c:60,1
    - Dst: memset
      Src: /src/mhd2/src/tests/unit/unit_str_tokens_remove.c:61,1
    - Dst: memcpy
      Src: /src/mhd2/src/tests/unit/unit_str_tokens_remove.c:62,1
    - Dst: mhd_str_remove_tokens_caseless
      Src: /src/mhd2/src/tests/unit/unit_str_tokens_remove.c:66,1
    - Dst: memcmp
      Src: /src/mhd2/src/tests/unit/unit_str_tokens_remove.c:71,1
    - Dst: fprintf
      Src: /src/mhd2/src/tests/unit/unit_str_tokens_remove.c:74,1
    - Dst: fprintf
      Src: /src/mhd2/src/tests/unit/unit_str_tokens_remove.c:84,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 15
    argCount: 7
    argNames:
    - str
    - str_len
    - tokens
    - tokens_len
    - expected
    - expected_len
    - expected_removed
    argTypes:
    - char*
    - size_t
    - char*
    - size_t
    - char*
    - size_t
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 96
      start: 45
    functionDepth: 1
    functionLinenumber: 45
    functionLinenumberEnd: 96
    functionName: expect_result_n
    functionSourceFile: /src/mhd2/src/tests/unit/unit_str_tokens_remove.c
    functionUses: 0
    functionsReached:
    - fprintf
    - memset
    - mhd_str_remove_tokens_caseless
    - mhd_assert
    - memcpy
    - memcmp
    linkageType: ''
    returnType: int
    signature: "int expect_result_n (const char *str, size_t str_len,\n                 const
      char *tokens, size_t tokens_len,\n                 const char *expected, size_t
      expected_len,\n                 const bool expected_removed)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 9
    argNames:
    - (
    - s
    - ','
    - t
    - ','
    - e
    - ','
    - found
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 103
      start: 99
    functionDepth: 0
    functionLinenumber: 99
    functionLinenumberEnd: 103
    functionName: expect_result
    functionSourceFile: /src/mhd2/src/tests/unit/unit_str_tokens_remove.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: expect_result(s, t, e, found)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: expect_result
      Src: /src/mhd2/src/tests/unit/unit_str_tokens_remove.c:108,1
    - Dst: expect_result
      Src: /src/mhd2/src/tests/unit/unit_str_tokens_remove.c:109,1
    - Dst: expect_result
      Src: /src/mhd2/src/tests/unit/unit_str_tokens_remove.c:110,1
    - Dst: expect_result
      Src: /src/mhd2/src/tests/unit/unit_str_tokens_remove.c:111,1
    - Dst: expect_result
      Src: /src/mhd2/src/tests/unit/unit_str_tokens_remove.c:112,1
    - Dst: expect_result
      Src: /src/mhd2/src/tests/unit/unit_str_tokens_remove.c:113,1
    - Dst: expect_result
      Src: /src/mhd2/src/tests/unit/unit_str_tokens_remove.c:114,1
    - Dst: expect_result
      Src: /src/mhd2/src/tests/unit/unit_str_tokens_remove.c:115,1
    - Dst: expect_result
      Src: /src/mhd2/src/tests/unit/unit_str_tokens_remove.c:117,1
    - Dst: expect_result
      Src: /src/mhd2/src/tests/unit/unit_str_tokens_remove.c:120,1
    - Dst: expect_result
      Src: /src/mhd2/src/tests/unit/unit_str_tokens_remove.c:122,1
    - Dst: expect_result
      Src: /src/mhd2/src/tests/unit/unit_str_tokens_remove.c:124,1
    - Dst: expect_result
      Src: /src/mhd2/src/tests/unit/unit_str_tokens_remove.c:126,1
    - Dst: expect_result
      Src: /src/mhd2/src/tests/unit/unit_str_tokens_remove.c:128,1
    - Dst: expect_result
      Src: /src/mhd2/src/tests/unit/unit_str_tokens_remove.c:129,1
    - Dst: expect_result
      Src: /src/mhd2/src/tests/unit/unit_str_tokens_remove.c:130,1
    - Dst: expect_result
      Src: /src/mhd2/src/tests/unit/unit_str_tokens_remove.c:131,1
    - Dst: expect_result
      Src: /src/mhd2/src/tests/unit/unit_str_tokens_remove.c:133,1
    - Dst: expect_result
      Src: /src/mhd2/src/tests/unit/unit_str_tokens_remove.c:134,1
    - Dst: expect_result
      Src: /src/mhd2/src/tests/unit/unit_str_tokens_remove.c:135,1
    - Dst: expect_result
      Src: /src/mhd2/src/tests/unit/unit_str_tokens_remove.c:136,1
    - Dst: expect_result
      Src: /src/mhd2/src/tests/unit/unit_str_tokens_remove.c:137,1
    - Dst: expect_result
      Src: /src/mhd2/src/tests/unit/unit_str_tokens_remove.c:138,1
    - Dst: expect_result
      Src: /src/mhd2/src/tests/unit/unit_str_tokens_remove.c:139,1
    - Dst: expect_result
      Src: /src/mhd2/src/tests/unit/unit_str_tokens_remove.c:140,1
    - Dst: expect_result
      Src: /src/mhd2/src/tests/unit/unit_str_tokens_remove.c:141,1
    - Dst: expect_result
      Src: /src/mhd2/src/tests/unit/unit_str_tokens_remove.c:142,1
    - Dst: expect_result
      Src: /src/mhd2/src/tests/unit/unit_str_tokens_remove.c:143,1
    - Dst: expect_result
      Src: /src/mhd2/src/tests/unit/unit_str_tokens_remove.c:144,1
    - Dst: expect_result
      Src: /src/mhd2/src/tests/unit/unit_str_tokens_remove.c:145,1
    - Dst: expect_result
      Src: /src/mhd2/src/tests/unit/unit_str_tokens_remove.c:146,1
    - Dst: expect_result
      Src: /src/mhd2/src/tests/unit/unit_str_tokens_remove.c:147,1
    - Dst: expect_result
      Src: /src/mhd2/src/tests/unit/unit_str_tokens_remove.c:148,1
    - Dst: expect_result
      Src: /src/mhd2/src/tests/unit/unit_str_tokens_remove.c:149,1
    - Dst: expect_result
      Src: /src/mhd2/src/tests/unit/unit_str_tokens_remove.c:151,1
    - Dst: expect_result
      Src: /src/mhd2/src/tests/unit/unit_str_tokens_remove.c:152,1
    - Dst: expect_result
      Src: /src/mhd2/src/tests/unit/unit_str_tokens_remove.c:153,1
    - Dst: expect_result
      Src: /src/mhd2/src/tests/unit/unit_str_tokens_remove.c:155,1
    - Dst: expect_result
      Src: /src/mhd2/src/tests/unit/unit_str_tokens_remove.c:157,1
    - Dst: expect_result
      Src: /src/mhd2/src/tests/unit/unit_str_tokens_remove.c:159,1
    - Dst: expect_result
      Src: /src/mhd2/src/tests/unit/unit_str_tokens_remove.c:161,1
    - Dst: expect_result
      Src: /src/mhd2/src/tests/unit/unit_str_tokens_remove.c:163,1
    - Dst: expect_result
      Src: /src/mhd2/src/tests/unit/unit_str_tokens_remove.c:165,1
    - Dst: expect_result
      Src: /src/mhd2/src/tests/unit/unit_str_tokens_remove.c:167,1
    - Dst: expect_result
      Src: /src/mhd2/src/tests/unit/unit_str_tokens_remove.c:170,1
    - Dst: expect_result
      Src: /src/mhd2/src/tests/unit/unit_str_tokens_remove.c:171,1
    - Dst: expect_result
      Src: /src/mhd2/src/tests/unit/unit_str_tokens_remove.c:172,1
    - Dst: expect_result
      Src: /src/mhd2/src/tests/unit/unit_str_tokens_remove.c:174,1
    - Dst: expect_result
      Src: /src/mhd2/src/tests/unit/unit_str_tokens_remove.c:176,1
    - Dst: expect_result
      Src: /src/mhd2/src/tests/unit/unit_str_tokens_remove.c:178,1
    - Dst: expect_result
      Src: /src/mhd2/src/tests/unit/unit_str_tokens_remove.c:180,1
    - Dst: expect_result
      Src: /src/mhd2/src/tests/unit/unit_str_tokens_remove.c:182,1
    - Dst: expect_result
      Src: /src/mhd2/src/tests/unit/unit_str_tokens_remove.c:184,1
    - Dst: expect_result
      Src: /src/mhd2/src/tests/unit/unit_str_tokens_remove.c:186,1
    - Dst: expect_result
      Src: /src/mhd2/src/tests/unit/unit_str_tokens_remove.c:189,1
    - Dst: expect_result
      Src: /src/mhd2/src/tests/unit/unit_str_tokens_remove.c:190,1
    - Dst: expect_result
      Src: /src/mhd2/src/tests/unit/unit_str_tokens_remove.c:191,1
    - Dst: expect_result
      Src: /src/mhd2/src/tests/unit/unit_str_tokens_remove.c:192,1
    - Dst: expect_result
      Src: /src/mhd2/src/tests/unit/unit_str_tokens_remove.c:193,1
    - Dst: expect_result
      Src: /src/mhd2/src/tests/unit/unit_str_tokens_remove.c:195,1
    - Dst: expect_result
      Src: /src/mhd2/src/tests/unit/unit_str_tokens_remove.c:197,1
    - Dst: expect_result
      Src: /src/mhd2/src/tests/unit/unit_str_tokens_remove.c:199,1
    - Dst: expect_result
      Src: /src/mhd2/src/tests/unit/unit_str_tokens_remove.c:200,1
    - Dst: expect_result
      Src: /src/mhd2/src/tests/unit/unit_str_tokens_remove.c:201,1
    - Dst: expect_result
      Src: /src/mhd2/src/tests/unit/unit_str_tokens_remove.c:204,1
    - Dst: expect_result
      Src: /src/mhd2/src/tests/unit/unit_str_tokens_remove.c:207,1
    - Dst: expect_result
      Src: /src/mhd2/src/tests/unit/unit_str_tokens_remove.c:210,1
    - Dst: expect_result
      Src: /src/mhd2/src/tests/unit/unit_str_tokens_remove.c:213,1
    - Dst: expect_result
      Src: /src/mhd2/src/tests/unit/unit_str_tokens_remove.c:216,1
    - Dst: expect_result
      Src: /src/mhd2/src/tests/unit/unit_str_tokens_remove.c:218,1
    - Dst: expect_result
      Src: /src/mhd2/src/tests/unit/unit_str_tokens_remove.c:223,1
    - Dst: expect_result
      Src: /src/mhd2/src/tests/unit/unit_str_tokens_remove.c:228,1
    - Dst: expect_result
      Src: /src/mhd2/src/tests/unit/unit_str_tokens_remove.c:233,1
    - Dst: expect_result
      Src: /src/mhd2/src/tests/unit/unit_str_tokens_remove.c:238,1
    - Dst: expect_result
      Src: /src/mhd2/src/tests/unit/unit_str_tokens_remove.c:243,1
    - Dst: expect_result
      Src: /src/mhd2/src/tests/unit/unit_str_tokens_remove.c:248,1
    - Dst: expect_result
      Src: /src/mhd2/src/tests/unit/unit_str_tokens_remove.c:250,1
    - Dst: expect_result
      Src: /src/mhd2/src/tests/unit/unit_str_tokens_remove.c:252,1
    - Dst: expect_result
      Src: /src/mhd2/src/tests/unit/unit_str_tokens_remove.c:254,1
    - Dst: expect_result
      Src: /src/mhd2/src/tests/unit/unit_str_tokens_remove.c:256,1
    - Dst: expect_result
      Src: /src/mhd2/src/tests/unit/unit_str_tokens_remove.c:258,1
    - Dst: expect_result
      Src: /src/mhd2/src/tests/unit/unit_str_tokens_remove.c:260,1
    - Dst: expect_result
      Src: /src/mhd2/src/tests/unit/unit_str_tokens_remove.c:262,1
    - Dst: expect_result
      Src: /src/mhd2/src/tests/unit/unit_str_tokens_remove.c:265,1
    - Dst: expect_result
      Src: /src/mhd2/src/tests/unit/unit_str_tokens_remove.c:266,1
    - Dst: expect_result
      Src: /src/mhd2/src/tests/unit/unit_str_tokens_remove.c:267,1
    - Dst: expect_result
      Src: /src/mhd2/src/tests/unit/unit_str_tokens_remove.c:268,1
    - Dst: expect_result
      Src: /src/mhd2/src/tests/unit/unit_str_tokens_remove.c:269,1
    - Dst: expect_result
      Src: /src/mhd2/src/tests/unit/unit_str_tokens_remove.c:270,1
    - Dst: expect_result
      Src: /src/mhd2/src/tests/unit/unit_str_tokens_remove.c:271,1
    - Dst: expect_result
      Src: /src/mhd2/src/tests/unit/unit_str_tokens_remove.c:273,1
    - Dst: expect_result
      Src: /src/mhd2/src/tests/unit/unit_str_tokens_remove.c:275,1
    - Dst: expect_result
      Src: /src/mhd2/src/tests/unit/unit_str_tokens_remove.c:277,1
    - Dst: expect_result
      Src: /src/mhd2/src/tests/unit/unit_str_tokens_remove.c:278,1
    - Dst: expect_result
      Src: /src/mhd2/src/tests/unit/unit_str_tokens_remove.c:280,1
    - Dst: expect_result
      Src: /src/mhd2/src/tests/unit/unit_str_tokens_remove.c:282,1
    - Dst: expect_result
      Src: /src/mhd2/src/tests/unit/unit_str_tokens_remove.c:283,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 99
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 287
      start: 104
    functionDepth: 0
    functionLinenumber: 104
    functionLinenumberEnd: 287
    functionName: check_result
    functionSourceFile: /src/mhd2/src/tests/unit/unit_str_tokens_remove.c
    functionUses: 16
    functionsReached:
    - expect_result
    linkageType: ''
    returnType: int
    signature: int check_result (void)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: check_result
      Src: /src/mhd2/src/tests/unit/unit_str_tokens_remove.c:296,1
    - Dst: printf
      Src: /src/mhd2/src/tests/unit/unit_str_tokens_remove.c:298,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 2
    argNames:
    - argc
    - argv
    argTypes:
    - int
    - char*[]
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 300
      start: 290
    functionDepth: 0
    functionLinenumber: 290
    functionLinenumberEnd: 300
    functionName: main
    functionSourceFile: /src/mhd2/src/tests/unit/unit_str_tokens_remove.c
    functionUses: 0
    functionsReached:
    - check_result
    - printf
    linkageType: ''
    returnType: int
    signature: int main (int argc, char *argv[])
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - macro
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 97
      start: 96
    functionDepth: 0
    functionLinenumber: 96
    functionLinenumberEnd: 97
    functionName: mhd_SSTR_LEN
    functionSourceFile: /src/mhd2/src/tests/upgrade/test_upgrade.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: mhd_SSTR_LEN(macro)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: fflush
      Src: /src/mhd2/src/tests/upgrade/test_upgrade.c:135,1
    - Dst: fprintf
      Src: /src/mhd2/src/tests/upgrade/test_upgrade.c:137,1
    - Dst: fprintf
      Src: /src/mhd2/src/tests/upgrade/test_upgrade.c:139,1
    - Dst: fprintf
      Src: /src/mhd2/src/tests/upgrade/test_upgrade.c:141,1
    - Dst: fprintf
      Src: /src/mhd2/src/tests/upgrade/test_upgrade.c:143,1
    - Dst: fprintf
      Src: /src/mhd2/src/tests/upgrade/test_upgrade.c:145,1
    - Dst: strerror
      Src: /src/mhd2/src/tests/upgrade/test_upgrade.c:146,1
    - Dst: fprintf
      Src: /src/mhd2/src/tests/upgrade/test_upgrade.c:148,1
    - Dst: WSAGetLastError
      Src: /src/mhd2/src/tests/upgrade/test_upgrade.c:148,1
    - Dst: fflush
      Src: /src/mhd2/src/tests/upgrade/test_upgrade.c:150,1
    - Dst: exit
      Src: /src/mhd2/src/tests/upgrade/test_upgrade.c:151,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 13
    argCount: 4
    argNames:
    - errDesc
    - funcName
    - lineNum
    - test_failed
    argTypes:
    - char*
    - char*
    - int
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 152
      start: 130
    functionDepth: 0
    functionLinenumber: 130
    functionLinenumberEnd: 152
    functionName: _externalErrorExit_func
    functionSourceFile: /src/mhd2/src/tests/upgrade/test_upgrade.c
    functionUses: 0
    functionsReached:
    - fprintf
    - exit
    - fflush
    - WSAGetLastError
    - strerror
    linkageType: ''
    returnType: MHD_NORETURN_
    signature: "MHD_NORETURN_ _externalErrorExit_func (const char *errDesc, const
      char *funcName,\n                         int lineNum, int test_failed)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: fflush
      Src: /src/mhd2/src/tests/upgrade/test_upgrade.c:159,1
    - Dst: fprintf
      Src: /src/mhd2/src/tests/upgrade/test_upgrade.c:161,1
    - Dst: fprintf
      Src: /src/mhd2/src/tests/upgrade/test_upgrade.c:163,1
    - Dst: fprintf
      Src: /src/mhd2/src/tests/upgrade/test_upgrade.c:165,1
    - Dst: fprintf
      Src: /src/mhd2/src/tests/upgrade/test_upgrade.c:167,1
    - Dst: fprintf
      Src: /src/mhd2/src/tests/upgrade/test_upgrade.c:169,1
    - Dst: strerror
      Src: /src/mhd2/src/tests/upgrade/test_upgrade.c:170,1
    - Dst: fflush
      Src: /src/mhd2/src/tests/upgrade/test_upgrade.c:172,1
    - Dst: exit
      Src: /src/mhd2/src/tests/upgrade/test_upgrade.c:173,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 12
    argCount: 3
    argNames:
    - errDesc
    - funcName
    - lineNum
    argTypes:
    - char*
    - char*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 174
      start: 155
    functionDepth: 0
    functionLinenumber: 155
    functionLinenumberEnd: 174
    functionName: _mhdErrorExit_func
    functionSourceFile: /src/mhd2/src/tests/upgrade/test_upgrade.c
    functionUses: 0
    functionsReached:
    - exit
    - strerror
    - fprintf
    - fflush
    linkageType: ''
    returnType: MHD_NORETURN_
    signature: MHD_NORETURN_ _mhdErrorExit_func (const char *errDesc, const char *funcName,
      int lineNum)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: fflush
      Src: /src/mhd2/src/tests/upgrade/test_upgrade.c:181,1
    - Dst: fprintf
      Src: /src/mhd2/src/tests/upgrade/test_upgrade.c:183,1
    - Dst: fprintf
      Src: /src/mhd2/src/tests/upgrade/test_upgrade.c:185,1
    - Dst: fprintf
      Src: /src/mhd2/src/tests/upgrade/test_upgrade.c:187,1
    - Dst: fprintf
      Src: /src/mhd2/src/tests/upgrade/test_upgrade.c:189,1
    - Dst: fprintf
      Src: /src/mhd2/src/tests/upgrade/test_upgrade.c:191,1
    - Dst: strerror
      Src: /src/mhd2/src/tests/upgrade/test_upgrade.c:192,1
    - Dst: fprintf
      Src: /src/mhd2/src/tests/upgrade/test_upgrade.c:194,1
    - Dst: WSAGetLastError
      Src: /src/mhd2/src/tests/upgrade/test_upgrade.c:194,1
    - Dst: fflush
      Src: /src/mhd2/src/tests/upgrade/test_upgrade.c:196,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 12
    argCount: 3
    argNames:
    - errDesc
    - funcName
    - lineNum
    argTypes:
    - char*
    - char*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 197
      start: 177
    functionDepth: 0
    functionLinenumber: 177
    functionLinenumberEnd: 197
    functionName: _testErrorLog_func
    functionSourceFile: /src/mhd2/src/tests/upgrade/test_upgrade.c
    functionUses: 0
    functionsReached:
    - WSAGetLastError
    - strerror
    - fprintf
    - fflush
    linkageType: ''
    returnType: void
    signature: void _testErrorLog_func (const char *errDesc, const char *funcName,
      int lineNum)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 2
    argNames:
    - (
    - )
    argTypes:
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 203
      start: 201
    functionDepth: 0
    functionLinenumber: 201
    functionLinenumberEnd: 203
    functionName: externalErrorExit
    functionSourceFile: /src/mhd2/src/tests/upgrade/test_upgrade.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: externalErrorExit()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - errDesc
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 205
      start: 203
    functionDepth: 0
    functionLinenumber: 203
    functionLinenumberEnd: 205
    functionName: externalErrorExitDesc
    functionSourceFile: /src/mhd2/src/tests/upgrade/test_upgrade.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: externalErrorExitDesc(errDesc)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - errDesc
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 207
      start: 205
    functionDepth: 0
    functionLinenumber: 205
    functionLinenumberEnd: 207
    functionName: testFailedExitDesc
    functionSourceFile: /src/mhd2/src/tests/upgrade/test_upgrade.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: testFailedExitDesc(errDesc)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - ignore
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 209
      start: 207
    functionDepth: 0
    functionLinenumber: 207
    functionLinenumberEnd: 209
    functionName: mhdErrorExit
    functionSourceFile: /src/mhd2/src/tests/upgrade/test_upgrade.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: mhdErrorExit(ignore)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - errDesc
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 211
      start: 209
    functionDepth: 0
    functionLinenumber: 209
    functionLinenumberEnd: 211
    functionName: mhdErrorExitDesc
    functionSourceFile: /src/mhd2/src/tests/upgrade/test_upgrade.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: mhdErrorExitDesc(errDesc)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - ignore
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 213
      start: 211
    functionDepth: 0
    functionLinenumber: 211
    functionLinenumberEnd: 213
    functionName: testErrorLog
    functionSourceFile: /src/mhd2/src/tests/upgrade/test_upgrade.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: testErrorLog(ignore)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - errDesc
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 215
      start: 213
    functionDepth: 0
    functionLinenumber: 213
    functionLinenumberEnd: 215
    functionName: testErrorLogDesc
    functionSourceFile: /src/mhd2/src/tests/upgrade/test_upgrade.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: testErrorLogDesc(errDesc)
  - 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: externalErrorExit
    functionSourceFile: /src/mhd2/src/tests/upgrade/test_upgrade.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: externalErrorExit()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - errDesc
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 219
      start: 217
    functionDepth: 0
    functionLinenumber: 217
    functionLinenumberEnd: 219
    functionName: externalErrorExitDesc
    functionSourceFile: /src/mhd2/src/tests/upgrade/test_upgrade.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: externalErrorExitDesc(errDesc)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - errDesc
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 221
      start: 219
    functionDepth: 0
    functionLinenumber: 219
    functionLinenumberEnd: 221
    functionName: testFailedExitDesc
    functionSourceFile: /src/mhd2/src/tests/upgrade/test_upgrade.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: testFailedExitDesc(errDesc)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - ignore
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 222
      start: 221
    functionDepth: 0
    functionLinenumber: 221
    functionLinenumberEnd: 222
    functionName: mhdErrorExit
    functionSourceFile: /src/mhd2/src/tests/upgrade/test_upgrade.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: mhdErrorExit(ignore)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - errDesc
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 223
      start: 222
    functionDepth: 0
    functionLinenumber: 222
    functionLinenumberEnd: 223
    functionName: mhdErrorExitDesc
    functionSourceFile: /src/mhd2/src/tests/upgrade/test_upgrade.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: mhdErrorExitDesc(errDesc)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - ignore
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 224
      start: 223
    functionDepth: 0
    functionLinenumber: 223
    functionLinenumberEnd: 224
    functionName: testErrorLog
    functionSourceFile: /src/mhd2/src/tests/upgrade/test_upgrade.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: testErrorLog(ignore)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - errDesc
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 225
      start: 224
    functionDepth: 0
    functionLinenumber: 224
    functionLinenumberEnd: 225
    functionName: testErrorLogDesc
    functionSourceFile: /src/mhd2/src/tests/upgrade/test_upgrade.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: testErrorLogDesc(errDesc)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: fflush
      Src: /src/mhd2/src/tests/upgrade/test_upgrade.c:268,1
    - Dst: fflush
      Src: /src/mhd2/src/tests/upgrade/test_upgrade.c:269,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 270
      start: 265
    functionDepth: 0
    functionLinenumber: 265
    functionLinenumberEnd: 270
    functionName: fflush_allstd
    functionSourceFile: /src/mhd2/src/tests/upgrade/test_upgrade.c
    functionUses: 0
    functionsReached:
    - fflush
    linkageType: ''
    returnType: void
    signature: void fflush_allstd (void)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: socketpair
      Src: /src/mhd2/src/tests/upgrade/test_upgrade.c:290,1
    - Dst: testErrorLogDesc
      Src: /src/mhd2/src/tests/upgrade/test_upgrade.c:295,1
    - Dst: fork
      Src: /src/mhd2/src/tests/upgrade/test_upgrade.c:298,1
    - Dst: mhd_socket_close
      Src: /src/mhd2/src/tests/upgrade/test_upgrade.c:302,1
    - Dst: mhd_socket_close
      Src: /src/mhd2/src/tests/upgrade/test_upgrade.c:305,1
    - Dst: close
      Src: /src/mhd2/src/tests/upgrade/test_upgrade.c:306,1
    - Dst: close
      Src: /src/mhd2/src/tests/upgrade/test_upgrade.c:307,1
    - Dst: dup2
      Src: /src/mhd2/src/tests/upgrade/test_upgrade.c:308,1
    - Dst: externalErrorExitDesc
      Src: /src/mhd2/src/tests/upgrade/test_upgrade.c:309,1
    - Dst: dup2
      Src: /src/mhd2/src/tests/upgrade/test_upgrade.c:310,1
    - Dst: externalErrorExitDesc
      Src: /src/mhd2/src/tests/upgrade/test_upgrade.c:311,1
    - Dst: mhd_socket_close
      Src: /src/mhd2/src/tests/upgrade/test_upgrade.c:312,1
    - Dst: snprintf
      Src: /src/mhd2/src/tests/upgrade/test_upgrade.c:315,1
    - Dst: execlp
      Src: /src/mhd2/src/tests/upgrade/test_upgrade.c:319,1
    - Dst: snprintf
      Src: /src/mhd2/src/tests/upgrade/test_upgrade.c:329,1
    - Dst: execlp
      Src: /src/mhd2/src/tests/upgrade/test_upgrade.c:333,1
    - Dst: _exit
      Src: /src/mhd2/src/tests/upgrade/test_upgrade.c:342,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 28
    argCount: 2
    argNames:
    - sock
    - port
    argTypes:
    - int*
    - uint16_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 343
      start: 282
    functionDepth: 1
    functionLinenumber: 282
    functionLinenumberEnd: 343
    functionName: gnutlscli_connect
    functionSourceFile: /src/mhd2/src/tests/upgrade/test_upgrade.c
    functionUses: 0
    functionsReached:
    - fork
    - close
    - mhd_socket_close
    - execlp
    - _exit
    - externalErrorExitDesc
    - socketpair
    - testErrorLogDesc
    - snprintf
    - dup2
    linkageType: ''
    returnType: pid_t
    signature: "pid_t gnutlscli_connect (int *sock,\n                   uint16_t port)"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: fcntl
      Src: /src/mhd2/src/tests/upgrade/test_upgrade.c:361,1
    - Dst: externalErrorExitDesc
      Src: /src/mhd2/src/tests/upgrade/test_upgrade.c:363,1
    - Dst: fcntl
      Src: /src/mhd2/src/tests/upgrade/test_upgrade.c:365,1
    - Dst: externalErrorExitDesc
      Src: /src/mhd2/src/tests/upgrade/test_upgrade.c:366,1
    - Dst: ioctlsocket
      Src: /src/mhd2/src/tests/upgrade/test_upgrade.c:370,1
    - Dst: externalErrorExitDesc
      Src: /src/mhd2/src/tests/upgrade/test_upgrade.c:371,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 9
    argCount: 1
    argNames:
    - fd
    argTypes:
    - MHD_Socket
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 373
      start: 355
    functionDepth: 1
    functionLinenumber: 355
    functionLinenumberEnd: 373
    functionName: make_blocking
    functionSourceFile: /src/mhd2/src/tests/upgrade/test_upgrade.c
    functionUses: 1
    functionsReached:
    - ioctlsocket
    - externalErrorExitDesc
    - fcntl
    linkageType: ''
    returnType: void
    signature: void make_blocking (MHD_Socket fd)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: fcntl
      Src: /src/mhd2/src/tests/upgrade/test_upgrade.c:390,1
    - Dst: externalErrorExitDesc
      Src: /src/mhd2/src/tests/upgrade/test_upgrade.c:392,1
    - Dst: fcntl
      Src: /src/mhd2/src/tests/upgrade/test_upgrade.c:394,1
    - Dst: externalErrorExitDesc
      Src: /src/mhd2/src/tests/upgrade/test_upgrade.c:395,1
    - Dst: ioctlsocket
      Src: /src/mhd2/src/tests/upgrade/test_upgrade.c:399,1
    - Dst: externalErrorExitDesc
      Src: /src/mhd2/src/tests/upgrade/test_upgrade.c:400,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 9
    argCount: 1
    argNames:
    - fd
    argTypes:
    - MHD_Socket
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 402
      start: 384
    functionDepth: 1
    functionLinenumber: 384
    functionLinenumberEnd: 402
    functionName: make_nonblocking
    functionSourceFile: /src/mhd2/src/tests/upgrade/test_upgrade.c
    functionUses: 0
    functionsReached:
    - ioctlsocket
    - externalErrorExitDesc
    - fcntl
    linkageType: ''
    returnType: void
    signature: void make_nonblocking (MHD_Socket fd)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: setsockopt
      Src: /src/mhd2/src/tests/upgrade/test_upgrade.c:416,1
    - Dst: fprintf
      Src: /src/mhd2/src/tests/upgrade/test_upgrade.c:424,1
    - Dst: strerror
      Src: /src/mhd2/src/tests/upgrade/test_upgrade.c:425,1
    - Dst: fprintf
      Src: /src/mhd2/src/tests/upgrade/test_upgrade.c:427,1
    - Dst: WSAGetLastError
      Src: /src/mhd2/src/tests/upgrade/test_upgrade.c:428,1
    - Dst: fflush
      Src: /src/mhd2/src/tests/upgrade/test_upgrade.c:430,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - fd
    argTypes:
    - MHD_Socket
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 432
      start: 410
    functionDepth: 0
    functionLinenumber: 410
    functionLinenumberEnd: 432
    functionName: make_nodelay
    functionSourceFile: /src/mhd2/src/tests/upgrade/test_upgrade.c
    functionUses: 0
    functionsReached:
    - fprintf
    - setsockopt
    - fflush
    - WSAGetLastError
    - strerror
    linkageType: ''
    returnType: void
    signature: void make_nodelay (MHD_Socket fd)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - s
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 487
      start: 486
    functionDepth: 0
    functionLinenumber: 486
    functionLinenumberEnd: 487
    functionName: wr_fd
    functionSourceFile: /src/mhd2/src/tests/upgrade/test_upgrade.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: wr_fd(s)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: make_blocking
      Src: /src/mhd2/src/tests/upgrade/test_upgrade.c:494,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - s
    argTypes:
    - struct wr_socket*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 496
      start: 490
    functionDepth: 0
    functionLinenumber: 490
    functionLinenumberEnd: 496
    functionName: wr_make_blocking
    functionSourceFile: /src/mhd2/src/tests/upgrade/test_upgrade.c
    functionUses: 0
    functionsReached:
    - make_blocking
    linkageType: ''
    returnType: void
    signature: void wr_make_blocking (struct wr_socket *s)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: make_nonblocking
      Src: /src/mhd2/src/tests/upgrade/test_upgrade.c:506,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - s
    argTypes:
    - struct wr_socket*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 508
      start: 502
    functionDepth: 2
    functionLinenumber: 502
    functionLinenumberEnd: 508
    functionName: wr_make_nonblocking
    functionSourceFile: /src/mhd2/src/tests/upgrade/test_upgrade.c
    functionUses: 0
    functionsReached:
    - make_nonblocking
    linkageType: ''
    returnType: void
    signature: void wr_make_nonblocking (struct wr_socket *s)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: malloc
      Src: /src/mhd2/src/tests/upgrade/test_upgrade.c:519,1
    - Dst: testErrorLogDesc
      Src: /src/mhd2/src/tests/upgrade/test_upgrade.c:522,1
    - Dst: socket
      Src: /src/mhd2/src/tests/upgrade/test_upgrade.c:527,1
    - Dst: make_nodelay
      Src: /src/mhd2/src/tests/upgrade/test_upgrade.c:531,1
    - Dst: testErrorLogDesc
      Src: /src/mhd2/src/tests/upgrade/test_upgrade.c:534,1
    - Dst: free
      Src: /src/mhd2/src/tests/upgrade/test_upgrade.c:535,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 16
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 537
      start: 515
    functionDepth: 1
    functionLinenumber: 515
    functionLinenumberEnd: 537
    functionName: wr_create_plain_sckt
    functionSourceFile: /src/mhd2/src/tests/upgrade/test_upgrade.c
    functionUses: 0
    functionsReached:
    - malloc
    - testErrorLogDesc
    - free
    - socket
    - make_nodelay
    linkageType: ''
    returnType: struct wr_socket
    signature: 'struct wr_socket *

      wr_create_plain_sckt (void)'
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: malloc
      Src: /src/mhd2/src/tests/upgrade/test_upgrade.c:548,1
    - Dst: testErrorLogDesc
      Src: /src/mhd2/src/tests/upgrade/test_upgrade.c:551,1
    - Dst: socket
      Src: /src/mhd2/src/tests/upgrade/test_upgrade.c:557,1
    - Dst: make_nodelay
      Src: /src/mhd2/src/tests/upgrade/test_upgrade.c:561,1
    - Dst: gnutls_init
      Src: /src/mhd2/src/tests/upgrade/test_upgrade.c:562,1
    - Dst: gnutls_set_default_priority
      Src: /src/mhd2/src/tests/upgrade/test_upgrade.c:564,1
    - Dst: gnutls_certificate_allocate_credentials
      Src: /src/mhd2/src/tests/upgrade/test_upgrade.c:567,1
    - Dst: gnutls_credentials_set
      Src: /src/mhd2/src/tests/upgrade/test_upgrade.c:569,1
    - Dst: gnutls_transport_set_int
      Src: /src/mhd2/src/tests/upgrade/test_upgrade.c:574,1
    - Dst: gnutls_transport_set_ptr
      Src: /src/mhd2/src/tests/upgrade/test_upgrade.c:576,1
    - Dst: testErrorLogDesc
      Src: /src/mhd2/src/tests/upgrade/test_upgrade.c:583,1
    - Dst: gnutls_certificate_free_credentials
      Src: /src/mhd2/src/tests/upgrade/test_upgrade.c:584,1
    - Dst: testErrorLogDesc
      Src: /src/mhd2/src/tests/upgrade/test_upgrade.c:587,1
    - Dst: testErrorLogDesc
      Src: /src/mhd2/src/tests/upgrade/test_upgrade.c:590,1
    - Dst: gnutls_deinit
      Src: /src/mhd2/src/tests/upgrade/test_upgrade.c:591,1
    - Dst: testErrorLogDesc
      Src: /src/mhd2/src/tests/upgrade/test_upgrade.c:594,1
    - Dst: mhd_socket_close
      Src: /src/mhd2/src/tests/upgrade/test_upgrade.c:595,1
    - Dst: testErrorLogDesc
      Src: /src/mhd2/src/tests/upgrade/test_upgrade.c:598,1
    - Dst: free
      Src: /src/mhd2/src/tests/upgrade/test_upgrade.c:599,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 34
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 602
      start: 544
    functionDepth: 1
    functionLinenumber: 544
    functionLinenumberEnd: 602
    functionName: wr_create_tls_sckt
    functionSourceFile: /src/mhd2/src/tests/upgrade/test_upgrade.c
    functionUses: 0
    functionsReached:
    - mhd_socket_close
    - gnutls_transport_set_ptr
    - gnutls_transport_set_int
    - malloc
    - gnutls_init
    - testErrorLogDesc
    - free
    - gnutls_deinit
    - gnutls_set_default_priority
    - gnutls_certificate_allocate_credentials
    - socket
    - make_nodelay
    - gnutls_credentials_set
    - gnutls_certificate_free_credentials
    linkageType: ''
    returnType: struct wr_socket
    signature: 'struct wr_socket *

      wr_create_tls_sckt (void)'
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: malloc
      Src: /src/mhd2/src/tests/upgrade/test_upgrade.c:616,1
    - Dst: testErrorLogDesc
      Src: /src/mhd2/src/tests/upgrade/test_upgrade.c:620,1
    - Dst: wr_make_nonblocking
      Src: /src/mhd2/src/tests/upgrade/test_upgrade.c:627,1
    - Dst: make_nodelay
      Src: /src/mhd2/src/tests/upgrade/test_upgrade.c:628,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 12
    argCount: 1
    argNames:
    - plain_sk
    argTypes:
    - MHD_Socket
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 630
      start: 613
    functionDepth: 3
    functionLinenumber: 613
    functionLinenumberEnd: 630
    functionName: wr_create_from_plain_sckt
    functionSourceFile: /src/mhd2/src/tests/upgrade/test_upgrade.c
    functionUses: 0
    functionsReached:
    - malloc
    - make_nodelay
    - wr_make_nonblocking
    - testErrorLogDesc
    linkageType: ''
    returnType: struct wr_socket
    signature: 'struct wr_socket *

      wr_create_from_plain_sckt (MHD_Socket plain_sk)'
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - s
    argTypes:
    - struct wr_socket*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 646
      start: 642
    functionDepth: 0
    functionLinenumber: 642
    functionLinenumberEnd: 646
    functionName: wr_is_eof_received
    functionSourceFile: /src/mhd2/src/tests/upgrade/test_upgrade.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int wr_is_eof_received (struct wr_socket *s)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: externalErrorExitDesc
      Src: /src/mhd2/src/tests/upgrade/test_upgrade.c:670,1
    - Dst: FD_ZERO
      Src: /src/mhd2/src/tests/upgrade/test_upgrade.c:672,1
    - Dst: FD_SET
      Src: /src/mhd2/src/tests/upgrade/test_upgrade.c:673,1
    - Dst: select
      Src: /src/mhd2/src/tests/upgrade/test_upgrade.c:690,1
    - Dst: select
      Src: /src/mhd2/src/tests/upgrade/test_upgrade.c:692,1
    - Dst: mhd_SCKT_ERR_IS_EINTR
      Src: /src/mhd2/src/tests/upgrade/test_upgrade.c:693,1
    - Dst: mhd_SCKT_GET_LERR
      Src: /src/mhd2/src/tests/upgrade/test_upgrade.c:693,1
    - Dst: fprintf
      Src: /src/mhd2/src/tests/upgrade/test_upgrade.c:699,1
    - Dst: fprintf
      Src: /src/mhd2/src/tests/upgrade/test_upgrade.c:703,1
    - Dst: strerror
      Src: /src/mhd2/src/tests/upgrade/test_upgrade.c:703,1
    - Dst: fprintf
      Src: /src/mhd2/src/tests/upgrade/test_upgrade.c:705,1
    - Dst: WSAGetLastError
      Src: /src/mhd2/src/tests/upgrade/test_upgrade.c:706,1
    - Dst: fprintf
      Src: /src/mhd2/src/tests/upgrade/test_upgrade.c:709,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 26
    argCount: 3
    argNames:
    - s
    - timeout_ms
    - wait_for
    argTypes:
    - struct wr_socket*
    - int
    - enum wr_wait_for_type
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 712
      start: 658
    functionDepth: 1
    functionLinenumber: 658
    functionLinenumberEnd: 712
    functionName: wr_wait_socket_ready_noabort_
    functionSourceFile: /src/mhd2/src/tests/upgrade/test_upgrade.c
    functionUses: 0
    functionsReached:
    - FD_ZERO
    - fprintf
    - externalErrorExitDesc
    - mhd_SCKT_ERR_IS_EINTR
    - mhd_SCKT_GET_LERR
    - WSAGetLastError
    - select
    - strerror
    - FD_SET
    linkageType: ''
    returnType: bool
    signature: "bool wr_wait_socket_ready_noabort_ (struct wr_socket *s,\n                               int
      timeout_ms,\n                               enum wr_wait_for_type wait_for)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: wr_wait_socket_ready_noabort_
      Src: /src/mhd2/src/tests/upgrade/test_upgrade.c:720,1
    - Dst: mhdErrorExitDesc
      Src: /src/mhd2/src/tests/upgrade/test_upgrade.c:724,1
    - Dst: mhdErrorExitDesc
      Src: /src/mhd2/src/tests/upgrade/test_upgrade.c:726,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 3
    argNames:
    - s
    - timeout_ms
    - wait_for
    argTypes:
    - struct wr_socket*
    - int
    - enum wr_wait_for_type
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 727
      start: 715
    functionDepth: 2
    functionLinenumber: 715
    functionLinenumberEnd: 727
    functionName: wr_wait_socket_ready_
    functionSourceFile: /src/mhd2/src/tests/upgrade/test_upgrade.c
    functionUses: 0
    functionsReached:
    - mhdErrorExitDesc
    - wr_wait_socket_ready_noabort_
    linkageType: ''
    returnType: void
    signature: "void wr_wait_socket_ready_ (struct wr_socket *s,\n                       int
      timeout_ms,\n                       enum wr_wait_for_type wait_for)"
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: connect
      Src: /src/mhd2/src/tests/upgrade/test_upgrade.c:745,1
    - Dst: mhd_SCKT_GET_LERR
      Src: /src/mhd2/src/tests/upgrade/test_upgrade.c:750,1
    - Dst: connect
      Src: /src/mhd2/src/tests/upgrade/test_upgrade.c:754,1
    - Dst: mhd_SCKT_ERR_IS_INPROGRESS
      Src: /src/mhd2/src/tests/upgrade/test_upgrade.c:766,1
    - Dst: mhd_SCKT_ERR_IS_EAGAIN
      Src: /src/mhd2/src/tests/upgrade/test_upgrade.c:767,1
    - Dst: wr_wait_socket_ready_noabort_
      Src: /src/mhd2/src/tests/upgrade/test_upgrade.c:769,1
    - Dst: testErrorLogDesc
      Src: /src/mhd2/src/tests/upgrade/test_upgrade.c:772,1
    - Dst: testErrorLogDesc
      Src: /src/mhd2/src/tests/upgrade/test_upgrade.c:790,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 28
    argCount: 4
    argNames:
    - s
    - addr
    - length
    - timeout_ms
    argTypes:
    - struct wr_socket*
    - struct sockaddr*
    - unsigned int
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 793
      start: 739
    functionDepth: 2
    functionLinenumber: 739
    functionLinenumberEnd: 793
    functionName: wr_connect_tmo
    functionSourceFile: /src/mhd2/src/tests/upgrade/test_upgrade.c
    functionUses: 0
    functionsReached:
    - mhd_SCKT_ERR_IS_EAGAIN
    - testErrorLogDesc
    - wr_wait_socket_ready_noabort_
    - mhd_SCKT_ERR_IS_INPROGRESS
    - mhd_SCKT_GET_LERR
    - connect
    linkageType: ''
    returnType: int
    signature: "int wr_connect_tmo (struct wr_socket *s,\n                const struct
      sockaddr *addr,\n                unsigned int length,\n                int timeout_ms)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: wr_connect_tmo
      Src: /src/mhd2/src/tests/upgrade/test_upgrade.c:808,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - s
    - addr
    - length
    argTypes:
    - struct wr_socket*
    - struct sockaddr*
    - unsigned int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 809
      start: 803
    functionDepth: 3
    functionLinenumber: 803
    functionLinenumberEnd: 809
    functionName: wr_connect
    functionSourceFile: /src/mhd2/src/tests/upgrade/test_upgrade.c
    functionUses: 0
    functionsReached:
    - wr_connect_tmo
    linkageType: ''
    returnType: int
    signature: "int wr_connect (struct wr_socket *s,\n            const struct sockaddr
      *addr,\n            unsigned int length)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: gnutls_handshake
      Src: /src/mhd2/src/tests/upgrade/test_upgrade.c:818,1
    - Dst: wr_wait_socket_ready_
      Src: /src/mhd2/src/tests/upgrade/test_upgrade.c:822,1
    - Dst: gnutls_record_get_direction
      Src: /src/mhd2/src/tests/upgrade/test_upgrade.c:823,1
    - Dst: gnutls_handshake
      Src: /src/mhd2/src/tests/upgrade/test_upgrade.c:825,1
    - Dst: fprintf
      Src: /src/mhd2/src/tests/upgrade/test_upgrade.c:831,1
    - Dst: gnutls_strerror
      Src: /src/mhd2/src/tests/upgrade/test_upgrade.c:832,1
    - Dst: fprintf
      Src: /src/mhd2/src/tests/upgrade/test_upgrade.c:834,1
    - Dst: gnutls_strerror_name
      Src: /src/mhd2/src/tests/upgrade/test_upgrade.c:834,1
    - Dst: fprintf
      Src: /src/mhd2/src/tests/upgrade/test_upgrade.c:836,1
    - Dst: testErrorLogDesc
      Src: /src/mhd2/src/tests/upgrade/test_upgrade.c:838,1
    - Dst: mhd_SCKT_SET_LERR
      Src: /src/mhd2/src/tests/upgrade/test_upgrade.c:839,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 14
    argCount: 2
    argNames:
    - s
    - timeout_ms
    argTypes:
    - struct wr_socket*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 842
      start: 814
    functionDepth: 3
    functionLinenumber: 814
    functionLinenumberEnd: 842
    functionName: wr_handshake_tmo_
    functionSourceFile: /src/mhd2/src/tests/upgrade/test_upgrade.c
    functionUses: 0
    functionsReached:
    - wr_wait_socket_ready_
    - fprintf
    - gnutls_handshake
    - gnutls_record_get_direction
    - gnutls_strerror_name
    - testErrorLogDesc
    - gnutls_strerror
    - mhd_SCKT_SET_LERR
    linkageType: ''
    returnType: bool
    signature: "bool wr_handshake_tmo_ (struct wr_socket *s,\n                   int
      timeout_ms)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: wr_handshake_tmo_
      Src: /src/mhd2/src/tests/upgrade/test_upgrade.c:850,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - s
    argTypes:
    - struct wr_socket*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 851
      start: 847
    functionDepth: 4
    functionLinenumber: 847
    functionLinenumberEnd: 851
    functionName: wr_handshake_
    functionSourceFile: /src/mhd2/src/tests/upgrade/test_upgrade.c
    functionUses: 0
    functionsReached:
    - wr_handshake_tmo_
    linkageType: ''
    returnType: bool
    signature: bool wr_handshake_ (struct wr_socket *s)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: mhd_sys_send
      Src: /src/mhd2/src/tests/upgrade/test_upgrade.c:882,1
    - Dst: mhd_SCKT_GET_LERR
      Src: /src/mhd2/src/tests/upgrade/test_upgrade.c:885,1
    - Dst: mhd_SCKT_ERR_IS_EAGAIN
      Src: /src/mhd2/src/tests/upgrade/test_upgrade.c:886,1
    - Dst: mhd_SCKT_ERR_IS_EINTR
      Src: /src/mhd2/src/tests/upgrade/test_upgrade.c:886,1
    - Dst: wr_wait_socket_ready_
      Src: /src/mhd2/src/tests/upgrade/test_upgrade.c:888,1
    - Dst: wr_handshake_tmo_
      Src: /src/mhd2/src/tests/upgrade/test_upgrade.c:896,1
    - Dst: gnutls_record_send
      Src: /src/mhd2/src/tests/upgrade/test_upgrade.c:901,1
    - Dst: wr_wait_socket_ready_
      Src: /src/mhd2/src/tests/upgrade/test_upgrade.c:906,1
    - Dst: gnutls_record_get_direction
      Src: /src/mhd2/src/tests/upgrade/test_upgrade.c:907,1
    - Dst: fprintf
      Src: /src/mhd2/src/tests/upgrade/test_upgrade.c:910,1
    - Dst: gnutls_strerror
      Src: /src/mhd2/src/tests/upgrade/test_upgrade.c:911,1
    - Dst: fprintf
      Src: /src/mhd2/src/tests/upgrade/test_upgrade.c:913,1
    - Dst: gnutls_strerror_name
      Src: /src/mhd2/src/tests/upgrade/test_upgrade.c:913,1
    - Dst: fprintf
      Src: /src/mhd2/src/tests/upgrade/test_upgrade.c:915,1
    - Dst: testErrorLogDesc
      Src: /src/mhd2/src/tests/upgrade/test_upgrade.c:917,1
    - Dst: mhd_SCKT_SET_LERR
      Src: /src/mhd2/src/tests/upgrade/test_upgrade.c:918,1
    - Dst: testErrorLogDesc
      Src: /src/mhd2/src/tests/upgrade/test_upgrade.c:922,1
    - Dst: mhd_SCKT_SET_LERR
      Src: /src/mhd2/src/tests/upgrade/test_upgrade.c:924,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 33
    argCount: 4
    argNames:
    - s
    - buf
    - len
    - timeout_ms
    argTypes:
    - struct wr_socket*
    - void*
    - size_t
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 926
      start: 870
    functionDepth: 4
    functionLinenumber: 870
    functionLinenumberEnd: 926
    functionName: wr_send_tmo
    functionSourceFile: /src/mhd2/src/tests/upgrade/test_upgrade.c
    functionUses: 0
    functionsReached:
    - wr_handshake_tmo_
    - wr_wait_socket_ready_
    - fprintf
    - mhd_sys_send
    - gnutls_strerror_name
    - gnutls_record_get_direction
    - mhd_SCKT_ERR_IS_EAGAIN
    - testErrorLogDesc
    - gnutls_strerror
    - mhd_SCKT_ERR_IS_EINTR
    - mhd_SCKT_SET_LERR
    - mhd_SCKT_GET_LERR
    - gnutls_record_send
    linkageType: ''
    returnType: ssize_t
    signature: "ssize_t wr_send_tmo (struct wr_socket *s,\n             const void
      *buf,\n             size_t len,\n             int timeout_ms)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: wr_send_tmo
      Src: /src/mhd2/src/tests/upgrade/test_upgrade.c:943,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - s
    - buf
    - len
    argTypes:
    - struct wr_socket*
    - void*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 944
      start: 938
    functionDepth: 5
    functionLinenumber: 938
    functionLinenumberEnd: 944
    functionName: wr_send
    functionSourceFile: /src/mhd2/src/tests/upgrade/test_upgrade.c
    functionUses: 0
    functionsReached:
    - wr_send_tmo
    linkageType: ''
    returnType: ssize_t
    signature: "ssize_t wr_send (struct wr_socket *s,\n         const void *buf,\n
      \        size_t len)"
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: mhd_sys_recv
      Src: /src/mhd2/src/tests/upgrade/test_upgrade.c:970,1
    - Dst: mhd_SCKT_GET_LERR
      Src: /src/mhd2/src/tests/upgrade/test_upgrade.c:975,1
    - Dst: mhd_SCKT_ERR_IS_EAGAIN
      Src: /src/mhd2/src/tests/upgrade/test_upgrade.c:976,1
    - Dst: mhd_SCKT_ERR_IS_EINTR
      Src: /src/mhd2/src/tests/upgrade/test_upgrade.c:976,1
    - Dst: wr_wait_socket_ready_
      Src: /src/mhd2/src/tests/upgrade/test_upgrade.c:978,1
    - Dst: wr_handshake_tmo_
      Src: /src/mhd2/src/tests/upgrade/test_upgrade.c:986,1
    - Dst: gnutls_record_recv
      Src: /src/mhd2/src/tests/upgrade/test_upgrade.c:991,1
    - Dst: wr_wait_socket_ready_
      Src: /src/mhd2/src/tests/upgrade/test_upgrade.c:998,1
    - Dst: gnutls_record_get_direction
      Src: /src/mhd2/src/tests/upgrade/test_upgrade.c:999,1
    - Dst: fprintf
      Src: /src/mhd2/src/tests/upgrade/test_upgrade.c:1003,1
    - Dst: gnutls_strerror
      Src: /src/mhd2/src/tests/upgrade/test_upgrade.c:1004,1
    - Dst: fprintf
      Src: /src/mhd2/src/tests/upgrade/test_upgrade.c:1006,1
    - Dst: gnutls_strerror_name
      Src: /src/mhd2/src/tests/upgrade/test_upgrade.c:1006,1
    - Dst: fprintf
      Src: /src/mhd2/src/tests/upgrade/test_upgrade.c:1008,1
    - Dst: testErrorLogDesc
      Src: /src/mhd2/src/tests/upgrade/test_upgrade.c:1010,1
    - Dst: mhd_SCKT_SET_LERR
      Src: /src/mhd2/src/tests/upgrade/test_upgrade.c:1011,1
    - Dst: mhd_SCKT_SET_LERR
      Src: /src/mhd2/src/tests/upgrade/test_upgrade.c:1015,1
    CyclomaticComplexity: 17
    EdgeCount: 17
    ICount: 37
    argCount: 4
    argNames:
    - s
    - buf
    - len
    - timeout_ms
    argTypes:
    - struct wr_socket*
    - void*
    - size_t
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1017
      start: 958
    functionDepth: 4
    functionLinenumber: 958
    functionLinenumberEnd: 1017
    functionName: wr_recv_tmo
    functionSourceFile: /src/mhd2/src/tests/upgrade/test_upgrade.c
    functionUses: 0
    functionsReached:
    - wr_handshake_tmo_
    - wr_wait_socket_ready_
    - fprintf
    - gnutls_strerror_name
    - gnutls_record_get_direction
    - mhd_sys_recv
    - mhd_SCKT_ERR_IS_EAGAIN
    - testErrorLogDesc
    - gnutls_strerror
    - mhd_SCKT_ERR_IS_EINTR
    - mhd_SCKT_SET_LERR
    - mhd_SCKT_GET_LERR
    - gnutls_record_recv
    linkageType: ''
    returnType: ssize_t
    signature: "ssize_t wr_recv_tmo (struct wr_socket *s,\n             void *buf,\n
      \            size_t len,\n             int timeout_ms)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: wr_recv_tmo
      Src: /src/mhd2/src/tests/upgrade/test_upgrade.c:1034,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - s
    - buf
    - len
    argTypes:
    - struct wr_socket*
    - void*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1035
      start: 1029
    functionDepth: 5
    functionLinenumber: 1029
    functionLinenumberEnd: 1035
    functionName: wr_recv
    functionSourceFile: /src/mhd2/src/tests/upgrade/test_upgrade.c
    functionUses: 0
    functionsReached:
    - wr_recv_tmo
    linkageType: ''
    returnType: ssize_t
    signature: "ssize_t wr_recv (struct wr_socket *s,\n         void *buf,\n         size_t
      len)"
  - BBCount: 11
    BranchProfiles: []
    Callsites:
    - Dst: externalErrorExitDesc
      Src: /src/mhd2/src/tests/upgrade/test_upgrade.c:1056,1
    - Dst: externalErrorExitDesc
      Src: /src/mhd2/src/tests/upgrade/test_upgrade.c:1059,1
    - Dst: shutdown
      Src: /src/mhd2/src/tests/upgrade/test_upgrade.c:1065,1
    - Dst: wr_handshake_tmo_
      Src: /src/mhd2/src/tests/upgrade/test_upgrade.c:1071,1
    - Dst: gnutls_bye
      Src: /src/mhd2/src/tests/upgrade/test_upgrade.c:1077,1
    - Dst: shutdown
      Src: /src/mhd2/src/tests/upgrade/test_upgrade.c:1083,1
    - Dst: wr_wait_socket_ready_
      Src: /src/mhd2/src/tests/upgrade/test_upgrade.c:1089,1
    - Dst: gnutls_record_get_direction
      Src: /src/mhd2/src/tests/upgrade/test_upgrade.c:1090,1
    - Dst: fprintf
      Src: /src/mhd2/src/tests/upgrade/test_upgrade.c:1094,1
    - Dst: gnutls_strerror
      Src: /src/mhd2/src/tests/upgrade/test_upgrade.c:1095,1
    - Dst: fprintf
      Src: /src/mhd2/src/tests/upgrade/test_upgrade.c:1097,1
    - Dst: gnutls_strerror_name
      Src: /src/mhd2/src/tests/upgrade/test_upgrade.c:1097,1
    - Dst: fprintf
      Src: /src/mhd2/src/tests/upgrade/test_upgrade.c:1099,1
    - Dst: testErrorLogDesc
      Src: /src/mhd2/src/tests/upgrade/test_upgrade.c:1101,1
    - Dst: mhd_SCKT_SET_LERR
      Src: /src/mhd2/src/tests/upgrade/test_upgrade.c:1102,1
    - Dst: mhd_SCKT_SET_LERR
      Src: /src/mhd2/src/tests/upgrade/test_upgrade.c:1106,1
    CyclomaticComplexity: 15
    EdgeCount: 15
    ICount: 40
    argCount: 3
    argNames:
    - s
    - how
    - timeout_ms
    argTypes:
    - struct wr_socket*
    - int
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1108
      start: 1046
    functionDepth: 4
    functionLinenumber: 1046
    functionLinenumberEnd: 1108
    functionName: wr_shutdown_tmo
    functionSourceFile: /src/mhd2/src/tests/upgrade/test_upgrade.c
    functionUses: 0
    functionsReached:
    - wr_handshake_tmo_
    - wr_wait_socket_ready_
    - fprintf
    - gnutls_strerror_name
    - gnutls_record_get_direction
    - externalErrorExitDesc
    - testErrorLogDesc
    - gnutls_bye
    - gnutls_strerror
    - mhd_SCKT_SET_LERR
    - shutdown
    linkageType: ''
    returnType: int
    signature: int wr_shutdown_tmo (struct wr_socket *s, int how, int timeout_ms)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: wr_shutdown_tmo
      Src: /src/mhd2/src/tests/upgrade/test_upgrade.c:1119,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - s
    - how
    argTypes:
    - struct wr_socket*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1120
      start: 1116
    functionDepth: 5
    functionLinenumber: 1116
    functionLinenumberEnd: 1120
    functionName: wr_shutdown
    functionSourceFile: /src/mhd2/src/tests/upgrade/test_upgrade.c
    functionUses: 0
    functionsReached:
    - wr_shutdown_tmo
    linkageType: ''
    returnType: int
    signature: int wr_shutdown (struct wr_socket *s, int how)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: mhd_socket_close
      Src: /src/mhd2/src/tests/upgrade/test_upgrade.c:1131,1
    - Dst: gnutls_deinit
      Src: /src/mhd2/src/tests/upgrade/test_upgrade.c:1135,1
    - Dst: gnutls_certificate_free_credentials
      Src: /src/mhd2/src/tests/upgrade/test_upgrade.c:1136,1
    - Dst: free
      Src: /src/mhd2/src/tests/upgrade/test_upgrade.c:1139,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 1
    argNames:
    - s
    argTypes:
    - struct wr_socket*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1141
      start: 1128
    functionDepth: 1
    functionLinenumber: 1128
    functionLinenumberEnd: 1141
    functionName: wr_close
    functionSourceFile: /src/mhd2/src/tests/upgrade/test_upgrade.c
    functionUses: 0
    functionsReached:
    - free
    - gnutls_deinit
    - mhd_socket_close
    - gnutls_certificate_free_credentials
    linkageType: ''
    returnType: int
    signature: int wr_close (struct wr_socket *s)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: wr_make_nonblocking
      Src: /src/mhd2/src/tests/upgrade/test_upgrade.c:1179,1
    - Dst: wr_send
      Src: /src/mhd2/src/tests/upgrade/test_upgrade.c:1182,1
    - Dst: mhd_SCKT_ERR_IS_EAGAIN
      Src: /src/mhd2/src/tests/upgrade/test_upgrade.c:1187,1
    - Dst: mhd_SCKT_GET_LERR
      Src: /src/mhd2/src/tests/upgrade/test_upgrade.c:1187,1
    - Dst: mhd_SCKT_ERR_IS_EINTR
      Src: /src/mhd2/src/tests/upgrade/test_upgrade.c:1188,1
    - Dst: mhd_SCKT_GET_LERR
      Src: /src/mhd2/src/tests/upgrade/test_upgrade.c:1188,1
    - Dst: testFailedExitDesc
      Src: /src/mhd2/src/tests/upgrade/test_upgrade.c:1193,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 12
    argCount: 3
    argNames:
    - sock
    - data
    - data_size
    argTypes:
    - struct wr_socket*
    - void*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1196
      start: 1170
    functionDepth: 6
    functionLinenumber: 1170
    functionLinenumberEnd: 1196
    functionName: send_all
    functionSourceFile: /src/mhd2/src/tests/upgrade/test_upgrade.c
    functionUses: 1
    functionsReached:
    - wr_send
    - mhd_SCKT_ERR_IS_EAGAIN
    - testFailedExitDesc
    - mhd_SCKT_ERR_IS_EINTR
    - mhd_SCKT_GET_LERR
    - wr_make_nonblocking
    linkageType: ''
    returnType: void
    signature: "void send_all (struct wr_socket *sock,\n          const void *data,\n
      \         size_t data_size)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - sk
    - ','
    - st
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1200
      start: 1199
    functionDepth: 0
    functionLinenumber: 1199
    functionLinenumberEnd: 1200
    functionName: send_all_stext
    functionSourceFile: /src/mhd2/src/tests/upgrade/test_upgrade.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: send_all_stext(sk, st)
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: wr_make_nonblocking
      Src: /src/mhd2/src/tests/upgrade/test_upgrade.c:1214,1
    - Dst: wr_recv
      Src: /src/mhd2/src/tests/upgrade/test_upgrade.c:1219,1
    - Dst: mhd_SCKT_ERR_IS_EAGAIN
      Src: /src/mhd2/src/tests/upgrade/test_upgrade.c:1224,1
    - Dst: mhd_SCKT_GET_LERR
      Src: /src/mhd2/src/tests/upgrade/test_upgrade.c:1224,1
    - Dst: mhd_SCKT_ERR_IS_EINTR
      Src: /src/mhd2/src/tests/upgrade/test_upgrade.c:1226,1
    - Dst: mhd_SCKT_GET_LERR
      Src: /src/mhd2/src/tests/upgrade/test_upgrade.c:1226,1
    - Dst: testFailedExitDesc
      Src: /src/mhd2/src/tests/upgrade/test_upgrade.c:1228,1
    - Dst: testFailedExitDesc
      Src: /src/mhd2/src/tests/upgrade/test_upgrade.c:1231,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 30
    argCount: 1
    argNames:
    - sock
    argTypes:
    - struct wr_socket*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1250
      start: 1206
    functionDepth: 6
    functionLinenumber: 1206
    functionLinenumberEnd: 1250
    functionName: recv_hdr
    functionSourceFile: /src/mhd2/src/tests/upgrade/test_upgrade.c
    functionUses: 0
    functionsReached:
    - mhd_SCKT_ERR_IS_EAGAIN
    - testFailedExitDesc
    - mhd_SCKT_ERR_IS_EINTR
    - wr_recv
    - mhd_SCKT_GET_LERR
    - wr_make_nonblocking
    linkageType: ''
    returnType: void
    signature: void recv_hdr (struct wr_socket *sock)
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: malloc
      Src: /src/mhd2/src/tests/upgrade/test_upgrade.c:1262,1
    - Dst: externalErrorExitDesc
      Src: /src/mhd2/src/tests/upgrade/test_upgrade.c:1264,1
    - Dst: wr_make_nonblocking
      Src: /src/mhd2/src/tests/upgrade/test_upgrade.c:1266,1
    - Dst: wr_recv
      Src: /src/mhd2/src/tests/upgrade/test_upgrade.c:1269,1
    - Dst: mhd_SCKT_ERR_IS_EAGAIN
      Src: /src/mhd2/src/tests/upgrade/test_upgrade.c:1274,1
    - Dst: mhd_SCKT_GET_LERR
      Src: /src/mhd2/src/tests/upgrade/test_upgrade.c:1274,1
    - Dst: mhd_SCKT_ERR_IS_EINTR
      Src: /src/mhd2/src/tests/upgrade/test_upgrade.c:1275,1
    - Dst: mhd_SCKT_GET_LERR
      Src: /src/mhd2/src/tests/upgrade/test_upgrade.c:1275,1
    - Dst: testFailedExitDesc
      Src: /src/mhd2/src/tests/upgrade/test_upgrade.c:1280,1
    - Dst: fprintf
      Src: /src/mhd2/src/tests/upgrade/test_upgrade.c:1284,1
    - Dst: mhdErrorExitDesc
      Src: /src/mhd2/src/tests/upgrade/test_upgrade.c:1288,1
    - Dst: testFailedExitDesc
      Src: /src/mhd2/src/tests/upgrade/test_upgrade.c:1291,1
    - Dst: memcmp
      Src: /src/mhd2/src/tests/upgrade/test_upgrade.c:1292,1
    - Dst: fprintf
      Src: /src/mhd2/src/tests/upgrade/test_upgrade.c:1294,1
    - Dst: mhdErrorExit
      Src: /src/mhd2/src/tests/upgrade/test_upgrade.c:1298,1
    - Dst: memcmp
      Src: /src/mhd2/src/tests/upgrade/test_upgrade.c:1301,1
    - Dst: fprintf
      Src: /src/mhd2/src/tests/upgrade/test_upgrade.c:1303,1
    - Dst: mhdErrorExit
      Src: /src/mhd2/src/tests/upgrade/test_upgrade.c:1307,1
    - Dst: free
      Src: /src/mhd2/src/tests/upgrade/test_upgrade.c:1309,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 30
    argCount: 3
    argNames:
    - sock
    - data
    - data_size
    argTypes:
    - struct wr_socket*
    - void*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1310
      start: 1253
    functionDepth: 6
    functionLinenumber: 1253
    functionLinenumberEnd: 1310
    functionName: recv_all
    functionSourceFile: /src/mhd2/src/tests/upgrade/test_upgrade.c
    functionUses: 0
    functionsReached:
    - fprintf
    - malloc
    - externalErrorExitDesc
    - mhdErrorExitDesc
    - mhd_SCKT_ERR_IS_EAGAIN
    - testFailedExitDesc
    - free
    - mhd_SCKT_ERR_IS_EINTR
    - wr_recv
    - mhdErrorExit
    - mhd_SCKT_GET_LERR
    - memcmp
    - wr_make_nonblocking
    linkageType: ''
    returnType: void
    signature: "void recv_all (struct wr_socket *sock,\n          const void *data,\n
      \         size_t data_size)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - sk
    - ','
    - st
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1314
      start: 1313
    functionDepth: 0
    functionLinenumber: 1313
    functionLinenumberEnd: 1314
    functionName: recv_all_stext
    functionSourceFile: /src/mhd2/src/tests/upgrade/test_upgrade.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: recv_all_stext(sk, st)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: wr_shutdown
      Src: /src/mhd2/src/tests/upgrade/test_upgrade.c:1324,1
    - Dst: externalErrorExitDesc
      Src: /src/mhd2/src/tests/upgrade/test_upgrade.c:1329,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 3
    argCount: 1
    argNames:
    - sock
    argTypes:
    - struct wr_socket*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1330
      start: 1321
    functionDepth: 6
    functionLinenumber: 1321
    functionLinenumberEnd: 1330
    functionName: send_eof
    functionSourceFile: /src/mhd2/src/tests/upgrade/test_upgrade.c
    functionUses: 0
    functionsReached:
    - wr_shutdown
    - externalErrorExitDesc
    linkageType: ''
    returnType: void
    signature: void send_eof (struct wr_socket *sock)
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: wr_make_nonblocking
      Src: /src/mhd2/src/tests/upgrade/test_upgrade.c:1347,1
    - Dst: wr_recv
      Src: /src/mhd2/src/tests/upgrade/test_upgrade.c:1350,1
    - Dst: mhd_SCKT_ERR_IS_EAGAIN
      Src: /src/mhd2/src/tests/upgrade/test_upgrade.c:1355,1
    - Dst: mhd_SCKT_GET_LERR
      Src: /src/mhd2/src/tests/upgrade/test_upgrade.c:1355,1
    - Dst: mhd_SCKT_ERR_IS_EINTR
      Src: /src/mhd2/src/tests/upgrade/test_upgrade.c:1356,1
    - Dst: mhd_SCKT_GET_LERR
      Src: /src/mhd2/src/tests/upgrade/test_upgrade.c:1356,1
    - Dst: testFailedExitDesc
      Src: /src/mhd2/src/tests/upgrade/test_upgrade.c:1361,1
    - Dst: fprintf
      Src: /src/mhd2/src/tests/upgrade/test_upgrade.c:1376,1
    - Dst: mhdErrorExit
      Src: /src/mhd2/src/tests/upgrade/test_upgrade.c:1378,1
    - Dst: fprintf
      Src: /src/mhd2/src/tests/upgrade/test_upgrade.c:1380,1
    - Dst: mhdErrorExit
      Src: /src/mhd2/src/tests/upgrade/test_upgrade.c:1383,1
    - Dst: mhdErrorExitDesc
      Src: /src/mhd2/src/tests/upgrade/test_upgrade.c:1386,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 28
    argCount: 1
    argNames:
    - sock
    argTypes:
    - struct wr_socket*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1387
      start: 1339
    functionDepth: 6
    functionLinenumber: 1339
    functionLinenumberEnd: 1387
    functionName: receive_eof
    functionSourceFile: /src/mhd2/src/tests/upgrade/test_upgrade.c
    functionUses: 0
    functionsReached:
    - fprintf
    - mhdErrorExitDesc
    - mhd_SCKT_ERR_IS_EAGAIN
    - testFailedExitDesc
    - mhd_SCKT_ERR_IS_EINTR
    - wr_recv
    - mhdErrorExit
    - mhd_SCKT_GET_LERR
    - wr_make_nonblocking
    linkageType: ''
    returnType: void
    signature: void receive_eof (struct wr_socket *sock)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: malloc
      Src: /src/mhd2/src/tests/upgrade/test_upgrade.c:1401,1
    - Dst: externalErrorExitDesc
      Src: /src/mhd2/src/tests/upgrade/test_upgrade.c:1403,1
    - Dst: MHD_upgraded_recv
      Src: /src/mhd2/src/tests/upgrade/test_upgrade.c:1408,1
    - Dst: mhdErrorExitDesc
      Src: /src/mhd2/src/tests/upgrade/test_upgrade.c:1413,1
    - Dst: fprintf
      Src: /src/mhd2/src/tests/upgrade/test_upgrade.c:1417,1
    - Dst: mhdErrorExitDesc
      Src: /src/mhd2/src/tests/upgrade/test_upgrade.c:1421,1
    - Dst: mhdErrorExitDesc
      Src: /src/mhd2/src/tests/upgrade/test_upgrade.c:1424,1
    - Dst: memcmp
      Src: /src/mhd2/src/tests/upgrade/test_upgrade.c:1426,1
    - Dst: fprintf
      Src: /src/mhd2/src/tests/upgrade/test_upgrade.c:1428,1
    - Dst: mhdErrorExit
      Src: /src/mhd2/src/tests/upgrade/test_upgrade.c:1432,1
    - Dst: memcmp
      Src: /src/mhd2/src/tests/upgrade/test_upgrade.c:1435,1
    - Dst: fprintf
      Src: /src/mhd2/src/tests/upgrade/test_upgrade.c:1437,1
    - Dst: mhdErrorExit
      Src: /src/mhd2/src/tests/upgrade/test_upgrade.c:1441,1
    - Dst: free
      Src: /src/mhd2/src/tests/upgrade/test_upgrade.c:1443,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 23
    argCount: 3
    argNames:
    - urh
    - data
    - data_size
    argTypes:
    - struct MHD_UpgradedHandle*
    - void*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1444
      start: 1392
    functionDepth: 1
    functionLinenumber: 1392
    functionLinenumberEnd: 1444
    functionName: recv_upg_all
    functionSourceFile: /src/mhd2/src/tests/upgrade/test_upgrade.c
    functionUses: 0
    functionsReached:
    - fprintf
    - malloc
    - MHD_upgraded_recv
    - externalErrorExitDesc
    - free
    - mhdErrorExit
    - memcmp
    - mhdErrorExitDesc
    linkageType: ''
    returnType: void
    signature: "void recv_upg_all (struct MHD_UpgradedHandle *urh,\n              const
      void *data,\n              size_t data_size)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - uh
    - ','
    - st
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1448
      start: 1447
    functionDepth: 0
    functionLinenumber: 1447
    functionLinenumberEnd: 1448
    functionName: recv_upg_all_stext
    functionSourceFile: /src/mhd2/src/tests/upgrade/test_upgrade.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: recv_upg_all_stext(uh, st)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: MHD_upgraded_send
      Src: /src/mhd2/src/tests/upgrade/test_upgrade.c:1458,1
    - Dst: mhdErrorExitDesc
      Src: /src/mhd2/src/tests/upgrade/test_upgrade.c:1464,1
    - Dst: mhdErrorExitDesc
      Src: /src/mhd2/src/tests/upgrade/test_upgrade.c:1467,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 3
    argNames:
    - urh
    - data
    - data_size
    argTypes:
    - struct MHD_UpgradedHandle*
    - void*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1468
      start: 1450
    functionDepth: 1
    functionLinenumber: 1450
    functionLinenumberEnd: 1468
    functionName: send_upg_all
    functionSourceFile: /src/mhd2/src/tests/upgrade/test_upgrade.c
    functionUses: 0
    functionsReached:
    - MHD_upgraded_send
    - mhdErrorExitDesc
    linkageType: ''
    returnType: void
    signature: "void send_upg_all (struct MHD_UpgradedHandle *urh,\n              const
      void *data,\n              size_t data_size)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: MHD_upgraded_recv
      Src: /src/mhd2/src/tests/upgrade/test_upgrade.c:1482,1
    - Dst: mhdErrorExitDesc
      Src: /src/mhd2/src/tests/upgrade/test_upgrade.c:1487,1
    - Dst: mhdErrorExitDesc
      Src: /src/mhd2/src/tests/upgrade/test_upgrade.c:1490,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 1
    argNames:
    - urh
    argTypes:
    - struct MHD_UpgradedHandle*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1492
      start: 1475
    functionDepth: 1
    functionLinenumber: 1475
    functionLinenumberEnd: 1492
    functionName: receive_upg_eof
    functionSourceFile: /src/mhd2/src/tests/upgrade/test_upgrade.c
    functionUses: 0
    functionsReached:
    - MHD_upgraded_recv
    - mhdErrorExitDesc
    linkageType: ''
    returnType: void
    signature: void receive_upg_eof (struct MHD_UpgradedHandle *urh)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: recv_upg_all
      Src: /src/mhd2/src/tests/upgrade/test_upgrade.c:1506,1
    - Dst: send_upg_all
      Src: /src/mhd2/src/tests/upgrade/test_upgrade.c:1509,1
    - Dst: recv_upg_all_stext
      Src: /src/mhd2/src/tests/upgrade/test_upgrade.c:1512,1
    - Dst: receive_upg_eof
      Src: /src/mhd2/src/tests/upgrade/test_upgrade.c:1516,1
    - Dst: MHD_upgraded_close
      Src: /src/mhd2/src/tests/upgrade/test_upgrade.c:1519,1
    - Dst: mhdErrorExitDesc
      Src: /src/mhd2/src/tests/upgrade/test_upgrade.c:1520,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 11
    argCount: 1
    argNames:
    - cls
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1524
      start: 1501
    functionDepth: 2
    functionLinenumber: 1501
    functionLinenumberEnd: 1524
    functionName: run_usock_server
    functionSourceFile: /src/mhd2/src/tests/upgrade/test_upgrade.c
    functionUses: 0
    functionsReached:
    - MHD_upgraded_close
    - send_upg_all
    - recv_upg_all
    - mhdErrorExitDesc
    - recv_upg_all_stext
    - receive_upg_eof
    linkageType: ''
    returnType: void
    signature: 'void *

      run_usock_server (void *cls)'
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: send_all_stext
      Src: /src/mhd2/src/tests/upgrade/test_upgrade.c:1538,1
    - Dst: recv_hdr
      Src: /src/mhd2/src/tests/upgrade/test_upgrade.c:1544,1
    - Dst: send_all
      Src: /src/mhd2/src/tests/upgrade/test_upgrade.c:1545,1
    - Dst: recv_all
      Src: /src/mhd2/src/tests/upgrade/test_upgrade.c:1548,1
    - Dst: send_all_stext
      Src: /src/mhd2/src/tests/upgrade/test_upgrade.c:1551,1
    - Dst: send_eof
      Src: /src/mhd2/src/tests/upgrade/test_upgrade.c:1555,1
    - Dst: wr_close
      Src: /src/mhd2/src/tests/upgrade/test_upgrade.c:1557,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 12
    argCount: 1
    argNames:
    - cls
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1560
      start: 1533
    functionDepth: 7
    functionLinenumber: 1533
    functionLinenumberEnd: 1560
    functionName: run_usock_client
    functionSourceFile: /src/mhd2/src/tests/upgrade/test_upgrade.c
    functionUses: 0
    functionsReached:
    - recv_all
    - recv_hdr
    - send_all_stext
    - send_all
    - send_eof
    - wr_close
    linkageType: ''
    returnType: void
    signature: 'void *

      run_usock_client (void *cls)'
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: mhdErrorExitDesc
      Src: /src/mhd2/src/tests/upgrade/test_upgrade.c:1592,1
    - Dst: mhdErrorExitDesc
      Src: /src/mhd2/src/tests/upgrade/test_upgrade.c:1594,1
    - Dst: pthread_create
      Src: /src/mhd2/src/tests/upgrade/test_upgrade.c:1596,1
    - Dst: externalErrorExitDesc
      Src: /src/mhd2/src/tests/upgrade/test_upgrade.c:1600,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 7
    argCount: 3
    argNames:
    - cls
    - MHD_RESTRICT
    - MHD_RESTRICT
    argTypes:
    - void*
    - struct MHD_Request*
    - struct MHD_UpgradedHandle*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1601
      start: 1586
    functionDepth: 1
    functionLinenumber: 1586
    functionLinenumberEnd: 1601
    functionName: upgrade_cb
    functionSourceFile: /src/mhd2/src/tests/upgrade/test_upgrade.c
    functionUses: 0
    functionsReached:
    - externalErrorExitDesc
    - pthread_create
    - mhdErrorExitDesc
    linkageType: ''
    returnType: void
    signature: "void upgrade_cb (void *cls,\n            struct MHD_Request *MHD_RESTRICT
      request,\n            struct MHD_UpgradedHandle *MHD_RESTRICT urh)"
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: mhdErrorExitDesc
      Src: /src/mhd2/src/tests/upgrade/test_upgrade.c:1636,1
    - Dst: mhdErrorExitDesc
      Src: /src/mhd2/src/tests/upgrade/test_upgrade.c:1638,1
    - Dst: mhdErrorExitDesc
      Src: /src/mhd2/src/tests/upgrade/test_upgrade.c:1640,1
    - Dst: mhdErrorExitDesc
      Src: /src/mhd2/src/tests/upgrade/test_upgrade.c:1642,1
    - Dst: memcmp
      Src: /src/mhd2/src/tests/upgrade/test_upgrade.c:1643,1
    - Dst: mhdErrorExitDesc
      Src: /src/mhd2/src/tests/upgrade/test_upgrade.c:1644,1
    - Dst: mhdErrorExitDesc
      Src: /src/mhd2/src/tests/upgrade/test_upgrade.c:1646,1
    - Dst: mhdErrorExitDesc
      Src: /src/mhd2/src/tests/upgrade/test_upgrade.c:1648,1
    - Dst: mhdErrorExitDesc
      Src: /src/mhd2/src/tests/upgrade/test_upgrade.c:1650,1
    - Dst: MHD_action_upgrade
      Src: /src/mhd2/src/tests/upgrade/test_upgrade.c:1652,1
    - Dst: mhdErrorExitDesc
      Src: /src/mhd2/src/tests/upgrade/test_upgrade.c:1659,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 21
    argCount: 5
    argNames:
    - cls
    - MHD_RESTRICT
    - MHD_RESTRICT
    - method
    - upload_size
    argTypes:
    - void*
    - struct MHD_Request*
    - struct MHD_String*
    - enum MHD_HTTP_Method
    - uint_fast64_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1662
      start: 1627
    functionDepth: 1
    functionLinenumber: 1627
    functionLinenumberEnd: 1662
    functionName: req_handle_upgrade
    functionSourceFile: /src/mhd2/src/tests/upgrade/test_upgrade.c
    functionUses: 0
    functionsReached:
    - MHD_action_upgrade
    - memcmp
    - mhdErrorExitDesc
    linkageType: ''
    returnType: struct MHD_Action
    signature: "struct MHD_Action *\nreq_handle_upgrade (void *cls,\n                    struct
      MHD_Request *MHD_RESTRICT request,\n                    const struct MHD_String
      *MHD_RESTRICT path,\n                    enum MHD_HTTP_Method method,\n                    uint_fast64_t
      upload_size)"
  - BBCount: 18
    BranchProfiles: []
    Callsites:
    - Dst: MHD_daemon_create
      Src: /src/mhd2/src/tests/upgrade/test_upgrade.c:1684,1
    - Dst: mhdErrorExitDesc
      Src: /src/mhd2/src/tests/upgrade/test_upgrade.c:1687,1
    - Dst: MHD_DAEMON_SET_OPTIONS
      Src: /src/mhd2/src/tests/upgrade/test_upgrade.c:1690,1
    - Dst: MHD_D_OPTION_BIND_PORT
      Src: /src/mhd2/src/tests/upgrade/test_upgrade.c:1692,1
    - Dst: MHD_D_OPTION_WORK_MODE
      Src: /src/mhd2/src/tests/upgrade/test_upgrade.c:1693,1
    - Dst: MHD_WM_OPTION_WORKER_THREADS
      Src: /src/mhd2/src/tests/upgrade/test_upgrade.c:1693,1
    - Dst: mhdErrorExitDesc
      Src: /src/mhd2/src/tests/upgrade/test_upgrade.c:1694,1
    - Dst: MHD_daemon_start
      Src: /src/mhd2/src/tests/upgrade/test_upgrade.c:1697,1
    - Dst: mhdErrorExitDesc
      Src: /src/mhd2/src/tests/upgrade/test_upgrade.c:1698,1
    - Dst: MHD_daemon_get_info_fixed
      Src: /src/mhd2/src/tests/upgrade/test_upgrade.c:1701,1
    - Dst: mhdErrorExitDesc
      Src: /src/mhd2/src/tests/upgrade/test_upgrade.c:1704,1
    - Dst: mhdErrorExitDesc
      Src: /src/mhd2/src/tests/upgrade/test_upgrade.c:1707,1
    - Dst: wr_create_tls_sckt
      Src: /src/mhd2/src/tests/upgrade/test_upgrade.c:1711,1
    - Dst: wr_create_plain_sckt
      Src: /src/mhd2/src/tests/upgrade/test_upgrade.c:1711,1
    - Dst: externalErrorExitDesc
      Src: /src/mhd2/src/tests/upgrade/test_upgrade.c:1713,1
    - Dst: wr_make_nonblocking
      Src: /src/mhd2/src/tests/upgrade/test_upgrade.c:1714,1
    - Dst: htons
      Src: /src/mhd2/src/tests/upgrade/test_upgrade.c:1716,1
    - Dst: htonl
      Src: /src/mhd2/src/tests/upgrade/test_upgrade.c:1718,1
    - Dst: memcpy
      Src: /src/mhd2/src/tests/upgrade/test_upgrade.c:1720,1
    - Dst: wr_connect
      Src: /src/mhd2/src/tests/upgrade/test_upgrade.c:1722,1
    - Dst: externalErrorExitDesc
      Src: /src/mhd2/src/tests/upgrade/test_upgrade.c:1725,1
    - Dst: gnutlscli_connect
      Src: /src/mhd2/src/tests/upgrade/test_upgrade.c:1734,1
    - Dst: externalErrorExitDesc
      Src: /src/mhd2/src/tests/upgrade/test_upgrade.c:1736,1
    - Dst: wr_create_from_plain_sckt
      Src: /src/mhd2/src/tests/upgrade/test_upgrade.c:1738,1
    - Dst: externalErrorExitDesc
      Src: /src/mhd2/src/tests/upgrade/test_upgrade.c:1740,1
    - Dst: wr_make_nonblocking
      Src: /src/mhd2/src/tests/upgrade/test_upgrade.c:1742,1
    - Dst: externalErrorExitDesc
      Src: /src/mhd2/src/tests/upgrade/test_upgrade.c:1744,1
    - Dst: pthread_create
      Src: /src/mhd2/src/tests/upgrade/test_upgrade.c:1748,1
    - Dst: externalErrorExitDesc
      Src: /src/mhd2/src/tests/upgrade/test_upgrade.c:1752,1
    - Dst: pthread_join
      Src: /src/mhd2/src/tests/upgrade/test_upgrade.c:1754,1
    - Dst: externalErrorExitDesc
      Src: /src/mhd2/src/tests/upgrade/test_upgrade.c:1756,1
    - Dst: pthread_join
      Src: /src/mhd2/src/tests/upgrade/test_upgrade.c:1757,1
    - Dst: externalErrorExitDesc
      Src: /src/mhd2/src/tests/upgrade/test_upgrade.c:1759,1
    - Dst: waitpid
      Src: /src/mhd2/src/tests/upgrade/test_upgrade.c:1763,1
    - Dst: externalErrorExitDesc
      Src: /src/mhd2/src/tests/upgrade/test_upgrade.c:1764,1
    - Dst: testFailedExitDesc
      Src: /src/mhd2/src/tests/upgrade/test_upgrade.c:1768,1
    - Dst: testFailedExitDesc
      Src: /src/mhd2/src/tests/upgrade/test_upgrade.c:1771,1
    - Dst: MHD_daemon_destroy
      Src: /src/mhd2/src/tests/upgrade/test_upgrade.c:1773,1
    CyclomaticComplexity: 25
    EdgeCount: 25
    ICount: 52
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1775
      start: 1669
    functionDepth: 4
    functionLinenumber: 1669
    functionLinenumberEnd: 1775
    functionName: test_upgrade
    functionSourceFile: /src/mhd2/src/tests/upgrade/test_upgrade.c
    functionUses: 0
    functionsReached:
    - MHD_D_OPTION_BIND_PORT
    - htons
    - mhdErrorExitDesc
    - MHD_D_OPTION_WORK_MODE
    - MHD_daemon_start
    - wr_create_from_plain_sckt
    - pthread_create
    - MHD_daemon_get_info_fixed
    - waitpid
    - pthread_join
    - wr_connect
    - htonl
    - wr_create_tls_sckt
    - wr_create_plain_sckt
    - memcpy
    - wr_make_nonblocking
    - MHD_daemon_create
    - externalErrorExitDesc
    - testFailedExitDesc
    - gnutlscli_connect
    - MHD_DAEMON_SET_OPTIONS
    - MHD_daemon_destroy
    - MHD_WM_OPTION_WORKER_THREADS
    linkageType: ''
    returnType: unsigned int
    signature: unsigned int test_upgrade (void)
  - BBCount: 13
    BranchProfiles: []
    Callsites:
    - Dst: exit
      Src: /src/mhd2/src/tests/upgrade/test_upgrade.c:1845,1
    CyclomaticComplexity: 18
    EdgeCount: 18
    ICount: 38
    argCount: 3
    argNames:
    - buf
    - buf_size
    - msg_type
    argTypes:
    - void*
    - size_t
    - enum test_msg_type
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1849
      start: 1793
    functionDepth: 0
    functionLinenumber: 1793
    functionLinenumberEnd: 1849
    functionName: init_test_msg
    functionSourceFile: /src/mhd2/src/tests/upgrade/test_upgrade.c
    functionUses: 0
    functionsReached:
    - exit
    linkageType: ''
    returnType: void
    signature: 'void *

      init_test_msg (void *buf, size_t buf_size, enum test_msg_type msg_type)'
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: malloc
      Src: /src/mhd2/src/tests/upgrade/test_upgrade.c:1869,1
    - Dst: free
      Src: /src/mhd2/src/tests/upgrade/test_upgrade.c:1874,1
    - Dst: init_test_msg
      Src: /src/mhd2/src/tests/upgrade/test_upgrade.c:1881,1
    - Dst: init_test_msg
      Src: /src/mhd2/src/tests/upgrade/test_upgrade.c:1886,1
    - Dst: mhd_SSTR_LEN
      Src: /src/mhd2/src/tests/upgrade/test_upgrade.c:1897,1
    - Dst: mhd_SSTR_LEN
      Src: /src/mhd2/src/tests/upgrade/test_upgrade.c:1899,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 26
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1903
      start: 1857
    functionDepth: 1
    functionLinenumber: 1857
    functionLinenumberEnd: 1903
    functionName: global_test_init
    functionSourceFile: /src/mhd2/src/tests/upgrade/test_upgrade.c
    functionUses: 0
    functionsReached:
    - malloc
    - init_test_msg
    - free
    - mhd_SSTR_LEN
    linkageType: ''
    returnType: bool
    signature: bool global_test_init (void)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: free
      Src: /src/mhd2/src/tests/upgrade/test_upgrade.c:1918,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1920
      start: 1909
    functionDepth: 0
    functionLinenumber: 1909
    functionLinenumberEnd: 1920
    functionName: global_test_deinit
    functionSourceFile: /src/mhd2/src/tests/upgrade/test_upgrade.c
    functionUses: 0
    functionsReached:
    - free
    linkageType: ''
    returnType: void
    signature: void global_test_deinit (void)
  - BBCount: 20
    BranchProfiles: []
    Callsites:
    - Dst: mhdt_has_in_name
      Src: /src/mhd2/src/tests/upgrade/test_upgrade.c:1930,1
    - Dst: mhdt_has_in_name
      Src: /src/mhd2/src/tests/upgrade/test_upgrade.c:1931,1
    - Dst: mhdt_has_in_name
      Src: /src/mhd2/src/tests/upgrade/test_upgrade.c:1934,1
    - Dst: mhdt_has_param
      Src: /src/mhd2/src/tests/upgrade/test_upgrade.c:1936,1
    - Dst: mhdt_has_param
      Src: /src/mhd2/src/tests/upgrade/test_upgrade.c:1937,1
    - Dst: mhdt_has_param
      Src: /src/mhd2/src/tests/upgrade/test_upgrade.c:1938,1
    - Dst: mhdt_has_param
      Src: /src/mhd2/src/tests/upgrade/test_upgrade.c:1939,1
    - Dst: fprintf
      Src: /src/mhd2/src/tests/upgrade/test_upgrade.c:1943,1
    - Dst: fprintf
      Src: /src/mhd2/src/tests/upgrade/test_upgrade.c:1945,1
    - Dst: mhdt_has_param
      Src: /src/mhd2/src/tests/upgrade/test_upgrade.c:1954,1
    - Dst: mhdt_has_param
      Src: /src/mhd2/src/tests/upgrade/test_upgrade.c:1956,1
    - Dst: mhdt_has_param
      Src: /src/mhd2/src/tests/upgrade/test_upgrade.c:1958,1
    - Dst: system
      Src: /src/mhd2/src/tests/upgrade/test_upgrade.c:1961,1
    - Dst: system
      Src: /src/mhd2/src/tests/upgrade/test_upgrade.c:1963,1
    - Dst: printf
      Src: /src/mhd2/src/tests/upgrade/test_upgrade.c:1971,1
    - Dst: printf
      Src: /src/mhd2/src/tests/upgrade/test_upgrade.c:1974,1
    - Dst: printf
      Src: /src/mhd2/src/tests/upgrade/test_upgrade.c:1977,1
    - Dst: externalErrorExitDesc
      Src: /src/mhd2/src/tests/upgrade/test_upgrade.c:1981,1
    - Dst: gnutls_global_init
      Src: /src/mhd2/src/tests/upgrade/test_upgrade.c:1985,1
    - Dst: externalErrorExitDesc
      Src: /src/mhd2/src/tests/upgrade/test_upgrade.c:1986,1
    - Dst: fprintf
      Src: /src/mhd2/src/tests/upgrade/test_upgrade.c:1989,1
    - Dst: global_test_init
      Src: /src/mhd2/src/tests/upgrade/test_upgrade.c:1994,1
    - Dst: gnutls_global_deinit
      Src: /src/mhd2/src/tests/upgrade/test_upgrade.c:1998,1
    - Dst: fprintf
      Src: /src/mhd2/src/tests/upgrade/test_upgrade.c:2000,1
    - Dst: printf
      Src: /src/mhd2/src/tests/upgrade/test_upgrade.c:2006,1
    - Dst: test_upgrade
      Src: /src/mhd2/src/tests/upgrade/test_upgrade.c:2010,1
    - Dst: fflush_allstd
      Src: /src/mhd2/src/tests/upgrade/test_upgrade.c:2011,1
    - Dst: fprintf
      Src: /src/mhd2/src/tests/upgrade/test_upgrade.c:2014,1
    - Dst: printf
      Src: /src/mhd2/src/tests/upgrade/test_upgrade.c:2018,1
    - Dst: fprintf
      Src: /src/mhd2/src/tests/upgrade/test_upgrade.c:2025,1
    - Dst: global_test_deinit
      Src: /src/mhd2/src/tests/upgrade/test_upgrade.c:2029,1
    - Dst: gnutls_global_deinit
      Src: /src/mhd2/src/tests/upgrade/test_upgrade.c:2032,1
    CyclomaticComplexity: 26
    EdgeCount: 26
    ICount: 63
    argCount: 2
    argNames:
    - argc
    - argv
    argTypes:
    - int
    - char**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2036
      start: 1923
    functionDepth: 5
    functionLinenumber: 1923
    functionLinenumberEnd: 2036
    functionName: main
    functionSourceFile: /src/mhd2/src/tests/upgrade/test_upgrade.c
    functionUses: 0
    functionsReached:
    - fflush_allstd
    - fprintf
    - test_upgrade
    - global_test_deinit
    - system
    - externalErrorExitDesc
    - printf
    - mhdt_has_in_name
    - gnutls_global_init
    - global_test_init
    - gnutls_global_deinit
    - mhdt_has_param
    linkageType: ''
    returnType: int
    signature: "int main (int argc,\n      char *const *argv)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - macro
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 61
      start: 60
    functionDepth: 0
    functionLinenumber: 60
    functionLinenumberEnd: 61
    functionName: mhd_SSTR_LEN
    functionSourceFile: /src/mhd2/src/tools/perf_replies.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: mhd_SSTR_LEN(macro)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: strrchr
      Src: /src/mhd2/src/tools/perf_replies.c:87,1
    - Dst: strrchr
      Src: /src/mhd2/src/tools/perf_replies.c:92,1
    - Dst: strlen
      Src: /src/mhd2/src/tools/perf_replies.c:101,1
    - Dst: strcpy
      Src: /src/mhd2/src/tools/perf_replies.c:104,1
    - Dst: strcpy
      Src: /src/mhd2/src/tools/perf_replies.c:110,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 18
    argCount: 2
    argNames:
    - argc
    - argv
    argTypes:
    - int
    - char**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 112
      start: 81
    functionDepth: 0
    functionLinenumber: 81
    functionLinenumberEnd: 112
    functionName: set_self_name
    functionSourceFile: /src/mhd2/src/tools/perf_replies.c
    functionUses: 0
    functionsReached:
    - strcpy
    - strlen
    - strrchr
    linkageType: ''
    returnType: void
    signature: void set_self_name (int argc, char *const *argv)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: mhdtl_get_system_cpu_count
      Src: /src/mhd2/src/tools/perf_replies.c:119,1
    - Dst: fprintf
      Src: /src/mhd2/src/tools/perf_replies.c:123,1
    - Dst: mhdtl_get_proc_cpu_count
      Src: /src/mhd2/src/tools/perf_replies.c:125,1
    - Dst: fprintf
      Src: /src/mhd2/src/tools/perf_replies.c:128,1
    - Dst: fprintf
      Src: /src/mhd2/src/tools/perf_replies.c:135,1
    - Dst: printf
      Src: /src/mhd2/src/tools/perf_replies.c:142,1
    - Dst: printf
      Src: /src/mhd2/src/tools/perf_replies.c:147,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 20
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 151
      start: 115
    functionDepth: 1
    functionLinenumber: 115
    functionLinenumberEnd: 151
    functionName: detect_cpu_core_count
    functionSourceFile: /src/mhd2/src/tools/perf_replies.c
    functionUses: 0
    functionsReached:
    - printf
    - mhdtl_get_proc_cpu_count
    - fprintf
    - mhdtl_get_system_cpu_count
    linkageType: ''
    returnType: unsigned int
    signature: unsigned int detect_cpu_core_count (void)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: detect_cpu_core_count
      Src: /src/mhd2/src/tools/perf_replies.c:159,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 161
      start: 154
    functionDepth: 2
    functionLinenumber: 154
    functionLinenumberEnd: 161
    functionName: get_cpu_core_count
    functionSourceFile: /src/mhd2/src/tools/perf_replies.c
    functionUses: 0
    functionsReached:
    - detect_cpu_core_count
    linkageType: ''
    returnType: unsigned int
    signature: unsigned int get_cpu_core_count (void)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: get_cpu_core_count
      Src: /src/mhd2/src/tools/perf_replies.c:171,1
    - Dst: mhdtl_get_proc_cpu_count
      Src: /src/mhd2/src/tools/perf_replies.c:172,1
    - Dst: fprintf
      Src: /src/mhd2/src/tools/perf_replies.c:175,1
    - Dst: printf
      Src: /src/mhd2/src/tools/perf_replies.c:178,1
    - Dst: printf
      Src: /src/mhd2/src/tools/perf_replies.c:181,1
    - Dst: printf
      Src: /src/mhd2/src/tools/perf_replies.c:186,1
    - Dst: fprintf
      Src: /src/mhd2/src/tools/perf_replies.c:192,1
    - Dst: fprintf
      Src: /src/mhd2/src/tools/perf_replies.c:197,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 19
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 201
      start: 164
    functionDepth: 3
    functionLinenumber: 164
    functionLinenumberEnd: 201
    functionName: detect_process_cpu_core_count
    functionSourceFile: /src/mhd2/src/tools/perf_replies.c
    functionUses: 0
    functionsReached:
    - get_cpu_core_count
    - printf
    - mhdtl_get_proc_cpu_count
    - fprintf
    linkageType: ''
    returnType: unsigned int
    signature: unsigned int detect_process_cpu_core_count (void)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: detect_process_cpu_core_count
      Src: /src/mhd2/src/tools/perf_replies.c:209,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 211
      start: 204
    functionDepth: 4
    functionLinenumber: 204
    functionLinenumberEnd: 211
    functionName: get_process_cpu_core_count
    functionSourceFile: /src/mhd2/src/tools/perf_replies.c
    functionUses: 0
    functionsReached:
    - detect_process_cpu_core_count
    linkageType: ''
    returnType: unsigned int
    signature: unsigned int get_process_cpu_core_count (void)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: get_cpu_core_count
      Src: /src/mhd2/src/tools/perf_replies.c:223,1
    - Dst: get_process_cpu_core_count
      Src: /src/mhd2/src/tools/perf_replies.c:229,1
    - Dst: printf
      Src: /src/mhd2/src/tools/perf_replies.c:232,1
    - Dst: printf
      Src: /src/mhd2/src/tools/perf_replies.c:239,1
    - Dst: printf
      Src: /src/mhd2/src/tools/perf_replies.c:250,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 22
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 258
      start: 216
    functionDepth: 5
    functionLinenumber: 216
    functionLinenumberEnd: 258
    functionName: get_num_threads
    functionSourceFile: /src/mhd2/src/tools/perf_replies.c
    functionUses: 0
    functionsReached:
    - get_process_cpu_core_count
    - get_cpu_core_count
    - printf
    linkageType: ''
    returnType: unsigned int
    signature: unsigned int get_num_threads (void)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: mhdtl_str_to_uint
      Src: /src/mhd2/src/tools/perf_replies.c:299,1
    - Dst: fprintf
      Src: /src/mhd2/src/tools/perf_replies.c:305,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 17
    argCount: 4
    argNames:
    - param_name
    - param_tail
    - next_param
    - param_value
    argTypes:
    - char*
    - char*
    - char*
    - unsigned int*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 314
      start: 282
    functionDepth: 1
    functionLinenumber: 282
    functionLinenumberEnd: 314
    functionName: get_param_value
    functionSourceFile: /src/mhd2/src/tools/perf_replies.c
    functionUses: 0
    functionsReached:
    - mhdtl_str_to_uint
    - fprintf
    linkageType: ''
    returnType: enum PerfRepl_param_result
    signature: "enum PerfRepl_param_result get_param_value (const char *param_name,
      const char *param_tail,\n                 const char *next_param, unsigned int
      *param_value)"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: MHD_lib_get_info_fixed
      Src: /src/mhd2/src/tools/perf_replies.c:321,1
    - Dst: printf
      Src: /src/mhd2/src/tools/perf_replies.c:323,1
    - Dst: printf
      Src: /src/mhd2/src/tools/perf_replies.c:324,1
    - Dst: printf
      Src: /src/mhd2/src/tools/perf_replies.c:325,1
    - Dst: printf
      Src: /src/mhd2/src/tools/perf_replies.c:326,1
    - Dst: printf
      Src: /src/mhd2/src/tools/perf_replies.c:327,1
    - Dst: printf
      Src: /src/mhd2/src/tools/perf_replies.c:329,1
    - Dst: printf
      Src: /src/mhd2/src/tools/perf_replies.c:331,1
    - Dst: printf
      Src: /src/mhd2/src/tools/perf_replies.c:335,1
    - Dst: printf
      Src: /src/mhd2/src/tools/perf_replies.c:336,1
    - Dst: printf
      Src: /src/mhd2/src/tools/perf_replies.c:338,1
    - Dst: printf
      Src: /src/mhd2/src/tools/perf_replies.c:340,1
    - Dst: printf
      Src: /src/mhd2/src/tools/perf_replies.c:342,1
    - Dst: printf
      Src: /src/mhd2/src/tools/perf_replies.c:343,1
    - Dst: printf
      Src: /src/mhd2/src/tools/perf_replies.c:344,1
    - Dst: printf
      Src: /src/mhd2/src/tools/perf_replies.c:345,1
    - Dst: printf
      Src: /src/mhd2/src/tools/perf_replies.c:346,1
    - Dst: printf
      Src: /src/mhd2/src/tools/perf_replies.c:347,1
    - Dst: printf
      Src: /src/mhd2/src/tools/perf_replies.c:348,1
    - Dst: printf
      Src: /src/mhd2/src/tools/perf_replies.c:349,1
    - Dst: printf
      Src: /src/mhd2/src/tools/perf_replies.c:350,1
    - Dst: printf
      Src: /src/mhd2/src/tools/perf_replies.c:351,1
    - Dst: printf
      Src: /src/mhd2/src/tools/perf_replies.c:352,1
    - Dst: printf
      Src: /src/mhd2/src/tools/perf_replies.c:353,1
    - Dst: printf
      Src: /src/mhd2/src/tools/perf_replies.c:355,1
    - Dst: printf
      Src: /src/mhd2/src/tools/perf_replies.c:357,1
    - Dst: printf
      Src: /src/mhd2/src/tools/perf_replies.c:359,1
    - Dst: printf
      Src: /src/mhd2/src/tools/perf_replies.c:360,1
    - Dst: printf
      Src: /src/mhd2/src/tools/perf_replies.c:361,1
    - Dst: printf
      Src: /src/mhd2/src/tools/perf_replies.c:363,1
    - Dst: printf
      Src: /src/mhd2/src/tools/perf_replies.c:365,1
    - Dst: printf
      Src: /src/mhd2/src/tools/perf_replies.c:367,1
    - Dst: printf
      Src: /src/mhd2/src/tools/perf_replies.c:368,1
    - Dst: printf
      Src: /src/mhd2/src/tools/perf_replies.c:370,1
    - Dst: printf
      Src: /src/mhd2/src/tools/perf_replies.c:371,1
    - Dst: printf
      Src: /src/mhd2/src/tools/perf_replies.c:372,1
    - Dst: fprintf
      Src: /src/mhd2/src/tools/perf_replies.c:376,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 42
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 377
      start: 317
    functionDepth: 1
    functionLinenumber: 317
    functionLinenumberEnd: 377
    functionName: show_help
    functionSourceFile: /src/mhd2/src/tools/perf_replies.c
    functionUses: 0
    functionsReached:
    - MHD_lib_get_info_fixed
    - printf
    - fprintf
    linkageType: ''
    returnType: void
    signature: void show_help (void)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: fprintf
      Src: /src/mhd2/src/tools/perf_replies.c:435,1
    - Dst: fprintf
      Src: /src/mhd2/src/tools/perf_replies.c:441,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 11
    argCount: 1
    argNames:
    - param_name
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 448
      start: 430
    functionDepth: 0
    functionLinenumber: 430
    functionLinenumberEnd: 448
    functionName: process_param__all_cpus
    functionSourceFile: /src/mhd2/src/tools/perf_replies.c
    functionUses: 0
    functionsReached:
    - fprintf
    linkageType: ''
    returnType: enum PerfRepl_param_result
    signature: enum PerfRepl_param_result process_param__all_cpus (const char *param_name)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: fprintf
      Src: /src/mhd2/src/tools/perf_replies.c:469,1
    - Dst: fprintf
      Src: /src/mhd2/src/tools/perf_replies.c:475,1
    - Dst: get_param_value
      Src: /src/mhd2/src/tools/perf_replies.c:479,1
    - Dst: fprintf
      Src: /src/mhd2/src/tools/perf_replies.c:486,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 18
    argCount: 3
    argNames:
    - param_name
    - param_tail
    - next_param
    argTypes:
    - char*
    - char*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 492
      start: 460
    functionDepth: 2
    functionLinenumber: 460
    functionLinenumberEnd: 492
    functionName: process_param__threads
    functionSourceFile: /src/mhd2/src/tools/perf_replies.c
    functionUses: 0
    functionsReached:
    - get_param_value
    - fprintf
    linkageType: ''
    returnType: enum PerfRepl_param_result
    signature: "enum PerfRepl_param_result process_param__threads (const char *param_name,
      const char *param_tail,\n                        const char *next_param)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: fprintf
      Src: /src/mhd2/src/tools/perf_replies.c:501,1
    - Dst: fprintf
      Src: /src/mhd2/src/tools/perf_replies.c:507,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 11
    argCount: 1
    argNames:
    - param_name
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 514
      start: 496
    functionDepth: 0
    functionLinenumber: 496
    functionLinenumberEnd: 514
    functionName: process_param__thread_per_conn
    functionSourceFile: /src/mhd2/src/tools/perf_replies.c
    functionUses: 0
    functionsReached:
    - fprintf
    linkageType: ''
    returnType: enum PerfRepl_param_result
    signature: enum PerfRepl_param_result process_param__thread_per_conn (const char
      *param_name)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: fprintf
      Src: /src/mhd2/src/tools/perf_replies.c:525,1
    - Dst: fprintf
      Src: /src/mhd2/src/tools/perf_replies.c:531,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 11
    argCount: 1
    argNames:
    - param_name
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 538
      start: 520
    functionDepth: 0
    functionLinenumber: 520
    functionLinenumberEnd: 538
    functionName: process_param__epoll
    functionSourceFile: /src/mhd2/src/tools/perf_replies.c
    functionUses: 0
    functionsReached:
    - fprintf
    linkageType: ''
    returnType: enum PerfRepl_param_result
    signature: enum PerfRepl_param_result process_param__epoll (const char *param_name)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: fprintf
      Src: /src/mhd2/src/tools/perf_replies.c:546,1
    - Dst: fprintf
      Src: /src/mhd2/src/tools/perf_replies.c:552,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 11
    argCount: 1
    argNames:
    - param_name
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 559
      start: 541
    functionDepth: 0
    functionLinenumber: 541
    functionLinenumberEnd: 559
    functionName: process_param__poll
    functionSourceFile: /src/mhd2/src/tools/perf_replies.c
    functionUses: 0
    functionsReached:
    - fprintf
    linkageType: ''
    returnType: enum PerfRepl_param_result
    signature: enum PerfRepl_param_result process_param__poll (const char *param_name)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: fprintf
      Src: /src/mhd2/src/tools/perf_replies.c:567,1
    - Dst: fprintf
      Src: /src/mhd2/src/tools/perf_replies.c:573,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 11
    argCount: 1
    argNames:
    - param_name
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 580
      start: 562
    functionDepth: 0
    functionLinenumber: 562
    functionLinenumberEnd: 580
    functionName: process_param__select
    functionSourceFile: /src/mhd2/src/tools/perf_replies.c
    functionUses: 0
    functionsReached:
    - fprintf
    linkageType: ''
    returnType: enum PerfRepl_param_result
    signature: enum PerfRepl_param_result process_param__select (const char *param_name)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: fprintf
      Src: /src/mhd2/src/tools/perf_replies.c:588,1
    - Dst: fprintf
      Src: /src/mhd2/src/tools/perf_replies.c:594,1
    - Dst: fprintf
      Src: /src/mhd2/src/tools/perf_replies.c:600,1
    - Dst: fprintf
      Src: /src/mhd2/src/tools/perf_replies.c:606,1
    - Dst: fprintf
      Src: /src/mhd2/src/tools/perf_replies.c:612,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 23
    argCount: 1
    argNames:
    - param_name
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 619
      start: 583
    functionDepth: 0
    functionLinenumber: 583
    functionLinenumberEnd: 619
    functionName: process_param__empty
    functionSourceFile: /src/mhd2/src/tools/perf_replies.c
    functionUses: 0
    functionsReached:
    - fprintf
    linkageType: ''
    returnType: enum PerfRepl_param_result
    signature: enum PerfRepl_param_result process_param__empty (const char *param_name)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: fprintf
      Src: /src/mhd2/src/tools/perf_replies.c:627,1
    - Dst: fprintf
      Src: /src/mhd2/src/tools/perf_replies.c:633,1
    - Dst: fprintf
      Src: /src/mhd2/src/tools/perf_replies.c:639,1
    - Dst: fprintf
      Src: /src/mhd2/src/tools/perf_replies.c:645,1
    - Dst: fprintf
      Src: /src/mhd2/src/tools/perf_replies.c:651,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 23
    argCount: 1
    argNames:
    - param_name
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 658
      start: 622
    functionDepth: 0
    functionLinenumber: 622
    functionLinenumberEnd: 658
    functionName: process_param__tiny
    functionSourceFile: /src/mhd2/src/tools/perf_replies.c
    functionUses: 0
    functionsReached:
    - fprintf
    linkageType: ''
    returnType: enum PerfRepl_param_result
    signature: enum PerfRepl_param_result process_param__tiny (const char *param_name)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: fprintf
      Src: /src/mhd2/src/tools/perf_replies.c:666,1
    - Dst: fprintf
      Src: /src/mhd2/src/tools/perf_replies.c:672,1
    - Dst: fprintf
      Src: /src/mhd2/src/tools/perf_replies.c:678,1
    - Dst: fprintf
      Src: /src/mhd2/src/tools/perf_replies.c:684,1
    - Dst: fprintf
      Src: /src/mhd2/src/tools/perf_replies.c:690,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 23
    argCount: 1
    argNames:
    - param_name
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 697
      start: 661
    functionDepth: 0
    functionLinenumber: 661
    functionLinenumberEnd: 697
    functionName: process_param__medium
    functionSourceFile: /src/mhd2/src/tools/perf_replies.c
    functionUses: 0
    functionsReached:
    - fprintf
    linkageType: ''
    returnType: enum PerfRepl_param_result
    signature: enum PerfRepl_param_result process_param__medium (const char *param_name)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: fprintf
      Src: /src/mhd2/src/tools/perf_replies.c:705,1
    - Dst: fprintf
      Src: /src/mhd2/src/tools/perf_replies.c:711,1
    - Dst: fprintf
      Src: /src/mhd2/src/tools/perf_replies.c:717,1
    - Dst: fprintf
      Src: /src/mhd2/src/tools/perf_replies.c:723,1
    - Dst: fprintf
      Src: /src/mhd2/src/tools/perf_replies.c:729,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 23
    argCount: 1
    argNames:
    - param_name
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 736
      start: 700
    functionDepth: 0
    functionLinenumber: 700
    functionLinenumberEnd: 736
    functionName: process_param__large
    functionSourceFile: /src/mhd2/src/tools/perf_replies.c
    functionUses: 0
    functionsReached:
    - fprintf
    linkageType: ''
    returnType: enum PerfRepl_param_result
    signature: enum PerfRepl_param_result process_param__large (const char *param_name)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: fprintf
      Src: /src/mhd2/src/tools/perf_replies.c:744,1
    - Dst: fprintf
      Src: /src/mhd2/src/tools/perf_replies.c:750,1
    - Dst: fprintf
      Src: /src/mhd2/src/tools/perf_replies.c:756,1
    - Dst: fprintf
      Src: /src/mhd2/src/tools/perf_replies.c:762,1
    - Dst: fprintf
      Src: /src/mhd2/src/tools/perf_replies.c:768,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 23
    argCount: 1
    argNames:
    - param_name
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 775
      start: 739
    functionDepth: 0
    functionLinenumber: 739
    functionLinenumberEnd: 775
    functionName: process_param__xlarge
    functionSourceFile: /src/mhd2/src/tools/perf_replies.c
    functionUses: 0
    functionsReached:
    - fprintf
    linkageType: ''
    returnType: enum PerfRepl_param_result
    signature: enum PerfRepl_param_result process_param__xlarge (const char *param_name)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: fprintf
      Src: /src/mhd2/src/tools/perf_replies.c:783,1
    - Dst: fprintf
      Src: /src/mhd2/src/tools/perf_replies.c:789,1
    - Dst: fprintf
      Src: /src/mhd2/src/tools/perf_replies.c:795,1
    - Dst: fprintf
      Src: /src/mhd2/src/tools/perf_replies.c:801,1
    - Dst: fprintf
      Src: /src/mhd2/src/tools/perf_replies.c:807,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 23
    argCount: 1
    argNames:
    - param_name
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 814
      start: 778
    functionDepth: 0
    functionLinenumber: 778
    functionLinenumberEnd: 814
    functionName: process_param__jumbo
    functionSourceFile: /src/mhd2/src/tools/perf_replies.c
    functionUses: 0
    functionsReached:
    - fprintf
    linkageType: ''
    returnType: enum PerfRepl_param_result
    signature: enum PerfRepl_param_result process_param__jumbo (const char *param_name)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: fprintf
      Src: /src/mhd2/src/tools/perf_replies.c:822,1
    - Dst: fprintf
      Src: /src/mhd2/src/tools/perf_replies.c:828,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 11
    argCount: 1
    argNames:
    - param_name
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 835
      start: 817
    functionDepth: 0
    functionLinenumber: 817
    functionLinenumberEnd: 835
    functionName: process_param__shared
    functionSourceFile: /src/mhd2/src/tools/perf_replies.c
    functionUses: 0
    functionsReached:
    - fprintf
    linkageType: ''
    returnType: enum PerfRepl_param_result
    signature: enum PerfRepl_param_result process_param__shared (const char *param_name)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: fprintf
      Src: /src/mhd2/src/tools/perf_replies.c:843,1
    - Dst: fprintf
      Src: /src/mhd2/src/tools/perf_replies.c:849,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 11
    argCount: 1
    argNames:
    - param_name
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 856
      start: 838
    functionDepth: 0
    functionLinenumber: 838
    functionLinenumberEnd: 856
    functionName: process_param__single
    functionSourceFile: /src/mhd2/src/tools/perf_replies.c
    functionUses: 0
    functionsReached:
    - fprintf
    linkageType: ''
    returnType: enum PerfRepl_param_result
    signature: enum PerfRepl_param_result process_param__single (const char *param_name)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: fprintf
      Src: /src/mhd2/src/tools/perf_replies.c:864,1
    - Dst: fprintf
      Src: /src/mhd2/src/tools/perf_replies.c:870,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 11
    argCount: 1
    argNames:
    - param_name
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 877
      start: 859
    functionDepth: 0
    functionLinenumber: 859
    functionLinenumberEnd: 877
    functionName: process_param__unique
    functionSourceFile: /src/mhd2/src/tools/perf_replies.c
    functionUses: 0
    functionsReached:
    - fprintf
    linkageType: ''
    returnType: enum PerfRepl_param_result
    signature: enum PerfRepl_param_result process_param__unique (const char *param_name)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: get_param_value
      Src: /src/mhd2/src/tools/perf_replies.c:896,1
    - Dst: fprintf
      Src: /src/mhd2/src/tools/perf_replies.c:903,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 3
    argNames:
    - param_name
    - param_tail
    - next_param
    argTypes:
    - char*
    - char*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 909
      start: 889
    functionDepth: 2
    functionLinenumber: 889
    functionLinenumberEnd: 909
    functionName: process_param__connections
    functionSourceFile: /src/mhd2/src/tools/perf_replies.c
    functionUses: 0
    functionsReached:
    - get_param_value
    - fprintf
    linkageType: ''
    returnType: enum PerfRepl_param_result
    signature: "enum PerfRepl_param_result process_param__connections (const char
      *param_name, const char *param_tail,\n                            const char
      *next_param)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: get_param_value
      Src: /src/mhd2/src/tools/perf_replies.c:928,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 3
    argNames:
    - param_name
    - param_tail
    - next_param
    argTypes:
    - char*
    - char*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 935
      start: 921
    functionDepth: 2
    functionLinenumber: 921
    functionLinenumberEnd: 935
    functionName: process_param__timeout
    functionSourceFile: /src/mhd2/src/tools/perf_replies.c
    functionUses: 0
    functionsReached:
    - get_param_value
    linkageType: ''
    returnType: enum PerfRepl_param_result
    signature: "enum PerfRepl_param_result process_param__timeout (const char *param_name,
      const char *param_tail,\n                        const char *next_param)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - param_name
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 944
      start: 938
    functionDepth: 0
    functionLinenumber: 938
    functionLinenumberEnd: 944
    functionName: process_param__date_header
    functionSourceFile: /src/mhd2/src/tools/perf_replies.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: enum PerfRepl_param_result
    signature: enum PerfRepl_param_result process_param__date_header (const char *param_name)
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - param_name
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 955
      start: 947
    functionDepth: 0
    functionLinenumber: 947
    functionLinenumberEnd: 955
    functionName: process_param__help
    functionSourceFile: /src/mhd2/src/tools/perf_replies.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: enum PerfRepl_param_result
    signature: enum PerfRepl_param_result process_param__help (const char *param_name)
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - param_name
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 966
      start: 958
    functionDepth: 0
    functionLinenumber: 958
    functionLinenumberEnd: 966
    functionName: process_param__version
    functionSourceFile: /src/mhd2/src/tools/perf_replies.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: enum PerfRepl_param_result
    signature: enum PerfRepl_param_result process_param__version (const char *param_name)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: process_param__all_cpus
      Src: /src/mhd2/src/tools/perf_replies.c:982,1
    - Dst: process_param__threads
      Src: /src/mhd2/src/tools/perf_replies.c:984,1
    - Dst: process_param__thread_per_conn
      Src: /src/mhd2/src/tools/perf_replies.c:987,1
    - Dst: process_param__epoll
      Src: /src/mhd2/src/tools/perf_replies.c:990,1
    - Dst: process_param__poll
      Src: /src/mhd2/src/tools/perf_replies.c:992,1
    - Dst: process_param__select
      Src: /src/mhd2/src/tools/perf_replies.c:994,1
    - Dst: process_param__empty
      Src: /src/mhd2/src/tools/perf_replies.c:996,1
    - Dst: process_param__tiny
      Src: /src/mhd2/src/tools/perf_replies.c:998,1
    - Dst: process_param__medium
      Src: /src/mhd2/src/tools/perf_replies.c:1000,1
    - Dst: process_param__large
      Src: /src/mhd2/src/tools/perf_replies.c:1002,1
    - Dst: process_param__xlarge
      Src: /src/mhd2/src/tools/perf_replies.c:1004,1
    - Dst: process_param__jumbo
      Src: /src/mhd2/src/tools/perf_replies.c:1006,1
    - Dst: process_param__shared
      Src: /src/mhd2/src/tools/perf_replies.c:1008,1
    - Dst: process_param__single
      Src: /src/mhd2/src/tools/perf_replies.c:1010,1
    - Dst: process_param__unique
      Src: /src/mhd2/src/tools/perf_replies.c:1012,1
    - Dst: process_param__connections
      Src: /src/mhd2/src/tools/perf_replies.c:1014,1
    - Dst: process_param__timeout
      Src: /src/mhd2/src/tools/perf_replies.c:1016,1
    - Dst: process_param__help
      Src: /src/mhd2/src/tools/perf_replies.c:1018,1
    - Dst: process_param__help
      Src: /src/mhd2/src/tools/perf_replies.c:1020,1
    - Dst: process_param__version
      Src: /src/mhd2/src/tools/perf_replies.c:1022,1
    - Dst: fprintf
      Src: /src/mhd2/src/tools/perf_replies.c:1024,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 25
    argCount: 2
    argNames:
    - param
    - next_param
    argTypes:
    - char*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1026
      start: 977
    functionDepth: 3
    functionLinenumber: 977
    functionLinenumberEnd: 1026
    functionName: process_short_param
    functionSourceFile: /src/mhd2/src/tools/perf_replies.c
    functionUses: 0
    functionsReached:
    - process_param__tiny
    - process_param__help
    - fprintf
    - process_param__connections
    - process_param__poll
    - process_param__select
    - process_param__timeout
    - process_param__empty
    - process_param__jumbo
    - process_param__medium
    - process_param__large
    - process_param__single
    - process_param__threads
    - process_param__epoll
    - process_param__thread_per_conn
    - process_param__unique
    - process_param__xlarge
    - process_param__version
    - process_param__shared
    - process_param__all_cpus
    linkageType: ''
    returnType: enum PerfRepl_param_result
    signature: enum PerfRepl_param_result process_short_param (const char *param,
      const char *next_param)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: fprintf
      Src: /src/mhd2/src/tools/perf_replies.c:1041,1
    - Dst: process_short_param
      Src: /src/mhd2/src/tools/perf_replies.c:1047,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 11
    argCount: 2
    argNames:
    - params_str
    - next_param
    argTypes:
    - char*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1052
      start: 1036
    functionDepth: 4
    functionLinenumber: 1036
    functionLinenumberEnd: 1052
    functionName: process_short_params_str
    functionSourceFile: /src/mhd2/src/tools/perf_replies.c
    functionUses: 0
    functionsReached:
    - process_short_param
    - fprintf
    linkageType: ''
    returnType: enum PerfRepl_param_result
    signature: enum PerfRepl_param_result process_short_params_str (const char *params_str,
      const char *next_param)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: strlen
      Src: /src/mhd2/src/tools/perf_replies.c:1066,1
    - Dst: mhd_SSTR_LEN
      Src: /src/mhd2/src/tools/perf_replies.c:1068,1
    - Dst: memcmp
      Src: /src/mhd2/src/tools/perf_replies.c:1069,1
    - Dst: mhd_SSTR_LEN
      Src: /src/mhd2/src/tools/perf_replies.c:1069,1
    - Dst: process_param__all_cpus
      Src: /src/mhd2/src/tools/perf_replies.c:1070,1
    - Dst: mhd_SSTR_LEN
      Src: /src/mhd2/src/tools/perf_replies.c:1071,1
    - Dst: memcmp
      Src: /src/mhd2/src/tools/perf_replies.c:1072,1
    - Dst: mhd_SSTR_LEN
      Src: /src/mhd2/src/tools/perf_replies.c:1072,1
    - Dst: process_param__threads
      Src: /src/mhd2/src/tools/perf_replies.c:1073,1
    - Dst: mhd_SSTR_LEN
      Src: /src/mhd2/src/tools/perf_replies.c:1074,1
    - Dst: mhd_SSTR_LEN
      Src: /src/mhd2/src/tools/perf_replies.c:1077,1
    - Dst: memcmp
      Src: /src/mhd2/src/tools/perf_replies.c:1078,1
    - Dst: mhd_SSTR_LEN
      Src: /src/mhd2/src/tools/perf_replies.c:1079,1
    - Dst: process_param__thread_per_conn
      Src: /src/mhd2/src/tools/perf_replies.c:1080,1
    - Dst: mhd_SSTR_LEN
      Src: /src/mhd2/src/tools/perf_replies.c:1082,1
    - Dst: memcmp
      Src: /src/mhd2/src/tools/perf_replies.c:1083,1
    - Dst: mhd_SSTR_LEN
      Src: /src/mhd2/src/tools/perf_replies.c:1083,1
    - Dst: process_param__epoll
      Src: /src/mhd2/src/tools/perf_replies.c:1084,1
    - Dst: mhd_SSTR_LEN
      Src: /src/mhd2/src/tools/perf_replies.c:1085,1
    - Dst: memcmp
      Src: /src/mhd2/src/tools/perf_replies.c:1086,1
    - Dst: mhd_SSTR_LEN
      Src: /src/mhd2/src/tools/perf_replies.c:1086,1
    - Dst: process_param__poll
      Src: /src/mhd2/src/tools/perf_replies.c:1087,1
    - Dst: mhd_SSTR_LEN
      Src: /src/mhd2/src/tools/perf_replies.c:1088,1
    - Dst: memcmp
      Src: /src/mhd2/src/tools/perf_replies.c:1089,1
    - Dst: mhd_SSTR_LEN
      Src: /src/mhd2/src/tools/perf_replies.c:1089,1
    - Dst: process_param__select
      Src: /src/mhd2/src/tools/perf_replies.c:1090,1
    - Dst: mhd_SSTR_LEN
      Src: /src/mhd2/src/tools/perf_replies.c:1091,1
    - Dst: memcmp
      Src: /src/mhd2/src/tools/perf_replies.c:1092,1
    - Dst: mhd_SSTR_LEN
      Src: /src/mhd2/src/tools/perf_replies.c:1092,1
    - Dst: process_param__empty
      Src: /src/mhd2/src/tools/perf_replies.c:1093,1
    - Dst: mhd_SSTR_LEN
      Src: /src/mhd2/src/tools/perf_replies.c:1094,1
    - Dst: memcmp
      Src: /src/mhd2/src/tools/perf_replies.c:1095,1
    - Dst: mhd_SSTR_LEN
      Src: /src/mhd2/src/tools/perf_replies.c:1095,1
    - Dst: process_param__tiny
      Src: /src/mhd2/src/tools/perf_replies.c:1096,1
    - Dst: mhd_SSTR_LEN
      Src: /src/mhd2/src/tools/perf_replies.c:1097,1
    - Dst: memcmp
      Src: /src/mhd2/src/tools/perf_replies.c:1098,1
    - Dst: mhd_SSTR_LEN
      Src: /src/mhd2/src/tools/perf_replies.c:1098,1
    - Dst: process_param__medium
      Src: /src/mhd2/src/tools/perf_replies.c:1099,1
    - Dst: mhd_SSTR_LEN
      Src: /src/mhd2/src/tools/perf_replies.c:1100,1
    - Dst: memcmp
      Src: /src/mhd2/src/tools/perf_replies.c:1101,1
    - Dst: mhd_SSTR_LEN
      Src: /src/mhd2/src/tools/perf_replies.c:1101,1
    - Dst: process_param__large
      Src: /src/mhd2/src/tools/perf_replies.c:1102,1
    - Dst: mhd_SSTR_LEN
      Src: /src/mhd2/src/tools/perf_replies.c:1103,1
    - Dst: memcmp
      Src: /src/mhd2/src/tools/perf_replies.c:1104,1
    - Dst: mhd_SSTR_LEN
      Src: /src/mhd2/src/tools/perf_replies.c:1104,1
    - Dst: process_param__xlarge
      Src: /src/mhd2/src/tools/perf_replies.c:1105,1
    - Dst: mhd_SSTR_LEN
      Src: /src/mhd2/src/tools/perf_replies.c:1106,1
    - Dst: memcmp
      Src: /src/mhd2/src/tools/perf_replies.c:1107,1
    - Dst: mhd_SSTR_LEN
      Src: /src/mhd2/src/tools/perf_replies.c:1107,1
    - Dst: process_param__jumbo
      Src: /src/mhd2/src/tools/perf_replies.c:1108,1
    - Dst: mhd_SSTR_LEN
      Src: /src/mhd2/src/tools/perf_replies.c:1109,1
    - Dst: memcmp
      Src: /src/mhd2/src/tools/perf_replies.c:1110,1
    - Dst: mhd_SSTR_LEN
      Src: /src/mhd2/src/tools/perf_replies.c:1110,1
    - Dst: process_param__shared
      Src: /src/mhd2/src/tools/perf_replies.c:1111,1
    - Dst: mhd_SSTR_LEN
      Src: /src/mhd2/src/tools/perf_replies.c:1112,1
    - Dst: memcmp
      Src: /src/mhd2/src/tools/perf_replies.c:1113,1
    - Dst: mhd_SSTR_LEN
      Src: /src/mhd2/src/tools/perf_replies.c:1113,1
    - Dst: process_param__single
      Src: /src/mhd2/src/tools/perf_replies.c:1114,1
    - Dst: mhd_SSTR_LEN
      Src: /src/mhd2/src/tools/perf_replies.c:1115,1
    - Dst: memcmp
      Src: /src/mhd2/src/tools/perf_replies.c:1116,1
    - Dst: mhd_SSTR_LEN
      Src: /src/mhd2/src/tools/perf_replies.c:1116,1
    - Dst: process_param__unique
      Src: /src/mhd2/src/tools/perf_replies.c:1117,1
    - Dst: mhd_SSTR_LEN
      Src: /src/mhd2/src/tools/perf_replies.c:1118,1
    - Dst: memcmp
      Src: /src/mhd2/src/tools/perf_replies.c:1119,1
    - Dst: mhd_SSTR_LEN
      Src: /src/mhd2/src/tools/perf_replies.c:1120,1
    - Dst: process_param__connections
      Src: /src/mhd2/src/tools/perf_replies.c:1121,1
    - Dst: mhd_SSTR_LEN
      Src: /src/mhd2/src/tools/perf_replies.c:1123,1
    - Dst: mhd_SSTR_LEN
      Src: /src/mhd2/src/tools/perf_replies.c:1125,1
    - Dst: memcmp
      Src: /src/mhd2/src/tools/perf_replies.c:1126,1
    - Dst: mhd_SSTR_LEN
      Src: /src/mhd2/src/tools/perf_replies.c:1127,1
    - Dst: process_param__timeout
      Src: /src/mhd2/src/tools/perf_replies.c:1128,1
    - Dst: mhd_SSTR_LEN
      Src: /src/mhd2/src/tools/perf_replies.c:1129,1
    - Dst: mhd_SSTR_LEN
      Src: /src/mhd2/src/tools/perf_replies.c:1131,1
    - Dst: memcmp
      Src: /src/mhd2/src/tools/perf_replies.c:1132,1
    - Dst: mhd_SSTR_LEN
      Src: /src/mhd2/src/tools/perf_replies.c:1133,1
    - Dst: process_param__date_header
      Src: /src/mhd2/src/tools/perf_replies.c:1134,1
    - Dst: mhd_SSTR_LEN
      Src: /src/mhd2/src/tools/perf_replies.c:1135,1
    - Dst: memcmp
      Src: /src/mhd2/src/tools/perf_replies.c:1136,1
    - Dst: mhd_SSTR_LEN
      Src: /src/mhd2/src/tools/perf_replies.c:1136,1
    - Dst: process_param__help
      Src: /src/mhd2/src/tools/perf_replies.c:1137,1
    - Dst: mhd_SSTR_LEN
      Src: /src/mhd2/src/tools/perf_replies.c:1138,1
    - Dst: memcmp
      Src: /src/mhd2/src/tools/perf_replies.c:1139,1
    - Dst: mhd_SSTR_LEN
      Src: /src/mhd2/src/tools/perf_replies.c:1139,1
    - Dst: process_param__version
      Src: /src/mhd2/src/tools/perf_replies.c:1140,1
    - Dst: fprintf
      Src: /src/mhd2/src/tools/perf_replies.c:1142,1
    CyclomaticComplexity: 22
    EdgeCount: 22
    ICount: 25
    argCount: 2
    argNames:
    - param
    - next_param
    argTypes:
    - char*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1144
      start: 1063
    functionDepth: 3
    functionLinenumber: 1063
    functionLinenumberEnd: 1144
    functionName: process_long_param
    functionSourceFile: /src/mhd2/src/tools/perf_replies.c
    functionUses: 0
    functionsReached:
    - process_param__tiny
    - process_param__help
    - fprintf
    - process_param__connections
    - process_param__poll
    - process_param__select
    - strlen
    - memcmp
    - process_param__timeout
    - process_param__empty
    - process_param__date_header
    - mhd_SSTR_LEN
    - process_param__jumbo
    - process_param__medium
    - process_param__large
    - process_param__single
    - process_param__epoll
    - process_param__threads
    - process_param__thread_per_conn
    - process_param__unique
    - process_param__xlarge
    - process_param__version
    - process_param__shared
    - process_param__all_cpus
    linkageType: ''
    returnType: enum PerfRepl_param_result
    signature: enum PerfRepl_param_result process_long_param (const char *param, const
      char *next_param)
  - BBCount: 12
    BranchProfiles: []
    Callsites:
    - Dst: fprintf
      Src: /src/mhd2/src/tools/perf_replies.c:1161,1
    - Dst: process_long_param
      Src: /src/mhd2/src/tools/perf_replies.c:1177,1
    - Dst: process_short_params_str
      Src: /src/mhd2/src/tools/perf_replies.c:1180,1
    - Dst: abort
      Src: /src/mhd2/src/tools/perf_replies.c:1187,1
    - Dst: mhdtl_str_to_uint
      Src: /src/mhd2/src/tools/perf_replies.c:1195,1
    - Dst: fprintf
      Src: /src/mhd2/src/tools/perf_replies.c:1198,1
    - Dst: fprintf
      Src: /src/mhd2/src/tools/perf_replies.c:1203,1
    - Dst: fprintf
      Src: /src/mhd2/src/tools/perf_replies.c:1210,1
    CyclomaticComplexity: 18
    EdgeCount: 18
    ICount: 42
    argCount: 2
    argNames:
    - argc
    - argv
    argTypes:
    - int
    - char**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1215
      start: 1147
    functionDepth: 5
    functionLinenumber: 1147
    functionLinenumberEnd: 1215
    functionName: process_params
    functionSourceFile: /src/mhd2/src/tools/perf_replies.c
    functionUses: 0
    functionsReached:
    - fprintf
    - abort
    - process_short_params_str
    - mhdtl_str_to_uint
    - process_long_param
    linkageType: ''
    returnType: int
    signature: int process_params (int argc, char *const *argv)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: MHD_lib_get_info_fixed
      Src: /src/mhd2/src/tools/perf_replies.c:1222,1
    - Dst: printf
      Src: /src/mhd2/src/tools/perf_replies.c:1224,1
    - Dst: printf
      Src: /src/mhd2/src/tools/perf_replies.c:1226,1
    - Dst: printf
      Src: /src/mhd2/src/tools/perf_replies.c:1227,1
    - Dst: printf
      Src: /src/mhd2/src/tools/perf_replies.c:1228,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1229
      start: 1218
    functionDepth: 1
    functionLinenumber: 1218
    functionLinenumberEnd: 1229
    functionName: print_version
    functionSourceFile: /src/mhd2/src/tools/perf_replies.c
    functionUses: 0
    functionsReached:
    - MHD_lib_get_info_fixed
    - printf
    linkageType: ''
    returnType: void
    signature: void print_version (void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: printf
      Src: /src/mhd2/src/tools/perf_replies.c:1235,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1238
      start: 1232
    functionDepth: 0
    functionLinenumber: 1232
    functionLinenumberEnd: 1238
    functionName: print_all_cores_used
    functionSourceFile: /src/mhd2/src/tools/perf_replies.c
    functionUses: 0
    functionsReached:
    - printf
    linkageType: ''
    returnType: void
    signature: void print_all_cores_used (void)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: get_process_cpu_core_count
      Src: /src/mhd2/src/tools/perf_replies.c:1250,1
    - Dst: printf
      Src: /src/mhd2/src/tools/perf_replies.c:1251,1
    - Dst: get_cpu_core_count
      Src: /src/mhd2/src/tools/perf_replies.c:1252,1
    - Dst: print_all_cores_used
      Src: /src/mhd2/src/tools/perf_replies.c:1253,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1254
      start: 1244
    functionDepth: 5
    functionLinenumber: 1244
    functionLinenumberEnd: 1254
    functionName: check_apply_param__all_cpus
    functionSourceFile: /src/mhd2/src/tools/perf_replies.c
    functionUses: 0
    functionsReached:
    - get_process_cpu_core_count
    - get_cpu_core_count
    - print_all_cores_used
    - printf
    linkageType: ''
    returnType: void
    signature: void check_apply_param__all_cpus (void)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: get_process_cpu_core_count
      Src: /src/mhd2/src/tools/perf_replies.c:1268,1
    - Dst: fprintf
      Src: /src/mhd2/src/tools/perf_replies.c:1270,1
    - Dst: get_process_cpu_core_count
      Src: /src/mhd2/src/tools/perf_replies.c:1272,1
    - Dst: fprintf
      Src: /src/mhd2/src/tools/perf_replies.c:1273,1
    - Dst: get_cpu_core_count
      Src: /src/mhd2/src/tools/perf_replies.c:1276,1
    - Dst: printf
      Src: /src/mhd2/src/tools/perf_replies.c:1278,1
    - Dst: print_all_cores_used
      Src: /src/mhd2/src/tools/perf_replies.c:1280,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 12
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1282
      start: 1260
    functionDepth: 5
    functionLinenumber: 1260
    functionLinenumberEnd: 1282
    functionName: check_apply_param__threads
    functionSourceFile: /src/mhd2/src/tools/perf_replies.c
    functionUses: 0
    functionsReached:
    - fprintf
    - get_process_cpu_core_count
    - print_all_cores_used
    - printf
    - get_cpu_core_count
    linkageType: ''
    returnType: void
    signature: void check_apply_param__threads (void)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: fprintf
      Src: /src/mhd2/src/tools/perf_replies.c:1299,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1306
      start: 1291
    functionDepth: 0
    functionLinenumber: 1291
    functionLinenumberEnd: 1306
    functionName: check_apply_param__thread_per_conn
    functionSourceFile: /src/mhd2/src/tools/perf_replies.c
    functionUses: 0
    functionsReached:
    - fprintf
    linkageType: ''
    returnType: int
    signature: int check_apply_param__thread_per_conn (void)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: MHD_lib_get_info_fixed
      Src: /src/mhd2/src/tools/perf_replies.c:1319,1
    - Dst: fprintf
      Src: /src/mhd2/src/tools/perf_replies.c:1323,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1328
      start: 1313
    functionDepth: 1
    functionLinenumber: 1313
    functionLinenumberEnd: 1328
    functionName: check_param__epoll
    functionSourceFile: /src/mhd2/src/tools/perf_replies.c
    functionUses: 0
    functionsReached:
    - MHD_lib_get_info_fixed
    - fprintf
    linkageType: ''
    returnType: int
    signature: int check_param__epoll (void)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: MHD_lib_get_info_fixed
      Src: /src/mhd2/src/tools/perf_replies.c:1338,1
    - Dst: fprintf
      Src: /src/mhd2/src/tools/perf_replies.c:1342,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1347
      start: 1332
    functionDepth: 1
    functionLinenumber: 1332
    functionLinenumberEnd: 1347
    functionName: check_param__poll
    functionSourceFile: /src/mhd2/src/tools/perf_replies.c
    functionUses: 0
    functionsReached:
    - MHD_lib_get_info_fixed
    - fprintf
    linkageType: ''
    returnType: int
    signature: int check_param__poll (void)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: MHD_lib_get_info_fixed
      Src: /src/mhd2/src/tools/perf_replies.c:1357,1
    - Dst: fprintf
      Src: /src/mhd2/src/tools/perf_replies.c:1361,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1366
      start: 1351
    functionDepth: 1
    functionLinenumber: 1351
    functionLinenumberEnd: 1366
    functionName: check_param__select
    functionSourceFile: /src/mhd2/src/tools/perf_replies.c
    functionUses: 0
    functionsReached:
    - MHD_lib_get_info_fixed
    - fprintf
    linkageType: ''
    returnType: int
    signature: int check_param__select (void)
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1375
      start: 1369
    functionDepth: 0
    functionLinenumber: 1369
    functionLinenumberEnd: 1375
    functionName: check_param__empty_tiny_medium_large_xlarge_jumbo
    functionSourceFile: /src/mhd2/src/tools/perf_replies.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void check_param__empty_tiny_medium_large_xlarge_jumbo (void)
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1383
      start: 1378
    functionDepth: 0
    functionLinenumber: 1378
    functionLinenumberEnd: 1383
    functionName: check_param__shared_single_unique
    functionSourceFile: /src/mhd2/src/tools/perf_replies.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void check_param__shared_single_unique (void)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: get_num_threads
      Src: /src/mhd2/src/tools/perf_replies.c:1394,1
    - Dst: fprintf
      Src: /src/mhd2/src/tools/perf_replies.c:1396,1
    - Dst: get_num_threads
      Src: /src/mhd2/src/tools/perf_replies.c:1398,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1402
      start: 1389
    functionDepth: 6
    functionLinenumber: 1389
    functionLinenumberEnd: 1402
    functionName: check_param__connections
    functionSourceFile: /src/mhd2/src/tools/perf_replies.c
    functionUses: 0
    functionsReached:
    - get_num_threads
    - fprintf
    linkageType: ''
    returnType: int
    signature: int check_param__connections (void)
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: show_help
      Src: /src/mhd2/src/tools/perf_replies.c:1416,1
    - Dst: print_version
      Src: /src/mhd2/src/tools/perf_replies.c:1421,1
    - Dst: check_apply_param__all_cpus
      Src: /src/mhd2/src/tools/perf_replies.c:1424,1
    - Dst: check_apply_param__threads
      Src: /src/mhd2/src/tools/perf_replies.c:1425,1
    - Dst: check_apply_param__thread_per_conn
      Src: /src/mhd2/src/tools/perf_replies.c:1427,1
    - Dst: check_param__epoll
      Src: /src/mhd2/src/tools/perf_replies.c:1430,1
    - Dst: check_param__poll
      Src: /src/mhd2/src/tools/perf_replies.c:1432,1
    - Dst: check_param__select
      Src: /src/mhd2/src/tools/perf_replies.c:1434,1
    - Dst: check_param__empty_tiny_medium_large_xlarge_jumbo
      Src: /src/mhd2/src/tools/perf_replies.c:1436,1
    - Dst: check_param__shared_single_unique
      Src: /src/mhd2/src/tools/perf_replies.c:1437,1
    - Dst: check_param__connections
      Src: /src/mhd2/src/tools/perf_replies.c:1438,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 24
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1441
      start: 1411
    functionDepth: 7
    functionLinenumber: 1411
    functionLinenumberEnd: 1441
    functionName: check_apply_params
    functionSourceFile: /src/mhd2/src/tools/perf_replies.c
    functionUses: 0
    functionsReached:
    - check_apply_param__thread_per_conn
    - check_param__poll
    - show_help
    - check_apply_param__all_cpus
    - check_param__shared_single_unique
    - check_param__epoll
    - check_param__empty_tiny_medium_large_xlarge_jumbo
    - check_param__select
    - check_param__connections
    - print_version
    - check_apply_param__threads
    linkageType: ''
    returnType: int
    signature: int check_apply_params (void)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1464
      start: 1444
    functionDepth: 0
    functionLinenumber: 1444
    functionLinenumberEnd: 1464
    functionName: mini_rnd
    functionSourceFile: /src/mhd2/src/tools/perf_replies.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: uint_fast64_t
    signature: uint_fast64_t mini_rnd (void)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: malloc
      Src: /src/mhd2/src/tools/perf_replies.c:1485,1
    - Dst: fprintf
      Src: /src/mhd2/src/tools/perf_replies.c:1488,1
    - Dst: memcpy
      Src: /src/mhd2/src/tools/perf_replies.c:1506,1
    - Dst: mhd_SSTR_LEN
      Src: /src/mhd2/src/tools/perf_replies.c:1506,1
    - Dst: mhd_SSTR_LEN
      Src: /src/mhd2/src/tools/perf_replies.c:1507,1
    - Dst: mhd_SSTR_LEN
      Src: /src/mhd2/src/tools/perf_replies.c:1509,1
    - Dst: mhd_SSTR_LEN
      Src: /src/mhd2/src/tools/perf_replies.c:1510,1
    - Dst: mhd_SSTR_LEN
      Src: /src/mhd2/src/tools/perf_replies.c:1514,1
    - Dst: memcpy
      Src: /src/mhd2/src/tools/perf_replies.c:1517,1
    - Dst: mhd_SSTR_LEN
      Src: /src/mhd2/src/tools/perf_replies.c:1517,1
    - Dst: mini_rnd
      Src: /src/mhd2/src/tools/perf_replies.c:1534,1
    - Dst: mini_rnd
      Src: /src/mhd2/src/tools/perf_replies.c:1544,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 40
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1553
      start: 1480
    functionDepth: 1
    functionLinenumber: 1480
    functionLinenumberEnd: 1553
    functionName: init_response_body_data
    functionSourceFile: /src/mhd2/src/tools/perf_replies.c
    functionUses: 0
    functionsReached:
    - fprintf
    - malloc
    - mhd_SSTR_LEN
    - memcpy
    - mini_rnd
    linkageType: ''
    returnType: int
    signature: int init_response_body_data (void)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: MHD_response_from_buffer_static
      Src: /src/mhd2/src/tools/perf_replies.c:1561,1
    - Dst: MHD_response_from_empty
      Src: /src/mhd2/src/tools/perf_replies.c:1565,1
    - Dst: MHD_response_from_buffer_static
      Src: /src/mhd2/src/tools/perf_replies.c:1567,1
    - Dst: mhd_SSTR_LEN
      Src: /src/mhd2/src/tools/perf_replies.c:1568,1
    - Dst: MHD_RESPONSE_SET_OPTIONS
      Src: /src/mhd2/src/tools/perf_replies.c:1573,1
    - Dst: MHD_R_OPTION_REUSABLE
      Src: /src/mhd2/src/tools/perf_replies.c:1574,1
    - Dst: MHD_response_destroy
      Src: /src/mhd2/src/tools/perf_replies.c:1576,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 13
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1581
      start: 1556
    functionDepth: 1
    functionLinenumber: 1556
    functionLinenumberEnd: 1581
    functionName: create_reusable_response_object
    functionSourceFile: /src/mhd2/src/tools/perf_replies.c
    functionUses: 0
    functionsReached:
    - MHD_response_destroy
    - mhd_SSTR_LEN
    - MHD_response_from_buffer_static
    - MHD_response_from_empty
    - MHD_RESPONSE_SET_OPTIONS
    - MHD_R_OPTION_REUSABLE
    linkageType: ''
    returnType: struct MHD_Response
    signature: 'struct MHD_Response *

      create_reusable_response_object (void)'
  - BBCount: 15
    BranchProfiles: []
    Callsites:
    - Dst: init_response_body_data
      Src: /src/mhd2/src/tools/perf_replies.c:1600,1
    - Dst: create_reusable_response_object
      Src: /src/mhd2/src/tools/perf_replies.c:1608,1
    - Dst: fprintf
      Src: /src/mhd2/src/tools/perf_replies.c:1611,1
    - Dst: get_num_threads
      Src: /src/mhd2/src/tools/perf_replies.c:1620,1
    - Dst: get_cpu_core_count
      Src: /src/mhd2/src/tools/perf_replies.c:1622,1
    - Dst: malloc
      Src: /src/mhd2/src/tools/perf_replies.c:1625,1
    - Dst: free
      Src: /src/mhd2/src/tools/perf_replies.c:1630,1
    - Dst: fprintf
      Src: /src/mhd2/src/tools/perf_replies.c:1633,1
    - Dst: create_reusable_response_object
      Src: /src/mhd2/src/tools/perf_replies.c:1638,1
    - Dst: fprintf
      Src: /src/mhd2/src/tools/perf_replies.c:1641,1
    - Dst: MHD_response_destroy
      Src: /src/mhd2/src/tools/perf_replies.c:1650,1
    - Dst: free
      Src: /src/mhd2/src/tools/perf_replies.c:1651,1
    - Dst: free
      Src: /src/mhd2/src/tools/perf_replies.c:1655,1
    CyclomaticComplexity: 17
    EdgeCount: 17
    ICount: 52
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1658
      start: 1584
    functionDepth: 6
    functionLinenumber: 1584
    functionLinenumberEnd: 1658
    functionName: init_data
    functionSourceFile: /src/mhd2/src/tools/perf_replies.c
    functionUses: 0
    functionsReached:
    - fprintf
    - create_reusable_response_object
    - malloc
    - MHD_response_destroy
    - init_response_body_data
    - free
    - get_cpu_core_count
    - get_num_threads
    linkageType: ''
    returnType: int
    signature: int init_data (void)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: MHD_response_destroy
      Src: /src/mhd2/src/tools/perf_replies.c:1665,1
    - Dst: MHD_response_destroy
      Src: /src/mhd2/src/tools/perf_replies.c:1671,1
    - Dst: free
      Src: /src/mhd2/src/tools/perf_replies.c:1673,1
    - Dst: free
      Src: /src/mhd2/src/tools/perf_replies.c:1677,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 14
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1679
      start: 1661
    functionDepth: 1
    functionLinenumber: 1661
    functionLinenumberEnd: 1679
    functionName: deinit_data
    functionSourceFile: /src/mhd2/src/tools/perf_replies.c
    functionUses: 0
    functionsReached:
    - free
    - MHD_response_destroy
    linkageType: ''
    returnType: void
    signature: void deinit_data (void)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: MHD_action_abort_request
      Src: /src/mhd2/src/tools/perf_replies.c:1698,1
    - Dst: MHD_action_from_response
      Src: /src/mhd2/src/tools/perf_replies.c:1704,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 5
    argNames:
    - cls
    - MHD_RESTRICT
    - MHD_RESTRICT
    - method
    - upload_size
    argTypes:
    - void*
    - struct MHD_Request*
    - struct MHD_String*
    - enum MHD_HTTP_Method
    - uint_fast64_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1706
      start: 1683
    functionDepth: 1
    functionLinenumber: 1683
    functionLinenumberEnd: 1706
    functionName: answer_shared_response
    functionSourceFile: /src/mhd2/src/tools/perf_replies.c
    functionUses: 0
    functionsReached:
    - MHD_action_from_response
    - MHD_action_abort_request
    linkageType: ''
    returnType: struct MHD_Action
    signature: "struct MHD_Action *\nanswer_shared_response (void *cls,\n                        struct
      MHD_Request *MHD_RESTRICT request,\n                        const struct MHD_String
      *MHD_RESTRICT path,\n                        enum MHD_HTTP_Method method,\n
      \                       uint_fast64_t upload_size)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: MHD_action_abort_request
      Src: /src/mhd2/src/tools/perf_replies.c:1723,1
    - Dst: MHD_action_from_response
      Src: /src/mhd2/src/tools/perf_replies.c:1725,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 5
    argNames:
    - cls
    - MHD_RESTRICT
    - MHD_RESTRICT
    - method
    - upload_size
    argTypes:
    - void*
    - struct MHD_Request*
    - struct MHD_String*
    - enum MHD_HTTP_Method
    - uint_fast64_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1727
      start: 1710
    functionDepth: 1
    functionLinenumber: 1710
    functionLinenumberEnd: 1727
    functionName: answer_single_response
    functionSourceFile: /src/mhd2/src/tools/perf_replies.c
    functionUses: 0
    functionsReached:
    - MHD_action_from_response
    - MHD_action_abort_request
    linkageType: ''
    returnType: struct MHD_Action
    signature: "struct MHD_Action *\nanswer_single_response (void *cls,\n                        struct
      MHD_Request *MHD_RESTRICT request,\n                        const struct MHD_String
      *MHD_RESTRICT path,\n                        enum MHD_HTTP_Method method,\n
      \                       uint_fast64_t upload_size)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: MHD_action_abort_request
      Src: /src/mhd2/src/tools/perf_replies.c:1744,1
    - Dst: MHD_action_from_response
      Src: /src/mhd2/src/tools/perf_replies.c:1747,1
    - Dst: MHD_response_from_empty
      Src: /src/mhd2/src/tools/perf_replies.c:1748,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 5
    argNames:
    - cls
    - MHD_RESTRICT
    - MHD_RESTRICT
    - method
    - upload_size
    argTypes:
    - void*
    - struct MHD_Request*
    - struct MHD_String*
    - enum MHD_HTTP_Method
    - uint_fast64_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1749
      start: 1731
    functionDepth: 1
    functionLinenumber: 1731
    functionLinenumberEnd: 1749
    functionName: answer_unique_empty_response
    functionSourceFile: /src/mhd2/src/tools/perf_replies.c
    functionUses: 0
    functionsReached:
    - MHD_response_from_empty
    - MHD_action_from_response
    - MHD_action_abort_request
    linkageType: ''
    returnType: struct MHD_Action
    signature: "struct MHD_Action *\nanswer_unique_empty_response (void *cls,\n                              struct
      MHD_Request *MHD_RESTRICT request,\n                              const struct
      MHD_String *MHD_RESTRICT path,\n                              enum MHD_HTTP_Method
      method,\n                              uint_fast64_t upload_size)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: MHD_action_abort_request
      Src: /src/mhd2/src/tools/perf_replies.c:1766,1
    - Dst: MHD_action_from_response
      Src: /src/mhd2/src/tools/perf_replies.c:1769,1
    - Dst: MHD_response_from_buffer_static
      Src: /src/mhd2/src/tools/perf_replies.c:1771,1
    - Dst: mhd_SSTR_LEN
      Src: /src/mhd2/src/tools/perf_replies.c:1772,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 5
    argNames:
    - cls
    - MHD_RESTRICT
    - MHD_RESTRICT
    - method
    - upload_size
    argTypes:
    - void*
    - struct MHD_Request*
    - struct MHD_String*
    - enum MHD_HTTP_Method
    - uint_fast64_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1774
      start: 1753
    functionDepth: 1
    functionLinenumber: 1753
    functionLinenumberEnd: 1774
    functionName: answer_unique_tiny_response
    functionSourceFile: /src/mhd2/src/tools/perf_replies.c
    functionUses: 0
    functionsReached:
    - MHD_response_from_buffer_static
    - MHD_action_from_response
    - mhd_SSTR_LEN
    - MHD_action_abort_request
    linkageType: ''
    returnType: struct MHD_Action
    signature: "struct MHD_Action *\nanswer_unique_tiny_response (void *cls,\n                             struct
      MHD_Request *MHD_RESTRICT request,\n                             const struct
      MHD_String *MHD_RESTRICT path,\n                             enum MHD_HTTP_Method
      method,\n                             uint_fast64_t upload_size)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: MHD_action_abort_request
      Src: /src/mhd2/src/tools/perf_replies.c:1791,1
    - Dst: MHD_action_from_response
      Src: /src/mhd2/src/tools/perf_replies.c:1794,1
    - Dst: MHD_response_from_buffer_static
      Src: /src/mhd2/src/tools/perf_replies.c:1796,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 5
    argNames:
    - cls
    - MHD_RESTRICT
    - MHD_RESTRICT
    - method
    - upload_size
    argTypes:
    - void*
    - struct MHD_Request*
    - struct MHD_String*
    - enum MHD_HTTP_Method
    - uint_fast64_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1799
      start: 1778
    functionDepth: 1
    functionLinenumber: 1778
    functionLinenumberEnd: 1799
    functionName: answer_unique_dyn_response
    functionSourceFile: /src/mhd2/src/tools/perf_replies.c
    functionUses: 0
    functionsReached:
    - MHD_response_from_buffer_static
    - MHD_action_from_response
    - MHD_action_abort_request
    linkageType: ''
    returnType: struct MHD_Action
    signature: "struct MHD_Action *\nanswer_unique_dyn_response (void *cls,\n                            struct
      MHD_Request *MHD_RESTRICT request,\n                            const struct
      MHD_String *MHD_RESTRICT path,\n                            enum MHD_HTTP_Method
      method,\n                            uint_fast64_t upload_size)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: fprintf
      Src: /src/mhd2/src/tools/perf_replies.c:1807,1
    - Dst: fprintf
      Src: /src/mhd2/src/tools/perf_replies.c:1812,1
    - Dst: fprintf
      Src: /src/mhd2/src/tools/perf_replies.c:1817,1
    - Dst: MHD_lib_get_info_fixed
      Src: /src/mhd2/src/tools/perf_replies.c:1824,1
    - Dst: fprintf
      Src: /src/mhd2/src/tools/perf_replies.c:1828,1
    - Dst: printf
      Src: /src/mhd2/src/tools/perf_replies.c:1834,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 16
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1835
      start: 1802
    functionDepth: 1
    functionLinenumber: 1802
    functionLinenumberEnd: 1835
    functionName: print_perf_warnings
    functionSourceFile: /src/mhd2/src/tools/perf_replies.c
    functionUses: 0
    functionsReached:
    - MHD_lib_get_info_fixed
    - printf
    - fprintf
    linkageType: ''
    returnType: void
    signature: void print_perf_warnings (void)
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: MHD_daemon_get_info_fixed
      Src: /src/mhd2/src/tools/perf_replies.c:1844,1
    - Dst: abort
      Src: /src/mhd2/src/tools/perf_replies.c:1847,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 18
    argCount: 1
    argNames:
    - d
    argTypes:
    - struct MHD_Daemon*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1864
      start: 1838
    functionDepth: 1
    functionLinenumber: 1838
    functionLinenumberEnd: 1864
    functionName: get_mhd_poll_func_name
    functionSourceFile: /src/mhd2/src/tools/perf_replies.c
    functionUses: 0
    functionsReached:
    - abort
    - MHD_daemon_get_info_fixed
    linkageType: ''
    returnType: char
    signature: 'char *

      get_mhd_poll_func_name (struct MHD_Daemon *d)'
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: MHD_daemon_get_info_fixed
      Src: /src/mhd2/src/tools/perf_replies.c:1872,1
    - Dst: abort
      Src: /src/mhd2/src/tools/perf_replies.c:1878,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 1
    argNames:
    - d
    argTypes:
    - struct MHD_Daemon*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1880
      start: 1867
    functionDepth: 1
    functionLinenumber: 1867
    functionLinenumberEnd: 1880
    functionName: get_mhd_bind_port
    functionSourceFile: /src/mhd2/src/tools/perf_replies.c
    functionUses: 0
    functionsReached:
    - abort
    - MHD_daemon_get_info_fixed
    linkageType: ''
    returnType: uint_least16_t
    signature: uint_least16_t get_mhd_bind_port (struct MHD_Daemon *d)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: MHD_daemon_get_info_fixed
      Src: /src/mhd2/src/tools/perf_replies.c:1888,1
    - Dst: abort
      Src: /src/mhd2/src/tools/perf_replies.c:1891,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - d
    argTypes:
    - struct MHD_Daemon*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1893
      start: 1883
    functionDepth: 1
    functionLinenumber: 1883
    functionLinenumberEnd: 1893
    functionName: get_mhd_num_threads
    functionSourceFile: /src/mhd2/src/tools/perf_replies.c
    functionUses: 0
    functionsReached:
    - abort
    - MHD_daemon_get_info_fixed
    linkageType: ''
    returnType: unsigned int
    signature: unsigned int get_mhd_num_threads (struct MHD_Daemon *d)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: MHD_daemon_get_info_fixed
      Src: /src/mhd2/src/tools/perf_replies.c:1901,1
    - Dst: abort
      Src: /src/mhd2/src/tools/perf_replies.c:1904,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - d
    argTypes:
    - struct MHD_Daemon*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1906
      start: 1896
    functionDepth: 1
    functionLinenumber: 1896
    functionLinenumberEnd: 1906
    functionName: get_mhd_conn_limit
    functionSourceFile: /src/mhd2/src/tools/perf_replies.c
    functionUses: 0
    functionsReached:
    - abort
    - MHD_daemon_get_info_fixed
    linkageType: ''
    returnType: unsigned int
    signature: unsigned int get_mhd_conn_limit (struct MHD_Daemon *d)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: MHD_daemon_get_info_fixed
      Src: /src/mhd2/src/tools/perf_replies.c:1914,1
    - Dst: abort
      Src: /src/mhd2/src/tools/perf_replies.c:1917,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - d
    argTypes:
    - struct MHD_Daemon*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1919
      start: 1909
    functionDepth: 1
    functionLinenumber: 1909
    functionLinenumberEnd: 1919
    functionName: get_mhd_def_timeout
    functionSourceFile: /src/mhd2/src/tools/perf_replies.c
    functionUses: 0
    functionsReached:
    - abort
    - MHD_daemon_get_info_fixed
    linkageType: ''
    returnType: unsigned long
    signature: unsigned long get_mhd_def_timeout (struct MHD_Daemon *d)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: MHD_daemon_get_info_fixed
      Src: /src/mhd2/src/tools/perf_replies.c:1927,1
    - Dst: abort
      Src: /src/mhd2/src/tools/perf_replies.c:1930,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - d
    argTypes:
    - struct MHD_Daemon*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1932
      start: 1922
    functionDepth: 1
    functionLinenumber: 1922
    functionLinenumberEnd: 1932
    functionName: get_mhd_suppr_date
    functionSourceFile: /src/mhd2/src/tools/perf_replies.c
    functionUses: 0
    functionsReached:
    - abort
    - MHD_daemon_get_info_fixed
    linkageType: ''
    returnType: int
    signature: int get_mhd_suppr_date (struct MHD_Daemon *d)
  - BBCount: 7
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 14
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1951
      start: 1935
    functionDepth: 0
    functionLinenumber: 1935
    functionLinenumberEnd: 1951
    functionName: get_mhd_response_size
    functionSourceFile: /src/mhd2/src/tools/perf_replies.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: char
    signature: 'char *

      get_mhd_response_size (void)'
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: set_self_name
      Src: /src/mhd2/src/tools/perf_replies.c:2108,1
    - Dst: process_params
      Src: /src/mhd2/src/tools/perf_replies.c:2109,1
    - Dst: check_apply_params
      Src: /src/mhd2/src/tools/perf_replies.c:2112,1
    - Dst: init_data
      Src: /src/mhd2/src/tools/perf_replies.c:2117,1
    - Dst: run_mhd
      Src: /src/mhd2/src/tools/perf_replies.c:2120,1
    - Dst: deinit_data
      Src: /src/mhd2/src/tools/perf_replies.c:2121,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 16
    argCount: 2
    argNames:
    - argc
    - argv
    argTypes:
    - int
    - char**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2123
      start: 2104
    functionDepth: 8
    functionLinenumber: 2104
    functionLinenumberEnd: 2123
    functionName: main
    functionSourceFile: /src/mhd2/src/tools/perf_replies.c
    functionUses: 0
    functionsReached:
    - check_apply_params
    - set_self_name
    - deinit_data
    - process_params
    - run_mhd
    - init_data
    linkageType: ''
    returnType: int
    signature: int main (int argc, char *const *argv)
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: sched_getaffinity
      Src: /src/mhd2/src/tools/mhdtl_get_cpu_count.c:156,1
    - Dst: getpid
      Src: /src/mhd2/src/tools/mhdtl_get_cpu_count.c:156,1
    - Dst: CPU_COUNT
      Src: /src/mhd2/src/tools/mhdtl_get_cpu_count.c:159,1
    - Dst: CPU_ISSET
      Src: /src/mhd2/src/tools/mhdtl_get_cpu_count.c:165,1
    - Dst: CPU_ALLOC_SIZE
      Src: /src/mhd2/src/tools/mhdtl_get_cpu_count.c:179,1
    - Dst: CPU_ALLOC
      Src: /src/mhd2/src/tools/mhdtl_get_cpu_count.c:182,1
    - Dst: sched_getaffinity
      Src: /src/mhd2/src/tools/mhdtl_get_cpu_count.c:185,1
    - Dst: getpid
      Src: /src/mhd2/src/tools/mhdtl_get_cpu_count.c:185,1
    - Dst: CPU_COUNT_S
      Src: /src/mhd2/src/tools/mhdtl_get_cpu_count.c:188,1
    - Dst: CPU_COUNT_S
      Src: /src/mhd2/src/tools/mhdtl_get_cpu_count.c:190,1
    - Dst: CPU_FREE
      Src: /src/mhd2/src/tools/mhdtl_get_cpu_count.c:193,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 26
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 201
      start: 147
    functionDepth: 0
    functionLinenumber: 147
    functionLinenumberEnd: 201
    functionName: mhdtl_get_proc_cpu_count_sched_getaffinity_
    functionSourceFile: /src/mhd2/src/tools/mhdtl_get_cpu_count.c
    functionUses: 0
    functionsReached:
    - sched_getaffinity
    - CPU_FREE
    - CPU_COUNT_S
    - CPU_ISSET
    - CPU_ALLOC
    - getpid
    - CPU_COUNT
    - CPU_ALLOC_SIZE
    linkageType: ''
    returnType: int
    signature: int mhdtl_get_proc_cpu_count_sched_getaffinity_ (void)
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: cpuset_getaffinity
      Src: /src/mhd2/src/tools/mhdtl_get_cpu_count.c:221,1
    - Dst: CPU_COUNT
      Src: /src/mhd2/src/tools/mhdtl_get_cpu_count.c:225,1
    - Dst: CPU_ISSET
      Src: /src/mhd2/src/tools/mhdtl_get_cpu_count.c:231,1
    - Dst: CPU_ALLOC_SIZE
      Src: /src/mhd2/src/tools/mhdtl_get_cpu_count.c:245,1
    - Dst: CPU_ALLOC
      Src: /src/mhd2/src/tools/mhdtl_get_cpu_count.c:248,1
    - Dst: cpuset_getaffinity
      Src: /src/mhd2/src/tools/mhdtl_get_cpu_count.c:251,1
    - Dst: CPU_COUNT_S
      Src: /src/mhd2/src/tools/mhdtl_get_cpu_count.c:255,1
    - Dst: CPU_COUNT_S
      Src: /src/mhd2/src/tools/mhdtl_get_cpu_count.c:257,1
    - Dst: CPU_FREE
      Src: /src/mhd2/src/tools/mhdtl_get_cpu_count.c:260,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 26
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 268
      start: 210
    functionDepth: 0
    functionLinenumber: 210
    functionLinenumberEnd: 268
    functionName: mhdtl_get_proc_cpu_count_cpuset_getaffinity_
    functionSourceFile: /src/mhd2/src/tools/mhdtl_get_cpu_count.c
    functionUses: 0
    functionsReached:
    - CPU_FREE
    - CPU_COUNT_S
    - CPU_ISSET
    - CPU_ALLOC
    - cpuset_getaffinity
    - CPU_COUNT
    - CPU_ALLOC_SIZE
    linkageType: ''
    returnType: int
    signature: int mhdtl_get_proc_cpu_count_cpuset_getaffinity_ (void)
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: cpuset_create
      Src: /src/mhd2/src/tools/mhdtl_get_cpu_count.c:284,1
    - Dst: sched_getaffinity_np
      Src: /src/mhd2/src/tools/mhdtl_get_cpu_count.c:287,1
    - Dst: getpid
      Src: /src/mhd2/src/tools/mhdtl_get_cpu_count.c:287,1
    - Dst: cpuset_size
      Src: /src/mhd2/src/tools/mhdtl_get_cpu_count.c:287,1
    - Dst: sysconf
      Src: /src/mhd2/src/tools/mhdtl_get_cpu_count.c:294,1
    - Dst: cpuset_isset
      Src: /src/mhd2/src/tools/mhdtl_get_cpu_count.c:301,1
    - Dst: cpuset_isset
      Src: /src/mhd2/src/tools/mhdtl_get_cpu_count.c:313,1
    - Dst: mhdtl_get_sys_cpu_count_sysctl_
      Src: /src/mhd2/src/tools/mhdtl_get_cpu_count.c:323,1
    - Dst: cpuset_destroy
      Src: /src/mhd2/src/tools/mhdtl_get_cpu_count.c:327,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 31
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 333
      start: 277
    functionDepth: 1
    functionLinenumber: 277
    functionLinenumberEnd: 333
    functionName: mhdtl_get_proc_cpu_count_sched_getaffinity_np_
    functionSourceFile: /src/mhd2/src/tools/mhdtl_get_cpu_count.c
    functionUses: 0
    functionsReached:
    - cpuset_size
    - getpid
    - cpuset_isset
    - sched_getaffinity_np
    - sysconf
    - cpuset_create
    - mhdtl_get_sys_cpu_count_sysctl_
    - cpuset_destroy
    linkageType: ''
    returnType: int
    signature: int mhdtl_get_proc_cpu_count_sched_getaffinity_np_ (void)
  - BBCount: 17
    BranchProfiles: []
    Callsites:
    - Dst: GetProcessAffinityMask
      Src: /src/mhd2/src/tools/mhdtl_get_cpu_count.c:363,1
    - Dst: GetCurrentProcess
      Src: /src/mhd2/src/tools/mhdtl_get_cpu_count.c:363,1
    - Dst: LoadLibraryA
      Src: /src/mhd2/src/tools/mhdtl_get_cpu_count.c:373,1
    - Dst: GetProcAddress
      Src: /src/mhd2/src/tools/mhdtl_get_cpu_count.c:381,1
    - Dst: ptrGetProcessGroupAffinity
      Src: /src/mhd2/src/tools/mhdtl_get_cpu_count.c:415,1
    - Dst: GetCurrentProcess
      Src: /src/mhd2/src/tools/mhdtl_get_cpu_count.c:415,1
    - Dst: GetProcAddress
      Src: /src/mhd2/src/tools/mhdtl_get_cpu_count.c:431,1
    - Dst: ptrGetThreadGroupAffinity
      Src: /src/mhd2/src/tools/mhdtl_get_cpu_count.c:436,1
    - Dst: GetCurrentThread
      Src: /src/mhd2/src/tools/mhdtl_get_cpu_count.c:436,1
    - Dst: GetProcAddress
      Src: /src/mhd2/src/tools/mhdtl_get_cpu_count.c:443,1
    - Dst: ptrGetProcessDefaultCpuSetMasks
      Src: /src/mhd2/src/tools/mhdtl_get_cpu_count.c:456,1
    - Dst: GetCurrentProcess
      Src: /src/mhd2/src/tools/mhdtl_get_cpu_count.c:456,1
    - Dst: FreeLibrary
      Src: /src/mhd2/src/tools/mhdtl_get_cpu_count.c:523,1
    CyclomaticComplexity: 18
    EdgeCount: 18
    ICount: 60
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 530
      start: 342
    functionDepth: 0
    functionLinenumber: 342
    functionLinenumberEnd: 530
    functionName: mhdtl_get_proc_cpu_count_w32_
    functionSourceFile: /src/mhd2/src/tools/mhdtl_get_cpu_count.c
    functionUses: 0
    functionsReached:
    - GetProcAddress
    - ptrGetProcessDefaultCpuSetMasks
    - FreeLibrary
    - ptrGetProcessGroupAffinity
    - GetProcessAffinityMask
    - GetCurrentThread
    - GetCurrentProcess
    - ptrGetThreadGroupAffinity
    - LoadLibraryA
    linkageType: ''
    returnType: int
    signature: int mhdtl_get_proc_cpu_count_w32_ (void)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: mhdtl_get_proc_cpu_count_sched_getaffinity_
      Src: /src/mhd2/src/tools/mhdtl_get_cpu_count.c:551,1
    - Dst: mhdtl_get_proc_cpu_count_cpuset_getaffinity_
      Src: /src/mhd2/src/tools/mhdtl_get_cpu_count.c:555,1
    - Dst: mhdtl_get_proc_cpu_count_cpuset_getaffinity_
      Src: /src/mhd2/src/tools/mhdtl_get_cpu_count.c:561,1
    - Dst: mhdtl_get_proc_cpu_count_sched_getaffinity_
      Src: /src/mhd2/src/tools/mhdtl_get_cpu_count.c:565,1
    - Dst: mhdtl_get_proc_cpu_count_sched_getaffinity_np_
      Src: /src/mhd2/src/tools/mhdtl_get_cpu_count.c:570,1
    - Dst: mhdtl_get_proc_cpu_count_w32_
      Src: /src/mhd2/src/tools/mhdtl_get_cpu_count.c:574,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 20
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 579
      start: 542
    functionDepth: 2
    functionLinenumber: 542
    functionLinenumberEnd: 579
    functionName: mhdtl_get_proc_cpu_count
    functionSourceFile: /src/mhd2/src/tools/mhdtl_get_cpu_count.c
    functionUses: 2
    functionsReached:
    - mhdtl_get_proc_cpu_count_sched_getaffinity_
    - mhdtl_get_proc_cpu_count_sched_getaffinity_np_
    - mhdtl_get_proc_cpu_count_cpuset_getaffinity_
    - mhdtl_get_proc_cpu_count_w32_
    linkageType: ''
    returnType: int
    signature: int mhdtl_get_proc_cpu_count (void)
  - BBCount: 16
    BranchProfiles: []
    Callsites:
    - Dst: memset
      Src: /src/mhd2/src/tools/mhdtl_get_cpu_count.c:596,1
    - Dst: pstat_getdynamic
      Src: /src/mhd2/src/tools/mhdtl_get_cpu_count.c:597,1
    - Dst: vxCpuEnabledGet
      Src: /src/mhd2/src/tools/mhdtl_get_cpu_count.c:609,1
    - Dst: LoadLibraryA
      Src: /src/mhd2/src/tools/mhdtl_get_cpu_count.c:620,1
    - Dst: GetProcAddress
      Src: /src/mhd2/src/tools/mhdtl_get_cpu_count.c:627,1
    - Dst: ptrGetActiveProcessorCount
      Src: /src/mhd2/src/tools/mhdtl_get_cpu_count.c:631,1
    - Dst: GetProcAddress
      Src: /src/mhd2/src/tools/mhdtl_get_cpu_count.c:644,1
    - Dst: memset
      Src: /src/mhd2/src/tools/mhdtl_get_cpu_count.c:649,1
    - Dst: ptrGetNativeSystemInfo
      Src: /src/mhd2/src/tools/mhdtl_get_cpu_count.c:650,1
    - Dst: FreeLibrary
      Src: /src/mhd2/src/tools/mhdtl_get_cpu_count.c:657,1
    - Dst: memset
      Src: /src/mhd2/src/tools/mhdtl_get_cpu_count.c:664,1
    - Dst: GetSystemInfo
      Src: /src/mhd2/src/tools/mhdtl_get_cpu_count.c:665,1
    CyclomaticComplexity: 18
    EdgeCount: 18
    ICount: 47
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 674
      start: 587
    functionDepth: 0
    functionLinenumber: 587
    functionLinenumberEnd: 674
    functionName: mhdtl_get_sys_cpu_count_special_api_
    functionSourceFile: /src/mhd2/src/tools/mhdtl_get_cpu_count.c
    functionUses: 0
    functionsReached:
    - GetProcAddress
    - FreeLibrary
    - memset
    - pstat_getdynamic
    - ptrGetNativeSystemInfo
    - vxCpuEnabledGet
    - GetSystemInfo
    - ptrGetActiveProcessorCount
    - LoadLibraryA
    linkageType: ''
    returnType: int
    signature: int mhdtl_get_sys_cpu_count_special_api_ (void)
  - BBCount: 16
    BranchProfiles: []
    Callsites:
    - Dst: sysctlbyname
      Src: /src/mhd2/src/tools/mhdtl_get_cpu_count.c:698,1
    - Dst: sysctlbyname
      Src: /src/mhd2/src/tools/mhdtl_get_cpu_count.c:707,1
    - Dst: sysctlbyname
      Src: /src/mhd2/src/tools/mhdtl_get_cpu_count.c:716,1
    - Dst: sysctlbyname
      Src: /src/mhd2/src/tools/mhdtl_get_cpu_count.c:725,1
    - Dst: sysctlbyname
      Src: /src/mhd2/src/tools/mhdtl_get_cpu_count.c:734,1
    - Dst: sysctl
      Src: /src/mhd2/src/tools/mhdtl_get_cpu_count.c:748,1
    - Dst: sysctl
      Src: /src/mhd2/src/tools/mhdtl_get_cpu_count.c:761,1
    CyclomaticComplexity: 26
    EdgeCount: 26
    ICount: 32
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 770
      start: 686
    functionDepth: 0
    functionLinenumber: 686
    functionLinenumberEnd: 770
    functionName: mhdtl_get_sys_cpu_count_sysctl_
    functionSourceFile: /src/mhd2/src/tools/mhdtl_get_cpu_count.c
    functionUses: 1
    functionsReached:
    - sysctlbyname
    - sysctl
    linkageType: ''
    returnType: int
    signature: int mhdtl_get_sys_cpu_count_sysctl_ (void)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: sysctlbyname
      Src: /src/mhd2/src/tools/mhdtl_get_cpu_count.c:796,1
    - Dst: sysctl
      Src: /src/mhd2/src/tools/mhdtl_get_cpu_count.c:810,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 12
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 819
      start: 784
    functionDepth: 0
    functionLinenumber: 784
    functionLinenumberEnd: 819
    functionName: mhdtl_get_sys_cpu_count_sysctl_fallback_
    functionSourceFile: /src/mhd2/src/tools/mhdtl_get_cpu_count.c
    functionUses: 0
    functionsReached:
    - sysctlbyname
    - sysctl
    linkageType: ''
    returnType: int
    signature: int mhdtl_get_sys_cpu_count_sysctl_fallback_ (void)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: sysconf
      Src: /src/mhd2/src/tools/mhdtl_get_cpu_count.c:839,1
    - Dst: sysconf
      Src: /src/mhd2/src/tools/mhdtl_get_cpu_count.c:843,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 11
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 853
      start: 830
    functionDepth: 0
    functionLinenumber: 830
    functionLinenumberEnd: 853
    functionName: mhdtl_get_sys_cpu_count_sysconf_
    functionSourceFile: /src/mhd2/src/tools/mhdtl_get_cpu_count.c
    functionUses: 0
    functionsReached:
    - sysconf
    linkageType: ''
    returnType: int
    signature: int mhdtl_get_sys_cpu_count_sysconf_ (void)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: sysconf
      Src: /src/mhd2/src/tools/mhdtl_get_cpu_count.c:875,1
    - Dst: sysconf
      Src: /src/mhd2/src/tools/mhdtl_get_cpu_count.c:879,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 11
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 889
      start: 866
    functionDepth: 0
    functionLinenumber: 866
    functionLinenumberEnd: 889
    functionName: mhdtl_get_sys_cpu_count_sysconf_fallback_
    functionSourceFile: /src/mhd2/src/tools/mhdtl_get_cpu_count.c
    functionUses: 0
    functionsReached:
    - sysconf
    linkageType: ''
    returnType: int
    signature: int mhdtl_get_sys_cpu_count_sysconf_fallback_ (void)
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: mhdtl_get_sys_cpu_count_special_api_
      Src: /src/mhd2/src/tools/mhdtl_get_cpu_count.c:905,1
    - Dst: mhdtl_get_sys_cpu_count_sysctl_
      Src: /src/mhd2/src/tools/mhdtl_get_cpu_count.c:911,1
    - Dst: mhdtl_get_sys_cpu_count_sysconf_
      Src: /src/mhd2/src/tools/mhdtl_get_cpu_count.c:917,1
    - Dst: mhdtl_get_proc_cpu_count
      Src: /src/mhd2/src/tools/mhdtl_get_cpu_count.c:932,1
    - Dst: mhdtl_get_sys_cpu_count_sysctl_fallback_
      Src: /src/mhd2/src/tools/mhdtl_get_cpu_count.c:945,1
    - Dst: mhdtl_get_sys_cpu_count_sysconf_fallback_
      Src: /src/mhd2/src/tools/mhdtl_get_cpu_count.c:949,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 27
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 959
      start: 899
    functionDepth: 3
    functionLinenumber: 899
    functionLinenumberEnd: 959
    functionName: mhdtl_get_system_cpu_count
    functionSourceFile: /src/mhd2/src/tools/mhdtl_get_cpu_count.c
    functionUses: 1
    functionsReached:
    - mhdtl_get_sys_cpu_count_sysctl_
    - mhdtl_get_sys_cpu_count_special_api_
    - mhdtl_get_sys_cpu_count_sysctl_fallback_
    - mhdtl_get_sys_cpu_count_sysconf_
    - mhdtl_get_sys_cpu_count_sysconf_fallback_
    - mhdtl_get_proc_cpu_count
    linkageType: ''
    returnType: int
    signature: int mhdtl_get_system_cpu_count (void)
  - BBCount: 4
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 18
    argCount: 2
    argNames:
    - str
    - value
    argTypes:
    - char*
    - unsigned int*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 88
      start: 59
    functionDepth: 0
    functionLinenumber: 59
    functionLinenumberEnd: 88
    functionName: mhdtl_str_to_uint
    functionSourceFile: /src/mhd2/src/tools/mhdtl_str_to_uint.h
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: size_t
    signature: size_t mhdtl_str_to_uint (const char *str, unsigned int *value)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: va_start
      Src: /src/mhd2/src/include/options-generator.c:96,1
    - Dst: vsnprintf
      Src: /src/mhd2/src/include/options-generator.c:98,1
    - Dst: va_end
      Src: /src/mhd2/src/include/options-generator.c:102,1
    - Dst: malloc
      Src: /src/mhd2/src/include/options-generator.c:103,1
    - Dst: va_start
      Src: /src/mhd2/src/include/options-generator.c:104,1
    - Dst: vsprintf
      Src: /src/mhd2/src/include/options-generator.c:106,1
    - Dst: va_end
      Src: /src/mhd2/src/include/options-generator.c:109,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 9
    argCount: 2
    argNames:
    - buf
    - format
    argTypes:
    - char**
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 111
      start: 88
    functionDepth: 0
    functionLinenumber: 88
    functionLinenumberEnd: 111
    functionName: my_asprintf
    functionSourceFile: /src/mhd2/src/include/options-generator.c
    functionUses: 0
    functionsReached:
    - malloc
    - vsprintf
    - va_start
    - va_end
    - vsnprintf
    linkageType: ''
    returnType: int
    signature: "int my_asprintf (char **buf,\n             const char *format,\n             ...)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: strcmp
      Src: /src/mhd2/src/include/options-generator.c:120,1
    - Dst: cb
      Src: /src/mhd2/src/include/options-generator.c:123,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 6
    argCount: 2
    argNames:
    - head
    - cb
    argTypes:
    - struct Option*
    - Callback
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 134
      start: 114
    functionDepth: 0
    functionLinenumber: 114
    functionLinenumberEnd: 134
    functionName: iterate
    functionSourceFile: /src/mhd2/src/include/options-generator.c
    functionUses: 0
    functionsReached:
    - cb
    - strcmp
    linkageType: ''
    returnType: void
    signature: "void iterate (struct Option *head,\n         Callback cb)"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: fprintf
      Src: /src/mhd2/src/include/options-generator.c:151,1
    - Dst: exit
      Src: /src/mhd2/src/include/options-generator.c:154,1
    - Dst: fprintf
      Src: /src/mhd2/src/include/options-generator.c:160,1
    - Dst: exit
      Src: /src/mhd2/src/include/options-generator.c:163,1
    - Dst: strrchr
      Src: /src/mhd2/src/include/options-generator.c:169,1
    - Dst: fprintf
      Src: /src/mhd2/src/include/options-generator.c:171,1
    - Dst: exit
      Src: /src/mhd2/src/include/options-generator.c:175,1
    - Dst: strchr
      Src: /src/mhd2/src/include/options-generator.c:178,1
    - Dst: fprintf
      Src: /src/mhd2/src/include/options-generator.c:180,1
    - Dst: exit
      Src: /src/mhd2/src/include/options-generator.c:183,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 19
    argCount: 10
    argNames:
    - name
    - value
    - comment
    - type
    - conditional
    - custom_setter
    - argc
    - arguments
    - desc
    - descriptions
    argTypes:
    - char*
    - unsigned int
    - char*
    - char*
    - char*
    - char*
    - unsigned int
    - char**
    - unsigned int
    - char**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 185
      start: 137
    functionDepth: 0
    functionLinenumber: 137
    functionLinenumberEnd: 185
    functionName: check
    functionSourceFile: /src/mhd2/src/include/options-generator.c
    functionUses: 42
    functionsReached:
    - exit
    - strchr
    - strrchr
    - fprintf
    linkageType: ''
    returnType: void
    signature: "void check (const char *name,\n       unsigned int value,\n       const
      char *comment,\n       const char *type,\n       const char *conditional,\n
      \      const char *custom_setter,\n       unsigned int argc,\n       char **arguments,\n
      \      unsigned int desc,\n       char **descriptions)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: strdup
      Src: /src/mhd2/src/include/options-generator.c:192,1
    - Dst: strdup
      Src: /src/mhd2/src/include/options-generator.c:193,1
    - Dst: strlen
      Src: /src/mhd2/src/include/options-generator.c:197,1
    - Dst: isspace
      Src: /src/mhd2/src/include/options-generator.c:198,1
    - Dst: strlen
      Src: /src/mhd2/src/include/options-generator.c:198,1
    - Dst: strlen
      Src: /src/mhd2/src/include/options-generator.c:199,1
    - Dst: strchr
      Src: /src/mhd2/src/include/options-generator.c:200,1
    - Dst: my_asprintf
      Src: /src/mhd2/src/include/options-generator.c:204,1
    - Dst: strlen
      Src: /src/mhd2/src/include/options-generator.c:212,1
    - Dst: free
      Src: /src/mhd2/src/include/options-generator.c:213,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 10
    argCount: 2
    argNames:
    - pfx
    - input
    argTypes:
    - char*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 217
      start: 188
    functionDepth: 1
    functionLinenumber: 188
    functionLinenumberEnd: 217
    functionName: indent
    functionSourceFile: /src/mhd2/src/include/options-generator.c
    functionUses: 0
    functionsReached:
    - strchr
    - my_asprintf
    - isspace
    - free
    - strlen
    - strdup
    linkageType: ''
    returnType: char
    signature: "char *\nindent (const char *pfx,\n        const char *input)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: strdup
      Src: /src/mhd2/src/include/options-generator.c:223,1
    - Dst: toupper
      Src: /src/mhd2/src/include/options-generator.c:226,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - input
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 228
      start: 220
    functionDepth: 0
    functionLinenumber: 220
    functionLinenumberEnd: 228
    functionName: uppercase
    functionSourceFile: /src/mhd2/src/include/options-generator.c
    functionUses: 0
    functionsReached:
    - toupper
    - strdup
    linkageType: ''
    returnType: char
    signature: 'char *

      uppercase (const char *input)'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: strdup
      Src: /src/mhd2/src/include/options-generator.c:234,1
    - Dst: toupper
      Src: /src/mhd2/src/include/options-generator.c:236,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - input
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 238
      start: 231
    functionDepth: 0
    functionLinenumber: 231
    functionLinenumberEnd: 238
    functionName: capitalize
    functionSourceFile: /src/mhd2/src/include/options-generator.c
    functionUses: 0
    functionsReached:
    - toupper
    - strdup
    linkageType: ''
    returnType: char
    signature: 'char *

      capitalize (const char *input)'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: strdup
      Src: /src/mhd2/src/include/options-generator.c:244,1
    - Dst: tolower
      Src: /src/mhd2/src/include/options-generator.c:247,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - input
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 249
      start: 241
    functionDepth: 0
    functionLinenumber: 241
    functionLinenumberEnd: 249
    functionName: lowercase
    functionSourceFile: /src/mhd2/src/include/options-generator.c
    functionUses: 0
    functionsReached:
    - tolower
    - strdup
    linkageType: ''
    returnType: char
    signature: 'char *

      lowercase (const char *input)'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: printf
      Src: /src/mhd2/src/include/options-generator.c:264,1
    - Dst: indent
      Src: /src/mhd2/src/include/options-generator.c:265,1
    - Dst: toupper
      Src: /src/mhd2/src/include/options-generator.c:266,1
    - Dst: uppercase
      Src: /src/mhd2/src/include/options-generator.c:267,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 10
    argNames:
    - name
    - value
    - comment
    - type
    - conditional
    - custom_setter
    - argc
    - arguments
    - desc
    - descriptions
    argTypes:
    - char*
    - unsigned int
    - char*
    - char*
    - char*
    - char*
    - unsigned int
    - char**
    - unsigned int
    - char**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 269
      start: 252
    functionDepth: 2
    functionLinenumber: 252
    functionLinenumberEnd: 269
    functionName: dump_enum
    functionSourceFile: /src/mhd2/src/include/options-generator.c
    functionUses: 0
    functionsReached:
    - indent
    - toupper
    - uppercase
    - printf
    linkageType: ''
    returnType: void
    signature: "void dump_enum (const char *name,\n           unsigned int value,\n
      \          const char *comment,\n           const char *type,\n           const
      char *conditional,\n           const char *custom_setter,\n           unsigned
      int argc,\n           char **arguments,\n           unsigned int desc,\n           char
      **descriptions)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: strrchr
      Src: /src/mhd2/src/include/options-generator.c:277,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - arg
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 281
      start: 272
    functionDepth: 0
    functionLinenumber: 272
    functionLinenumberEnd: 281
    functionName: var_name
    functionSourceFile: /src/mhd2/src/include/options-generator.c
    functionUses: 0
    functionsReached:
    - strrchr
    linkageType: ''
    returnType: char
    signature: 'char *

      var_name (const char *arg)'
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: printf
      Src: /src/mhd2/src/include/options-generator.c:301,1
    - Dst: toupper
      Src: /src/mhd2/src/include/options-generator.c:302,1
    - Dst: uppercase
      Src: /src/mhd2/src/include/options-generator.c:303,1
    - Dst: var_name
      Src: /src/mhd2/src/include/options-generator.c:309,1
    - Dst: printf
      Src: /src/mhd2/src/include/options-generator.c:311,1
    - Dst: indent
      Src: /src/mhd2/src/include/options-generator.c:312,1
    - Dst: printf
      Src: /src/mhd2/src/include/options-generator.c:318,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 10
    argCount: 10
    argNames:
    - name
    - value
    - comment
    - type
    - conditional
    - custom_setter
    - argc
    - arguments
    - desct
    - descriptions
    argTypes:
    - char*
    - unsigned int
    - char*
    - char*
    - char*
    - char*
    - unsigned int
    - char**
    - unsigned int
    - char**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 319
      start: 284
    functionDepth: 2
    functionLinenumber: 284
    functionLinenumberEnd: 319
    functionName: dump_union_members
    functionSourceFile: /src/mhd2/src/include/options-generator.c
    functionUses: 0
    functionsReached:
    - toupper
    - indent
    - printf
    - var_name
    - uppercase
    linkageType: ''
    returnType: void
    signature: "void dump_union_members (const char *name,\n                    unsigned
      int value,\n                    const char *comment,\n                    const
      char *type,\n                    const char *conditional,\n                    const
      char *custom_setter,\n                    unsigned int argc,\n                    char
      **arguments,\n                    unsigned int desct,\n                    char
      **descriptions)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: fprintf
      Src: /src/mhd2/src/include/options-generator.c:336,1
    - Dst: toupper
      Src: /src/mhd2/src/include/options-generator.c:340,1
    - Dst: uppercase
      Src: /src/mhd2/src/include/options-generator.c:341,1
    - Dst: indent
      Src: /src/mhd2/src/include/options-generator.c:346,1
    - Dst: fprintf
      Src: /src/mhd2/src/include/options-generator.c:350,1
    - Dst: lowercase
      Src: /src/mhd2/src/include/options-generator.c:353,1
    - Dst: var_name
      Src: /src/mhd2/src/include/options-generator.c:358,1
    - Dst: fprintf
      Src: /src/mhd2/src/include/options-generator.c:360,1
    - Dst: lowercase
      Src: /src/mhd2/src/include/options-generator.c:364,1
    - Dst: fprintf
      Src: /src/mhd2/src/include/options-generator.c:366,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 10
    argNames:
    - name
    - value
    - comment
    - type
    - conditional
    - custom_setter
    - argc
    - arguments
    - desc
    - descriptions
    argTypes:
    - char*
    - unsigned int
    - char*
    - char*
    - char*
    - char*
    - unsigned int
    - char**
    - unsigned int
    - char**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 368
      start: 322
    functionDepth: 2
    functionLinenumber: 322
    functionLinenumberEnd: 368
    functionName: dump_union
    functionSourceFile: /src/mhd2/src/include/options-generator.c
    functionUses: 0
    functionsReached:
    - toupper
    - fprintf
    - indent
    - var_name
    - uppercase
    - lowercase
    linkageType: ''
    returnType: void
    signature: "void dump_union (const char *name,\n            unsigned int value,\n
      \           const char *comment,\n            const char *type,\n            const
      char *conditional,\n            const char *custom_setter,\n            unsigned
      int argc,\n            char **arguments,\n            unsigned int desc,\n            char
      **descriptions)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: fprintf
      Src: /src/mhd2/src/include/options-generator.c:384,1
    - Dst: uppercase
      Src: /src/mhd2/src/include/options-generator.c:386,1
    - Dst: dump_union
      Src: /src/mhd2/src/include/options-generator.c:387,1
    - Dst: fprintf
      Src: /src/mhd2/src/include/options-generator.c:398,1
    - Dst: fprintf
      Src: /src/mhd2/src/include/options-generator.c:400,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 10
    argNames:
    - name
    - value
    - comment
    - type
    - conditional
    - custom_setter
    - argc
    - arguments
    - desc
    - descriptions
    argTypes:
    - char*
    - unsigned int
    - char*
    - char*
    - char*
    - char*
    - unsigned int
    - char**
    - unsigned int
    - char**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 402
      start: 371
    functionDepth: 3
    functionLinenumber: 371
    functionLinenumberEnd: 402
    functionName: dump_struct
    functionSourceFile: /src/mhd2/src/include/options-generator.c
    functionUses: 0
    functionsReached:
    - dump_union
    - uppercase
    - fprintf
    linkageType: ''
    returnType: void
    signature: "void dump_struct (const char *name,\n             unsigned int value,\n
      \            const char *comment,\n             const char *type,\n             const
      char *conditional,\n             const char *custom_setter,\n             unsigned
      int argc,\n             char **arguments,\n             unsigned int desc,\n
      \            char **descriptions)"
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: printf
      Src: /src/mhd2/src/include/options-generator.c:417,1
    - Dst: indent
      Src: /src/mhd2/src/include/options-generator.c:419,1
    - Dst: var_name
      Src: /src/mhd2/src/include/options-generator.c:424,1
    - Dst: printf
      Src: /src/mhd2/src/include/options-generator.c:426,1
    - Dst: indent
      Src: /src/mhd2/src/include/options-generator.c:428,1
    - Dst: printf
      Src: /src/mhd2/src/include/options-generator.c:432,1
    - Dst: printf
      Src: /src/mhd2/src/include/options-generator.c:433,1
    - Dst: printf
      Src: /src/mhd2/src/include/options-generator.c:434,1
    - Dst: toupper
      Src: /src/mhd2/src/include/options-generator.c:435,1
    - Dst: uppercase
      Src: /src/mhd2/src/include/options-generator.c:436,1
    - Dst: printf
      Src: /src/mhd2/src/include/options-generator.c:438,1
    - Dst: printf
      Src: /src/mhd2/src/include/options-generator.c:443,1
    - Dst: printf
      Src: /src/mhd2/src/include/options-generator.c:444,1
    - Dst: var_name
      Src: /src/mhd2/src/include/options-generator.c:445,1
    - Dst: printf
      Src: /src/mhd2/src/include/options-generator.c:447,1
    - Dst: capitalize
      Src: /src/mhd2/src/include/options-generator.c:453,1
    - Dst: toupper
      Src: /src/mhd2/src/include/options-generator.c:454,1
    - Dst: uppercase
      Src: /src/mhd2/src/include/options-generator.c:455,1
    - Dst: printf
      Src: /src/mhd2/src/include/options-generator.c:457,1
    - Dst: lowercase
      Src: /src/mhd2/src/include/options-generator.c:458,1
    - Dst: var_name
      Src: /src/mhd2/src/include/options-generator.c:462,1
    - Dst: printf
      Src: /src/mhd2/src/include/options-generator.c:465,1
    - Dst: lowercase
      Src: /src/mhd2/src/include/options-generator.c:466,1
    - Dst: printf
      Src: /src/mhd2/src/include/options-generator.c:473,1
    - Dst: lowercase
      Src: /src/mhd2/src/include/options-generator.c:474,1
    - Dst: printf
      Src: /src/mhd2/src/include/options-generator.c:481,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 25
    argCount: 10
    argNames:
    - name
    - value
    - comment
    - type
    - conditional
    - custom_setter
    - argc
    - arguments
    - desct
    - descriptions
    argTypes:
    - char*
    - unsigned int
    - char*
    - char*
    - char*
    - char*
    - unsigned int
    - char**
    - unsigned int
    - char**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 484
      start: 405
    functionDepth: 2
    functionLinenumber: 405
    functionLinenumberEnd: 484
    functionName: dump_option_macros
    functionSourceFile: /src/mhd2/src/include/options-generator.c
    functionUses: 0
    functionsReached:
    - toupper
    - indent
    - capitalize
    - printf
    - var_name
    - uppercase
    - lowercase
    linkageType: ''
    returnType: void
    signature: "void dump_option_macros (const char *name,\n                    unsigned
      int value,\n                    const char *comment,\n                    const
      char *type,\n                    const char *conditional,\n                    const
      char *custom_setter,\n                    unsigned int argc,\n                    char
      **arguments,\n                    unsigned int desct,\n                    char
      **descriptions)"
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: printf
      Src: /src/mhd2/src/include/options-generator.c:499,1
    - Dst: indent
      Src: /src/mhd2/src/include/options-generator.c:502,1
    - Dst: var_name
      Src: /src/mhd2/src/include/options-generator.c:507,1
    - Dst: printf
      Src: /src/mhd2/src/include/options-generator.c:509,1
    - Dst: indent
      Src: /src/mhd2/src/include/options-generator.c:511,1
    - Dst: printf
      Src: /src/mhd2/src/include/options-generator.c:515,1
    - Dst: printf
      Src: /src/mhd2/src/include/options-generator.c:516,1
    - Dst: printf
      Src: /src/mhd2/src/include/options-generator.c:517,1
    - Dst: capitalize
      Src: /src/mhd2/src/include/options-generator.c:519,1
    - Dst: toupper
      Src: /src/mhd2/src/include/options-generator.c:520,1
    - Dst: uppercase
      Src: /src/mhd2/src/include/options-generator.c:521,1
    - Dst: printf
      Src: /src/mhd2/src/include/options-generator.c:523,1
    - Dst: var_name
      Src: /src/mhd2/src/include/options-generator.c:532,1
    - Dst: printf
      Src: /src/mhd2/src/include/options-generator.c:535,1
    - Dst: printf
      Src: /src/mhd2/src/include/options-generator.c:536,1
    - Dst: printf
      Src: /src/mhd2/src/include/options-generator.c:541,1
    - Dst: capitalize
      Src: /src/mhd2/src/include/options-generator.c:547,1
    - Dst: toupper
      Src: /src/mhd2/src/include/options-generator.c:548,1
    - Dst: uppercase
      Src: /src/mhd2/src/include/options-generator.c:549,1
    - Dst: printf
      Src: /src/mhd2/src/include/options-generator.c:551,1
    - Dst: lowercase
      Src: /src/mhd2/src/include/options-generator.c:552,1
    - Dst: var_name
      Src: /src/mhd2/src/include/options-generator.c:556,1
    - Dst: printf
      Src: /src/mhd2/src/include/options-generator.c:559,1
    - Dst: lowercase
      Src: /src/mhd2/src/include/options-generator.c:560,1
    - Dst: printf
      Src: /src/mhd2/src/include/options-generator.c:564,1
    - Dst: lowercase
      Src: /src/mhd2/src/include/options-generator.c:565,1
    - Dst: printf
      Src: /src/mhd2/src/include/options-generator.c:568,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 25
    argCount: 10
    argNames:
    - name
    - value
    - comment
    - type
    - conditional
    - custom_setter
    - argc
    - arguments
    - desct
    - descriptions
    argTypes:
    - char*
    - unsigned int
    - char*
    - char*
    - char*
    - char*
    - unsigned int
    - char**
    - unsigned int
    - char**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 569
      start: 487
    functionDepth: 2
    functionLinenumber: 487
    functionLinenumberEnd: 569
    functionName: dump_option_static_functions
    functionSourceFile: /src/mhd2/src/include/options-generator.c
    functionUses: 0
    functionsReached:
    - toupper
    - indent
    - capitalize
    - printf
    - var_name
    - uppercase
    - lowercase
    linkageType: ''
    returnType: void
    signature: "void dump_option_static_functions (const char *name,\n                              unsigned
      int value,\n                              const char *comment,\n                              const
      char *type,\n                              const char *conditional,\n                              const
      char *custom_setter,\n                              unsigned int argc,\n                              char
      **arguments,\n                              unsigned int desct,\n                              char
      **descriptions)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: fprintf
      Src: /src/mhd2/src/include/options-generator.c:585,1
    - Dst: indent
      Src: /src/mhd2/src/include/options-generator.c:587,1
    - Dst: var_name
      Src: /src/mhd2/src/include/options-generator.c:592,1
    - Dst: fprintf
      Src: /src/mhd2/src/include/options-generator.c:594,1
    - Dst: indent
      Src: /src/mhd2/src/include/options-generator.c:596,1
    - Dst: fprintf
      Src: /src/mhd2/src/include/options-generator.c:600,1
    - Dst: fprintf
      Src: /src/mhd2/src/include/options-generator.c:601,1
    - Dst: fprintf
      Src: /src/mhd2/src/include/options-generator.c:602,1
    - Dst: capitalize
      Src: /src/mhd2/src/include/options-generator.c:604,1
    - Dst: toupper
      Src: /src/mhd2/src/include/options-generator.c:605,1
    - Dst: uppercase
      Src: /src/mhd2/src/include/options-generator.c:606,1
    - Dst: fprintf
      Src: /src/mhd2/src/include/options-generator.c:608,1
    - Dst: var_name
      Src: /src/mhd2/src/include/options-generator.c:617,1
    - Dst: fprintf
      Src: /src/mhd2/src/include/options-generator.c:620,1
    - Dst: fprintf
      Src: /src/mhd2/src/include/options-generator.c:621,1
    - Dst: fprintf
      Src: /src/mhd2/src/include/options-generator.c:627,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 17
    argCount: 10
    argNames:
    - name
    - value
    - comment
    - type
    - conditional
    - custom_setter
    - argc
    - arguments
    - desct
    - descriptions
    argTypes:
    - char*
    - unsigned int
    - char*
    - char*
    - char*
    - char*
    - unsigned int
    - char**
    - unsigned int
    - char**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 629
      start: 572
    functionDepth: 2
    functionLinenumber: 572
    functionLinenumberEnd: 629
    functionName: dump_option_documentation_functions
    functionSourceFile: /src/mhd2/src/include/options-generator.c
    functionUses: 0
    functionsReached:
    - toupper
    - fprintf
    - indent
    - capitalize
    - var_name
    - uppercase
    linkageType: ''
    returnType: void
    signature: "void dump_option_documentation_functions (const char *name,\n                                     unsigned
      int value,\n                                     const char *comment,\n                                     const
      char *type,\n                                     const char *conditional,\n
      \                                    const char *custom_setter,\n                                     unsigned
      int argc,\n                                     char **arguments,\n                                     unsigned
      int desct,\n                                     char **descriptions)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: strlen
      Src: /src/mhd2/src/include/options-generator.c:638,1
    - Dst: strlen
      Src: /src/mhd2/src/include/options-generator.c:638,1
    - Dst: fprintf
      Src: /src/mhd2/src/include/options-generator.c:639,1
    - Dst: fprintf
      Src: /src/mhd2/src/include/options-generator.c:644,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 2
    argNames:
    - dst
    - src
    argTypes:
    - char*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 649
      start: 634
    functionDepth: 0
    functionLinenumber: 634
    functionLinenumberEnd: 649
    functionName: dump_setter_assignment
    functionSourceFile: /src/mhd2/src/include/options-generator.c
    functionUses: 0
    functionsReached:
    - strlen
    - fprintf
    linkageType: ''
    returnType: void
    signature: "void dump_setter_assignment (const char *dst,\n                        const
      char *src)"
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: fprintf
      Src: /src/mhd2/src/include/options-generator.c:665,1
    - Dst: uppercase
      Src: /src/mhd2/src/include/options-generator.c:667,1
    - Dst: fprintf
      Src: /src/mhd2/src/include/options-generator.c:668,1
    - Dst: toupper
      Src: /src/mhd2/src/include/options-generator.c:670,1
    - Dst: uppercase
      Src: /src/mhd2/src/include/options-generator.c:671,1
    - Dst: strchr
      Src: /src/mhd2/src/include/options-generator.c:680,1
    - Dst: strlen
      Src: /src/mhd2/src/include/options-generator.c:681,1
    - Dst: fprintf
      Src: /src/mhd2/src/include/options-generator.c:684,1
    - Dst: fprintf
      Src: /src/mhd2/src/include/options-generator.c:686,1
    - Dst: fprintf
      Src: /src/mhd2/src/include/options-generator.c:688,1
    - Dst: my_asprintf
      Src: /src/mhd2/src/include/options-generator.c:699,1
    - Dst: lowercase
      Src: /src/mhd2/src/include/options-generator.c:699,1
    - Dst: my_asprintf
      Src: /src/mhd2/src/include/options-generator.c:700,1
    - Dst: lowercase
      Src: /src/mhd2/src/include/options-generator.c:700,1
    - Dst: dump_setter_assignment
      Src: /src/mhd2/src/include/options-generator.c:701,1
    - Dst: free
      Src: /src/mhd2/src/include/options-generator.c:702,1
    - Dst: free
      Src: /src/mhd2/src/include/options-generator.c:703,1
    - Dst: var_name
      Src: /src/mhd2/src/include/options-generator.c:709,1
    - Dst: my_asprintf
      Src: /src/mhd2/src/include/options-generator.c:715,1
    - Dst: lowercase
      Src: /src/mhd2/src/include/options-generator.c:715,1
    - Dst: my_asprintf
      Src: /src/mhd2/src/include/options-generator.c:716,1
    - Dst: lowercase
      Src: /src/mhd2/src/include/options-generator.c:716,1
    - Dst: my_asprintf
      Src: /src/mhd2/src/include/options-generator.c:720,1
    - Dst: lowercase
      Src: /src/mhd2/src/include/options-generator.c:720,1
    - Dst: my_asprintf
      Src: /src/mhd2/src/include/options-generator.c:721,1
    - Dst: lowercase
      Src: /src/mhd2/src/include/options-generator.c:721,1
    - Dst: dump_setter_assignment
      Src: /src/mhd2/src/include/options-generator.c:723,1
    - Dst: free
      Src: /src/mhd2/src/include/options-generator.c:724,1
    - Dst: free
      Src: /src/mhd2/src/include/options-generator.c:725,1
    - Dst: fprintf
      Src: /src/mhd2/src/include/options-generator.c:729,1
    - Dst: fprintf
      Src: /src/mhd2/src/include/options-generator.c:732,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 38
    argCount: 10
    argNames:
    - name
    - value
    - comment
    - type
    - conditional
    - custom_setter
    - argc
    - arguments
    - desc
    - descriptions
    argTypes:
    - char*
    - unsigned int
    - char*
    - char*
    - char*
    - char*
    - unsigned int
    - char**
    - unsigned int
    - char**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 734
      start: 652
    functionDepth: 1
    functionLinenumber: 652
    functionLinenumberEnd: 734
    functionName: dump_option_set_switch
    functionSourceFile: /src/mhd2/src/include/options-generator.c
    functionUses: 0
    functionsReached:
    - toupper
    - fprintf
    - dump_setter_assignment
    - strchr
    - my_asprintf
    - free
    - var_name
    - uppercase
    - strlen
    - lowercase
    linkageType: ''
    returnType: void
    signature: "void dump_option_set_switch (const char *name,\n                        unsigned
      int value,\n                        const char *comment,\n                        const
      char *type,\n                        const char *conditional,\n                        const
      char *custom_setter,\n                        unsigned int argc,\n                        char
      **arguments,\n                        unsigned int desc,\n                        char
      **descriptions)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: strncasecmp
      Src: /src/mhd2/src/include/options-generator.c:742,1
    - Dst: strlen
      Src: /src/mhd2/src/include/options-generator.c:744,1
    - Dst: strdup
      Src: /src/mhd2/src/include/options-generator.c:746,1
    - Dst: strlen
      Src: /src/mhd2/src/include/options-generator.c:746,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 748
      start: 737
    functionDepth: 0
    functionLinenumber: 737
    functionLinenumberEnd: 748
    functionName: parse
    functionSourceFile: /src/mhd2/src/include/options-generator.c
    functionUses: 4
    functionsReached:
    - strncasecmp
    - strlen
    - strdup
    linkageType: ''
    returnType: char
    signature: "char **\nparse (char **target,\n       const char *prefix,\n       const
      char *input)"
  - BBCount: 28
    BranchProfiles: []
    Callsites:
    - Dst: fprintf
      Src: /src/mhd2/src/include/options-generator.c:760,1
    - Dst: my_asprintf
      Src: /src/mhd2/src/include/options-generator.c:773,1
    - Dst: fopen
      Src: /src/mhd2/src/include/options-generator.c:776,1
    - Dst: fprintf
      Src: /src/mhd2/src/include/options-generator.c:779,1
    - Dst: strerror
      Src: /src/mhd2/src/include/options-generator.c:782,1
    - Dst: free
      Src: /src/mhd2/src/include/options-generator.c:783,1
    - Dst: fgets
      Src: /src/mhd2/src/include/options-generator.c:793,1
    - Dst: strlen
      Src: /src/mhd2/src/include/options-generator.c:797,1
    - Dst: isspace
      Src: /src/mhd2/src/include/options-generator.c:800,1
    - Dst: strncmp
      Src: /src/mhd2/src/include/options-generator.c:809,1
    - Dst: strcmp
      Src: /src/mhd2/src/include/options-generator.c:812,1
    - Dst: fprintf
      Src: /src/mhd2/src/include/options-generator.c:817,1
    - Dst: exit
      Src: /src/mhd2/src/include/options-generator.c:820,1
    - Dst: realloc
      Src: /src/mhd2/src/include/options-generator.c:823,1
    - Dst: strlen
      Src: /src/mhd2/src/include/options-generator.c:824,1
    - Dst: strcat
      Src: /src/mhd2/src/include/options-generator.c:825,1
    - Dst: strcmp
      Src: /src/mhd2/src/include/options-generator.c:827,1
    - Dst: strcat
      Src: /src/mhd2/src/include/options-generator.c:829,1
    - Dst: malloc
      Src: /src/mhd2/src/include/options-generator.c:838,1
    - Dst: memset
      Src: /src/mhd2/src/include/options-generator.c:840,1
    - Dst: parse
      Src: /src/mhd2/src/include/options-generator.c:847,1
    - Dst: parse
      Src: /src/mhd2/src/include/options-generator.c:851,1
    - Dst: parse
      Src: /src/mhd2/src/include/options-generator.c:855,1
    - Dst: parse
      Src: /src/mhd2/src/include/options-generator.c:859,1
    - Dst: parse
      Src: /src/mhd2/src/include/options-generator.c:863,1
    - Dst: strncasecmp
      Src: /src/mhd2/src/include/options-generator.c:867,1
    - Dst: strlen
      Src: /src/mhd2/src/include/options-generator.c:869,1
    - Dst: sscanf
      Src: /src/mhd2/src/include/options-generator.c:873,1
    - Dst: strlen
      Src: /src/mhd2/src/include/options-generator.c:873,1
    - Dst: fprintf
      Src: /src/mhd2/src/include/options-generator.c:881,1
    - Dst: snprintf
      Src: /src/mhd2/src/include/options-generator.c:890,1
    - Dst: parse
      Src: /src/mhd2/src/include/options-generator.c:894,1
    - Dst: snprintf
      Src: /src/mhd2/src/include/options-generator.c:901,1
    - Dst: parse
      Src: /src/mhd2/src/include/options-generator.c:905,1
    - Dst: fprintf
      Src: /src/mhd2/src/include/options-generator.c:913,1
    - Dst: exit
      Src: /src/mhd2/src/include/options-generator.c:917,1
    - Dst: free
      Src: /src/mhd2/src/include/options-generator.c:919,1
    - Dst: iterate
      Src: /src/mhd2/src/include/options-generator.c:922,1
    - Dst: printf
      Src: /src/mhd2/src/include/options-generator.c:926,1
    - Dst: capitalize
      Src: /src/mhd2/src/include/options-generator.c:932,1
    - Dst: printf
      Src: /src/mhd2/src/include/options-generator.c:933,1
    - Dst: toupper
      Src: /src/mhd2/src/include/options-generator.c:940,1
    - Dst: iterate
      Src: /src/mhd2/src/include/options-generator.c:941,1
    - Dst: printf
      Src: /src/mhd2/src/include/options-generator.c:943,1
    - Dst: toupper
      Src: /src/mhd2/src/include/options-generator.c:949,1
    - Dst: printf
      Src: /src/mhd2/src/include/options-generator.c:950,1
    - Dst: iterate
      Src: /src/mhd2/src/include/options-generator.c:951,1
    - Dst: printf
      Src: /src/mhd2/src/include/options-generator.c:955,1
    - Dst: capitalize
      Src: /src/mhd2/src/include/options-generator.c:961,1
    - Dst: iterate
      Src: /src/mhd2/src/include/options-generator.c:963,1
    - Dst: printf
      Src: /src/mhd2/src/include/options-generator.c:966,1
    - Dst: printf
      Src: /src/mhd2/src/include/options-generator.c:968,1
    - Dst: capitalize
      Src: /src/mhd2/src/include/options-generator.c:980,1
    - Dst: capitalize
      Src: /src/mhd2/src/include/options-generator.c:982,1
    - Dst: capitalize
      Src: /src/mhd2/src/include/options-generator.c:983,1
    - Dst: printf
      Src: /src/mhd2/src/include/options-generator.c:984,1
    - Dst: iterate
      Src: /src/mhd2/src/include/options-generator.c:986,1
    - Dst: printf
      Src: /src/mhd2/src/include/options-generator.c:988,1
    - Dst: capitalize
      Src: /src/mhd2/src/include/options-generator.c:1001,1
    - Dst: toupper
      Src: /src/mhd2/src/include/options-generator.c:1002,1
    - Dst: capitalize
      Src: /src/mhd2/src/include/options-generator.c:1003,1
    - Dst: toupper
      Src: /src/mhd2/src/include/options-generator.c:1004,1
    - Dst: printf
      Src: /src/mhd2/src/include/options-generator.c:1006,1
    - Dst: printf
      Src: /src/mhd2/src/include/options-generator.c:1008,1
    - Dst: iterate
      Src: /src/mhd2/src/include/options-generator.c:1009,1
    - Dst: printf
      Src: /src/mhd2/src/include/options-generator.c:1011,1
    - Dst: capitalize
      Src: /src/mhd2/src/include/options-generator.c:1022,1
    - Dst: capitalize
      Src: /src/mhd2/src/include/options-generator.c:1023,1
    - Dst: toupper
      Src: /src/mhd2/src/include/options-generator.c:1024,1
    - Dst: capitalize
      Src: /src/mhd2/src/include/options-generator.c:1025,1
    - Dst: toupper
      Src: /src/mhd2/src/include/options-generator.c:1026,1
    - Dst: printf
      Src: /src/mhd2/src/include/options-generator.c:1028,1
    - Dst: printf
      Src: /src/mhd2/src/include/options-generator.c:1029,1
    - Dst: my_asprintf
      Src: /src/mhd2/src/include/options-generator.c:1035,1
    - Dst: unlink
      Src: /src/mhd2/src/include/options-generator.c:1038,1
    - Dst: fopen
      Src: /src/mhd2/src/include/options-generator.c:1039,1
    - Dst: fprintf
      Src: /src/mhd2/src/include/options-generator.c:1042,1
    - Dst: strerror
      Src: /src/mhd2/src/include/options-generator.c:1045,1
    - Dst: fprintf
      Src: /src/mhd2/src/include/options-generator.c:1048,1
    - Dst: iterate
      Src: /src/mhd2/src/include/options-generator.c:1055,1
    - Dst: fprintf
      Src: /src/mhd2/src/include/options-generator.c:1057,1
    - Dst: fclose
      Src: /src/mhd2/src/include/options-generator.c:1059,1
    - Dst: chmod
      Src: /src/mhd2/src/include/options-generator.c:1060,1
    - Dst: my_asprintf
      Src: /src/mhd2/src/include/options-generator.c:1066,1
    - Dst: unlink
      Src: /src/mhd2/src/include/options-generator.c:1069,1
    - Dst: fopen
      Src: /src/mhd2/src/include/options-generator.c:1070,1
    - Dst: fprintf
      Src: /src/mhd2/src/include/options-generator.c:1073,1
    - Dst: strerror
      Src: /src/mhd2/src/include/options-generator.c:1076,1
    - Dst: fprintf
      Src: /src/mhd2/src/include/options-generator.c:1079,1
    - Dst: strcmp
      Src: /src/mhd2/src/include/options-generator.c:1088,1
    - Dst: fprintf
      Src: /src/mhd2/src/include/options-generator.c:1090,1
    - Dst: strcmp
      Src: /src/mhd2/src/include/options-generator.c:1100,1
    - Dst: fprintf
      Src: /src/mhd2/src/include/options-generator.c:1102,1
    - Dst: fprintf
      Src: /src/mhd2/src/include/options-generator.c:1116,1
    - Dst: capitalize
      Src: /src/mhd2/src/include/options-generator.c:1126,1
    - Dst: capitalize
      Src: /src/mhd2/src/include/options-generator.c:1128,1
    - Dst: fprintf
      Src: /src/mhd2/src/include/options-generator.c:1129,1
    - Dst: capitalize
      Src: /src/mhd2/src/include/options-generator.c:1133,1
    - Dst: strcmp
      Src: /src/mhd2/src/include/options-generator.c:1135,1
    - Dst: fprintf
      Src: /src/mhd2/src/include/options-generator.c:1137,1
    - Dst: strcmp
      Src: /src/mhd2/src/include/options-generator.c:1143,1
    - Dst: fprintf
      Src: /src/mhd2/src/include/options-generator.c:1145,1
    - Dst: fprintf
      Src: /src/mhd2/src/include/options-generator.c:1166,1
    - Dst: fprintf
      Src: /src/mhd2/src/include/options-generator.c:1172,1
    - Dst: capitalize
      Src: /src/mhd2/src/include/options-generator.c:1179,1
    - Dst: fprintf
      Src: /src/mhd2/src/include/options-generator.c:1180,1
    - Dst: toupper
      Src: /src/mhd2/src/include/options-generator.c:1184,1
    - Dst: iterate
      Src: /src/mhd2/src/include/options-generator.c:1185,1
    - Dst: fprintf
      Src: /src/mhd2/src/include/options-generator.c:1187,1
    - Dst: toupper
      Src: /src/mhd2/src/include/options-generator.c:1193,1
    - Dst: fprintf
      Src: /src/mhd2/src/include/options-generator.c:1194,1
    - Dst: strcmp
      Src: /src/mhd2/src/include/options-generator.c:1197,1
    - Dst: fprintf
      Src: /src/mhd2/src/include/options-generator.c:1199,1
    - Dst: fprintf
      Src: /src/mhd2/src/include/options-generator.c:1205,1
    - Dst: fclose
      Src: /src/mhd2/src/include/options-generator.c:1208,1
    - Dst: chmod
      Src: /src/mhd2/src/include/options-generator.c:1209,1
    - Dst: free
      Src: /src/mhd2/src/include/options-generator.c:1210,1
    - Dst: my_asprintf
      Src: /src/mhd2/src/include/options-generator.c:1216,1
    - Dst: unlink
      Src: /src/mhd2/src/include/options-generator.c:1219,1
    - Dst: fopen
      Src: /src/mhd2/src/include/options-generator.c:1220,1
    - Dst: fprintf
      Src: /src/mhd2/src/include/options-generator.c:1223,1
    - Dst: strerror
      Src: /src/mhd2/src/include/options-generator.c:1226,1
    - Dst: fprintf
      Src: /src/mhd2/src/include/options-generator.c:1229,1
    - Dst: uppercase
      Src: /src/mhd2/src/include/options-generator.c:1246,1
    - Dst: uppercase
      Src: /src/mhd2/src/include/options-generator.c:1247,1
    - Dst: capitalize
      Src: /src/mhd2/src/include/options-generator.c:1248,1
    - Dst: iterate
      Src: /src/mhd2/src/include/options-generator.c:1249,1
    - Dst: fprintf
      Src: /src/mhd2/src/include/options-generator.c:1251,1
    - Dst: uppercase
      Src: /src/mhd2/src/include/options-generator.c:1255,1
    - Dst: fclose
      Src: /src/mhd2/src/include/options-generator.c:1256,1
    - Dst: chmod
      Src: /src/mhd2/src/include/options-generator.c:1257,1
    - Dst: free
      Src: /src/mhd2/src/include/options-generator.c:1258,1
    CyclomaticComplexity: 47
    EdgeCount: 47
    ICount: 171
    argCount: 2
    argNames:
    - argc
    - argv
    argTypes:
    - int
    - char**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1262
      start: 751
    functionDepth: 1
    functionLinenumber: 751
    functionLinenumberEnd: 1262
    functionName: main
    functionSourceFile: /src/mhd2/src/include/options-generator.c
    functionUses: 0
    functionsReached:
    - fprintf
    - capitalize
    - strncmp
    - fgets
    - unlink
    - chmod
    - strlen
    - strerror
    - malloc
    - my_asprintf
    - free
    - realloc
    - toupper
    - strcat
    - printf
    - sscanf
    - parse
    - exit
    - snprintf
    - memset
    - strcmp
    - fclose
    - iterate
    - isspace
    - strncasecmp
    - uppercase
    - fopen
    linkageType: ''
    returnType: int
    signature: "int main (int argc,\n      char **argv)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - type
    - ','
    - value
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 45
      start: 43
    functionDepth: 0
    functionLinenumber: 43
    functionLinenumberEnd: 45
    functionName: MHD_STATIC_CAST_
    functionSourceFile: /src/mhd2/src/include/microhttpd2_portability.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: MHD_STATIC_CAST_(type, value)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - type
    - ','
    - value
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 48
      start: 46
    functionDepth: 0
    functionLinenumber: 46
    functionLinenumberEnd: 48
    functionName: MHD_STATIC_CAST_
    functionSourceFile: /src/mhd2/src/include/microhttpd2_portability.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: MHD_STATIC_CAST_(type, value)
  - 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: MHD_MACRO_STR__
    functionSourceFile: /src/mhd2/src/include/microhttpd2_portability.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: MHD_MACRO_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: 73
      start: 72
    functionDepth: 0
    functionLinenumber: 72
    functionLinenumberEnd: 73
    functionName: MHD_MACRO_STR_
    functionSourceFile: /src/mhd2/src/include/microhttpd2_portability.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: MHD_MACRO_STR_(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: 76
      start: 75
    functionDepth: 0
    functionLinenumber: 75
    functionLinenumberEnd: 76
    functionName: MHD_MACRO_CAT__
    functionSourceFile: /src/mhd2/src/include/microhttpd2_portability.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: MHD_MACRO_CAT__(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: 78
      start: 77
    functionDepth: 0
    functionLinenumber: 77
    functionLinenumberEnd: 78
    functionName: MHD_MACRO_CAT_
    functionSourceFile: /src/mhd2/src/include/microhttpd2_portability.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: MHD_MACRO_CAT_(a, b)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - major
    - ','
    - minor
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 83
      start: 80
    functionDepth: 0
    functionLinenumber: 80
    functionLinenumberEnd: 83
    functionName: MHD_GNUC_MINV
    functionSourceFile: /src/mhd2/src/include/microhttpd2_portability.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: MHD_GNUC_MINV(major, minor)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - major
    - ','
    - minor
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 85
      start: 84
    functionDepth: 0
    functionLinenumber: 84
    functionLinenumberEnd: 85
    functionName: MHD_GNUC_MINV
    functionSourceFile: /src/mhd2/src/include/microhttpd2_portability.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: MHD_GNUC_MINV(major, minor)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - major
    - ','
    - minor
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 91
      start: 88
    functionDepth: 0
    functionLinenumber: 88
    functionLinenumberEnd: 91
    functionName: MHD_CLANG_MINV
    functionSourceFile: /src/mhd2/src/include/microhttpd2_portability.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: MHD_CLANG_MINV(major, minor)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - major
    - ','
    - minor
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 93
      start: 92
    functionDepth: 0
    functionLinenumber: 92
    functionLinenumberEnd: 93
    functionName: MHD_CLANG_MINV
    functionSourceFile: /src/mhd2/src/include/microhttpd2_portability.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: MHD_CLANG_MINV(major, minor)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - version
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 97
      start: 96
    functionDepth: 0
    functionLinenumber: 96
    functionLinenumberEnd: 97
    functionName: MHD_MSC_MINV
    functionSourceFile: /src/mhd2/src/include/microhttpd2_portability.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: MHD_MSC_MINV(version)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - version
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 104
      start: 103
    functionDepth: 0
    functionLinenumber: 103
    functionLinenumberEnd: 104
    functionName: MHD_MSC_MINV
    functionSourceFile: /src/mhd2/src/include/microhttpd2_portability.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: MHD_MSC_MINV(version)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - version
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 108
      start: 107
    functionDepth: 0
    functionLinenumber: 107
    functionLinenumberEnd: 108
    functionName: MHD_C_MINV
    functionSourceFile: /src/mhd2/src/include/microhttpd2_portability.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: MHD_C_MINV(version)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - version
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 110
      start: 109
    functionDepth: 0
    functionLinenumber: 109
    functionLinenumberEnd: 110
    functionName: MHD_C_MINV
    functionSourceFile: /src/mhd2/src/include/microhttpd2_portability.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: MHD_C_MINV(version)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - version
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 119
      start: 118
    functionDepth: 0
    functionLinenumber: 118
    functionLinenumberEnd: 119
    functionName: MHD_CXX_MINV
    functionSourceFile: /src/mhd2/src/include/microhttpd2_portability.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: MHD_CXX_MINV(version)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - version
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 121
      start: 120
    functionDepth: 0
    functionLinenumber: 120
    functionLinenumberEnd: 121
    functionName: MHD_CXX_MINV
    functionSourceFile: /src/mhd2/src/include/microhttpd2_portability.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: MHD_CXX_MINV(version)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - version
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 124
      start: 122
    functionDepth: 0
    functionLinenumber: 122
    functionLinenumberEnd: 124
    functionName: MHD_CXX_MINV
    functionSourceFile: /src/mhd2/src/include/microhttpd2_portability.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: MHD_CXX_MINV(version)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - warn
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 329
      start: 327
    functionDepth: 0
    functionLinenumber: 327
    functionLinenumberEnd: 329
    functionName: MHD_WARN_IGNORE_
    functionSourceFile: /src/mhd2/src/include/microhttpd2_portability.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: MHD_WARN_IGNORE_(warn)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - warn
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 355
      start: 353
    functionDepth: 0
    functionLinenumber: 353
    functionLinenumberEnd: 355
    functionName: MHD_WARN_IGNORE_
    functionSourceFile: /src/mhd2/src/include/microhttpd2_portability.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: MHD_WARN_IGNORE_(warn)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - warn
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 388
      start: 387
    functionDepth: 0
    functionLinenumber: 387
    functionLinenumberEnd: 388
    functionName: MHD_WARN_IGNORE_
    functionSourceFile: /src/mhd2/src/include/microhttpd2_portability.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: MHD_WARN_IGNORE_(warn)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - msg
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 494
      start: 493
    functionDepth: 0
    functionLinenumber: 493
    functionLinenumberEnd: 494
    functionName: MHD_DEPR_MACRO_
    functionSourceFile: /src/mhd2/src/include/microhttpd2_portability.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: MHD_DEPR_MACRO_(msg)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - msg
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 496
      start: 495
    functionDepth: 0
    functionLinenumber: 495
    functionLinenumberEnd: 496
    functionName: MHD_DEPR_IN_MACRO_
    functionSourceFile: /src/mhd2/src/include/microhttpd2_portability.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: MHD_DEPR_IN_MACRO_(msg)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - msg
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 502
      start: 501
    functionDepth: 0
    functionLinenumber: 501
    functionLinenumberEnd: 502
    functionName: MHD_DEPR_MACRO_
    functionSourceFile: /src/mhd2/src/include/microhttpd2_portability.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: MHD_DEPR_MACRO_(msg)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - msg
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 504
      start: 503
    functionDepth: 0
    functionLinenumber: 503
    functionLinenumberEnd: 504
    functionName: MHD_DEPR_IN_MACRO_
    functionSourceFile: /src/mhd2/src/include/microhttpd2_portability.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: MHD_DEPR_IN_MACRO_(msg)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - msg
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 510
      start: 507
    functionDepth: 0
    functionLinenumber: 507
    functionLinenumberEnd: 510
    functionName: MHD_DEPR_MACRO_
    functionSourceFile: /src/mhd2/src/include/microhttpd2_portability.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: MHD_DEPR_MACRO_(msg)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - msg
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 512
      start: 511
    functionDepth: 0
    functionLinenumber: 511
    functionLinenumberEnd: 512
    functionName: MHD_DEPR_IN_MACRO_
    functionSourceFile: /src/mhd2/src/include/microhttpd2_portability.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: MHD_DEPR_IN_MACRO_(msg)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - msg
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 516
      start: 515
    functionDepth: 0
    functionLinenumber: 515
    functionLinenumberEnd: 516
    functionName: MHD_DEPR_MACRO_
    functionSourceFile: /src/mhd2/src/include/microhttpd2_portability.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: MHD_DEPR_MACRO_(msg)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - msg
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 520
      start: 519
    functionDepth: 0
    functionLinenumber: 519
    functionLinenumberEnd: 520
    functionName: MHD_DEPR_MACRO_
    functionSourceFile: /src/mhd2/src/include/microhttpd2_portability.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: MHD_DEPR_MACRO_(msg)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - msg
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 522
      start: 521
    functionDepth: 0
    functionLinenumber: 521
    functionLinenumberEnd: 522
    functionName: MHD_DEPR_IN_MACRO_
    functionSourceFile: /src/mhd2/src/include/microhttpd2_portability.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: MHD_DEPR_IN_MACRO_(msg)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - msg
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 530
      start: 529
    functionDepth: 0
    functionLinenumber: 529
    functionLinenumberEnd: 530
    functionName: MHD_DEPR_FUNC_
    functionSourceFile: /src/mhd2/src/include/microhttpd2_portability.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: MHD_DEPR_FUNC_(msg)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - msg
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 533
      start: 532
    functionDepth: 0
    functionLinenumber: 532
    functionLinenumberEnd: 533
    functionName: MHD_DEPR_FUNC_
    functionSourceFile: /src/mhd2/src/include/microhttpd2_portability.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: MHD_DEPR_FUNC_(msg)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - msg
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 536
      start: 535
    functionDepth: 0
    functionLinenumber: 535
    functionLinenumberEnd: 536
    functionName: MHD_DEPR_FUNC_
    functionSourceFile: /src/mhd2/src/include/microhttpd2_portability.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: MHD_DEPR_FUNC_(msg)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - msg
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 538
      start: 537
    functionDepth: 0
    functionLinenumber: 537
    functionLinenumberEnd: 538
    functionName: MHD_DEPR_FUNC_
    functionSourceFile: /src/mhd2/src/include/microhttpd2_portability.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: MHD_DEPR_FUNC_(msg)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - param_num
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 699
      start: 697
    functionDepth: 0
    functionLinenumber: 697
    functionLinenumberEnd: 699
    functionName: MHD_FN_PAR_NONNULL_
    functionSourceFile: /src/mhd2/src/include/microhttpd2_portability.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: MHD_FN_PAR_NONNULL_(param_num)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - param_num
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 723
      start: 721
    functionDepth: 0
    functionLinenumber: 721
    functionLinenumberEnd: 723
    functionName: MHD_FN_PAR_IN_
    functionSourceFile: /src/mhd2/src/include/microhttpd2_portability.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: MHD_FN_PAR_IN_(param_num)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - param_num
    - ','
    - size_num
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 735
      start: 733
    functionDepth: 0
    functionLinenumber: 733
    functionLinenumberEnd: 735
    functionName: MHD_FN_PAR_IN_SIZE_
    functionSourceFile: /src/mhd2/src/include/microhttpd2_portability.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: MHD_FN_PAR_IN_SIZE_(param_num, size_num)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - param_num
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 746
      start: 744
    functionDepth: 0
    functionLinenumber: 744
    functionLinenumberEnd: 746
    functionName: MHD_FN_PAR_OUT_
    functionSourceFile: /src/mhd2/src/include/microhttpd2_portability.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: MHD_FN_PAR_OUT_(param_num)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - param_num
    - ','
    - size_num
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 758
      start: 756
    functionDepth: 0
    functionLinenumber: 756
    functionLinenumberEnd: 758
    functionName: MHD_FN_PAR_OUT_SIZE_
    functionSourceFile: /src/mhd2/src/include/microhttpd2_portability.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: MHD_FN_PAR_OUT_SIZE_(param_num, size_num)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - param_num
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 769
      start: 767
    functionDepth: 0
    functionLinenumber: 767
    functionLinenumberEnd: 769
    functionName: MHD_FN_PAR_INOUT_
    functionSourceFile: /src/mhd2/src/include/microhttpd2_portability.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: MHD_FN_PAR_INOUT_(param_num)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - param_num
    - ','
    - size_num
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 781
      start: 779
    functionDepth: 0
    functionLinenumber: 779
    functionLinenumberEnd: 781
    functionName: MHD_FN_PAR_INOUT_SIZE_
    functionSourceFile: /src/mhd2/src/include/microhttpd2_portability.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: MHD_FN_PAR_INOUT_SIZE_(param_num, size_num)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - param_num
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 795
      start: 793
    functionDepth: 0
    functionLinenumber: 793
    functionLinenumberEnd: 795
    functionName: MHD_FN_PAR_FD_READ_
    functionSourceFile: /src/mhd2/src/include/microhttpd2_portability.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: MHD_FN_PAR_FD_READ_(param_num)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - param_num
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 806
      start: 804
    functionDepth: 0
    functionLinenumber: 804
    functionLinenumberEnd: 806
    functionName: MHD_FN_PAR_CSTR_
    functionSourceFile: /src/mhd2/src/include/microhttpd2_portability.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: MHD_FN_PAR_CSTR_(param_num)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - size
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 816
      start: 815
    functionDepth: 0
    functionLinenumber: 815
    functionLinenumberEnd: 816
    functionName: MHD_FN_PAR_DYN_ARR_SIZE_
    functionSourceFile: /src/mhd2/src/include/microhttpd2_portability.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: MHD_FN_PAR_DYN_ARR_SIZE_(size)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - size
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 818
      start: 817
    functionDepth: 0
    functionLinenumber: 817
    functionLinenumberEnd: 818
    functionName: MHD_FN_PAR_DYN_ARR_SIZE_
    functionSourceFile: /src/mhd2/src/include/microhttpd2_portability.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: MHD_FN_PAR_DYN_ARR_SIZE_(size)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - size
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 827
      start: 826
    functionDepth: 0
    functionLinenumber: 826
    functionLinenumberEnd: 827
    functionName: MHD_FN_PAR_FIX_ARR_SIZE_
    functionSourceFile: /src/mhd2/src/include/microhttpd2_portability.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: MHD_FN_PAR_FIX_ARR_SIZE_(size)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - size
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 830
      start: 829
    functionDepth: 0
    functionLinenumber: 829
    functionLinenumberEnd: 830
    functionName: MHD_FN_PAR_FIX_ARR_SIZE_
    functionSourceFile: /src/mhd2/src/include/microhttpd2_portability.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: MHD_FN_PAR_FIX_ARR_SIZE_(size)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - wmp
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 986
      start: 978
    functionDepth: 0
    functionLinenumber: 978
    functionLinenumberEnd: 986
    functionName: MHD_D_OPTION_WORK_MODE
    functionSourceFile: /src/mhd2/src/include/microhttpd2_generated_daemon_options.h
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: MHD_D_OPTION_WORK_MODE(wmp)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - els
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 999
      start: 991
    functionDepth: 0
    functionLinenumber: 991
    functionLinenumberEnd: 999
    functionName: MHD_D_OPTION_POLL_SYSCALL
    functionSourceFile: /src/mhd2/src/include/microhttpd2_generated_daemon_options.h
    functionUses: 8
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: MHD_D_OPTION_POLL_SYSCALL(els)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - value
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1021
      start: 1013
    functionDepth: 0
    functionLinenumber: 1013
    functionLinenumberEnd: 1021
    functionName: MHD_D_OPTION_REREGISTER_ALL
    functionSourceFile: /src/mhd2/src/include/microhttpd2_generated_daemon_options.h
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: MHD_D_OPTION_REREGISTER_ALL(value)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - log_cb
    - ','
    - log_cb_cls
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1038
      start: 1029
    functionDepth: 0
    functionLinenumber: 1029
    functionLinenumberEnd: 1038
    functionName: MHD_D_OPTION_LOG_CALLBACK
    functionSourceFile: /src/mhd2/src/include/microhttpd2_generated_daemon_options.h
    functionUses: 3
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: MHD_D_OPTION_LOG_CALLBACK(log_cb, log_cb_cls)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - af
    - ','
    - port
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1059
      start: 1050
    functionDepth: 0
    functionLinenumber: 1050
    functionLinenumberEnd: 1059
    functionName: MHD_D_OPTION_BIND_PORT
    functionSourceFile: /src/mhd2/src/include/microhttpd2_generated_daemon_options.h
    functionUses: 10
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: MHD_D_OPTION_BIND_PORT(af, port)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - sa_len
    - ','
    - sa
    - ','
    - dual
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1080
      start: 1070
    functionDepth: 0
    functionLinenumber: 1070
    functionLinenumberEnd: 1080
    functionName: MHD_D_OPTION_BIND_SA
    functionSourceFile: /src/mhd2/src/include/microhttpd2_generated_daemon_options.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: MHD_D_OPTION_BIND_SA(sa_len, sa, dual)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - listen_fd
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1098
      start: 1090
    functionDepth: 0
    functionLinenumber: 1090
    functionLinenumberEnd: 1098
    functionName: MHD_D_OPTION_LISTEN_SOCKET
    functionSourceFile: /src/mhd2/src/include/microhttpd2_generated_daemon_options.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: MHD_D_OPTION_LISTEN_SOCKET(listen_fd)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - reuse_type
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1113
      start: 1105
    functionDepth: 0
    functionLinenumber: 1105
    functionLinenumberEnd: 1113
    functionName: MHD_D_OPTION_LISTEN_ADDR_REUSE
    functionSourceFile: /src/mhd2/src/include/microhttpd2_generated_daemon_options.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: MHD_D_OPTION_LISTEN_ADDR_REUSE(reuse_type)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - option
    - ','
    - queue_length
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1136
      start: 1127
    functionDepth: 0
    functionLinenumber: 1127
    functionLinenumberEnd: 1136
    functionName: MHD_D_OPTION_TCP_FASTOPEN
    functionSourceFile: /src/mhd2/src/include/microhttpd2_generated_daemon_options.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: MHD_D_OPTION_TCP_FASTOPEN(option, queue_length)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - backlog_size
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1152
      start: 1144
    functionDepth: 0
    functionLinenumber: 1144
    functionLinenumberEnd: 1152
    functionName: MHD_D_OPTION_LISTEN_BACKLOG
    functionSourceFile: /src/mhd2/src/include/microhttpd2_generated_daemon_options.h
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: MHD_D_OPTION_LISTEN_BACKLOG(backlog_size)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - value
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1166
      start: 1158
    functionDepth: 0
    functionLinenumber: 1158
    functionLinenumberEnd: 1166
    functionName: MHD_D_OPTION_SIGPIPE_SUPPRESSED
    functionSourceFile: /src/mhd2/src/include/microhttpd2_generated_daemon_options.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: MHD_D_OPTION_SIGPIPE_SUPPRESSED(value)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - backend
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1180
      start: 1172
    functionDepth: 0
    functionLinenumber: 1172
    functionLinenumberEnd: 1180
    functionName: MHD_D_OPTION_TLS
    functionSourceFile: /src/mhd2/src/include/microhttpd2_generated_daemon_options.h
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: MHD_D_OPTION_TLS(backend)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - mem_cert
    - ','
    - mem_key
    - ','
    - mem_pass
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1201
      start: 1191
    functionDepth: 0
    functionLinenumber: 1191
    functionLinenumberEnd: 1201
    functionName: MHD_D_OPTION_TLS_CERT_KEY
    functionSourceFile: /src/mhd2/src/include/microhttpd2_generated_daemon_options.h
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: MHD_D_OPTION_TLS_CERT_KEY(mem_cert, mem_key, mem_pass)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - mem_client_ca
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1215
      start: 1207
    functionDepth: 0
    functionLinenumber: 1207
    functionLinenumberEnd: 1215
    functionName: MHD_D_OPTION_TLS_CLIENT_CA
    functionSourceFile: /src/mhd2/src/include/microhttpd2_generated_daemon_options.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: MHD_D_OPTION_TLS_CLIENT_CA(mem_client_ca)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - psk_cb
    - ','
    - psk_cb_cls
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1230
      start: 1221
    functionDepth: 0
    functionLinenumber: 1221
    functionLinenumberEnd: 1230
    functionName: MHD_D_OPTION_TLS_PSK_CALLBACK
    functionSourceFile: /src/mhd2/src/include/microhttpd2_generated_daemon_options.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: MHD_D_OPTION_TLS_PSK_CALLBACK(psk_cb, psk_cb_cls)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - value
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1244
      start: 1236
    functionDepth: 0
    functionLinenumber: 1236
    functionLinenumberEnd: 1244
    functionName: MHD_D_OPTION_NO_ALPN
    functionSourceFile: /src/mhd2/src/include/microhttpd2_generated_daemon_options.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: MHD_D_OPTION_NO_ALPN(value)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - app_name
    - ','
    - disable_fallback
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1270
      start: 1261
    functionDepth: 0
    functionLinenumber: 1261
    functionLinenumberEnd: 1270
    functionName: MHD_D_OPTION_TLS_APP_NAME
    functionSourceFile: /src/mhd2/src/include/microhttpd2_generated_daemon_options.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: MHD_D_OPTION_TLS_APP_NAME(app_name, disable_fallback)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - pathname
    - ','
    - disable_fallback
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1292
      start: 1283
    functionDepth: 0
    functionLinenumber: 1283
    functionLinenumberEnd: 1292
    functionName: MHD_D_OPTION_TLS_OPENSSL_DEF_FILE
    functionSourceFile: /src/mhd2/src/include/microhttpd2_generated_daemon_options.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: MHD_D_OPTION_TLS_OPENSSL_DEF_FILE(pathname, disable_fallback)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - timeout
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1320
      start: 1312
    functionDepth: 0
    functionLinenumber: 1312
    functionLinenumberEnd: 1320
    functionName: MHD_D_OPTION_DEFAULT_TIMEOUT_MILSEC
    functionSourceFile: /src/mhd2/src/include/microhttpd2_generated_daemon_options.h
    functionUses: 6
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: MHD_D_OPTION_DEFAULT_TIMEOUT_MILSEC(timeout)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - glob_limit
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1336
      start: 1328
    functionDepth: 0
    functionLinenumber: 1328
    functionLinenumberEnd: 1336
    functionName: MHD_D_OPTION_GLOBAL_CONNECTION_LIMIT
    functionSourceFile: /src/mhd2/src/include/microhttpd2_generated_daemon_options.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: MHD_D_OPTION_GLOBAL_CONNECTION_LIMIT(glob_limit)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - limit
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1350
      start: 1342
    functionDepth: 0
    functionLinenumber: 1342
    functionLinenumberEnd: 1350
    functionName: MHD_D_OPTION_PER_IP_LIMIT
    functionSourceFile: /src/mhd2/src/include/microhttpd2_generated_daemon_options.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: MHD_D_OPTION_PER_IP_LIMIT(limit)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - apc
    - ','
    - apc_cls
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1365
      start: 1356
    functionDepth: 0
    functionLinenumber: 1356
    functionLinenumberEnd: 1365
    functionName: MHD_D_OPTION_ACCEPT_POLICY
    functionSourceFile: /src/mhd2/src/include/microhttpd2_generated_daemon_options.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: MHD_D_OPTION_ACCEPT_POLICY(apc, apc_cls)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - buff_zeroing
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1378
      start: 1370
    functionDepth: 0
    functionLinenumber: 1370
    functionLinenumberEnd: 1378
    functionName: MHD_D_OPTION_CONN_BUFF_ZEROING
    functionSourceFile: /src/mhd2/src/include/microhttpd2_generated_daemon_options.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: MHD_D_OPTION_CONN_BUFF_ZEROING(buff_zeroing)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - sl
    - ','
    - how
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1393
      start: 1384
    functionDepth: 0
    functionLinenumber: 1384
    functionLinenumberEnd: 1393
    functionName: MHD_D_OPTION_PROTOCOL_STRICT_LEVEL
    functionSourceFile: /src/mhd2/src/include/microhttpd2_generated_daemon_options.h
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: MHD_D_OPTION_PROTOCOL_STRICT_LEVEL(sl, how)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - cb
    - ','
    - cls
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1410
      start: 1401
    functionDepth: 0
    functionLinenumber: 1401
    functionLinenumberEnd: 1410
    functionName: MHD_D_OPTION_EARLY_URI_LOGGER
    functionSourceFile: /src/mhd2/src/include/microhttpd2_generated_daemon_options.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: MHD_D_OPTION_EARLY_URI_LOGGER(cb, cls)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - value
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1424
      start: 1416
    functionDepth: 0
    functionLinenumber: 1416
    functionLinenumberEnd: 1424
    functionName: MHD_D_OPTION_DISABLE_URI_QUERY_PLUS_AS_SPACE
    functionSourceFile: /src/mhd2/src/include/microhttpd2_generated_daemon_options.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: MHD_D_OPTION_DISABLE_URI_QUERY_PLUS_AS_SPACE(value)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - value
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1438
      start: 1430
    functionDepth: 0
    functionLinenumber: 1430
    functionLinenumberEnd: 1438
    functionName: MHD_D_OPTION_SUPPRESS_DATE_HEADER
    functionSourceFile: /src/mhd2/src/include/microhttpd2_generated_daemon_options.h
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: MHD_D_OPTION_SUPPRESS_DATE_HEADER(value)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - value
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1451
      start: 1443
    functionDepth: 0
    functionLinenumber: 1443
    functionLinenumberEnd: 1451
    functionName: MHD_D_OPTION_ENABLE_SHOUTCAST
    functionSourceFile: /src/mhd2/src/include/microhttpd2_generated_daemon_options.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: MHD_D_OPTION_ENABLE_SHOUTCAST(value)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - value
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1466
      start: 1458
    functionDepth: 0
    functionLinenumber: 1458
    functionLinenumberEnd: 1466
    functionName: MHD_D_OPTION_CONN_MEMORY_LIMIT
    functionSourceFile: /src/mhd2/src/include/microhttpd2_generated_daemon_options.h
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: MHD_D_OPTION_CONN_MEMORY_LIMIT(value)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - value
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1481
      start: 1473
    functionDepth: 0
    functionLinenumber: 1473
    functionLinenumberEnd: 1481
    functionName: MHD_D_OPTION_LARGE_POOL_SIZE
    functionSourceFile: /src/mhd2/src/include/microhttpd2_generated_daemon_options.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: MHD_D_OPTION_LARGE_POOL_SIZE(value)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - value
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1495
      start: 1487
    functionDepth: 0
    functionLinenumber: 1487
    functionLinenumberEnd: 1495
    functionName: MHD_D_OPTION_STACK_SIZE
    functionSourceFile: /src/mhd2/src/include/microhttpd2_generated_daemon_options.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: MHD_D_OPTION_STACK_SIZE(value)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - max_fd
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1513
      start: 1505
    functionDepth: 0
    functionLinenumber: 1505
    functionLinenumberEnd: 1513
    functionName: MHD_D_OPTION_FD_NUMBER_LIMIT
    functionSourceFile: /src/mhd2/src/include/microhttpd2_generated_daemon_options.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: MHD_D_OPTION_FD_NUMBER_LIMIT(max_fd)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - value
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1528
      start: 1520
    functionDepth: 0
    functionLinenumber: 1520
    functionLinenumberEnd: 1528
    functionName: MHD_D_OPTION_TURBO
    functionSourceFile: /src/mhd2/src/include/microhttpd2_generated_daemon_options.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: MHD_D_OPTION_TURBO(value)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - value
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1545
      start: 1537
    functionDepth: 0
    functionLinenumber: 1537
    functionLinenumberEnd: 1545
    functionName: MHD_D_OPTION_DISABLE_THREAD_SAFETY
    functionSourceFile: /src/mhd2/src/include/microhttpd2_generated_daemon_options.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: MHD_D_OPTION_DISABLE_THREAD_SAFETY(value)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - value
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1560
      start: 1552
    functionDepth: 0
    functionLinenumber: 1552
    functionLinenumberEnd: 1560
    functionName: MHD_D_OPTION_DISALLOW_UPGRADE
    functionSourceFile: /src/mhd2/src/include/microhttpd2_generated_daemon_options.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: MHD_D_OPTION_DISALLOW_UPGRADE(value)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - value
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1575
      start: 1567
    functionDepth: 0
    functionLinenumber: 1567
    functionLinenumberEnd: 1575
    functionName: MHD_D_OPTION_DISALLOW_SUSPEND_RESUME
    functionSourceFile: /src/mhd2/src/include/microhttpd2_generated_daemon_options.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: MHD_D_OPTION_DISALLOW_SUSPEND_RESUME(value)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - value
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1590
      start: 1582
    functionDepth: 0
    functionLinenumber: 1582
    functionLinenumberEnd: 1590
    functionName: MHD_D_OPTION_DISABLE_COOKIES
    functionSourceFile: /src/mhd2/src/include/microhttpd2_generated_daemon_options.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: MHD_D_OPTION_DISABLE_COOKIES(value)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - cb
    - ','
    - cb_cls
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1607
      start: 1598
    functionDepth: 0
    functionLinenumber: 1598
    functionLinenumberEnd: 1607
    functionName: MHD_D_OPTION_DAEMON_READY_CALLBACK
    functionSourceFile: /src/mhd2/src/include/microhttpd2_generated_daemon_options.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: MHD_D_OPTION_DAEMON_READY_CALLBACK(cb, cb_cls)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - ncc
    - ','
    - cls
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1622
      start: 1613
    functionDepth: 0
    functionLinenumber: 1613
    functionLinenumberEnd: 1622
    functionName: MHD_D_OPTION_NOTIFY_CONNECTION
    functionSourceFile: /src/mhd2/src/include/microhttpd2_generated_daemon_options.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: MHD_D_OPTION_NOTIFY_CONNECTION(ncc, cls)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - nsc
    - ','
    - cls
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1638
      start: 1629
    functionDepth: 0
    functionLinenumber: 1629
    functionLinenumberEnd: 1638
    functionName: MHD_D_OPTION_NOTIFY_STREAM
    functionSourceFile: /src/mhd2/src/include/microhttpd2_generated_daemon_options.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: MHD_D_OPTION_NOTIFY_STREAM(nsc, cls)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - buf_size
    - ','
    - buf
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1657
      start: 1648
    functionDepth: 0
    functionLinenumber: 1648
    functionLinenumberEnd: 1657
    functionName: MHD_D_OPTION_RANDOM_ENTROPY
    functionSourceFile: /src/mhd2/src/include/microhttpd2_generated_daemon_options.h
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: MHD_D_OPTION_RANDOM_ENTROPY(buf_size, buf)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - size
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1672
      start: 1664
    functionDepth: 0
    functionLinenumber: 1664
    functionLinenumberEnd: 1672
    functionName: MHD_D_OPTION_AUTH_DIGEST_MAP_SIZE
    functionSourceFile: /src/mhd2/src/include/microhttpd2_generated_daemon_options.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: MHD_D_OPTION_AUTH_DIGEST_MAP_SIZE(size)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - timeout
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1687
      start: 1679
    functionDepth: 0
    functionLinenumber: 1679
    functionLinenumberEnd: 1687
    functionName: MHD_D_OPTION_AUTH_DIGEST_NONCE_TIMEOUT
    functionSourceFile: /src/mhd2/src/include/microhttpd2_generated_daemon_options.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: MHD_D_OPTION_AUTH_DIGEST_NONCE_TIMEOUT(timeout)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - max_nc
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1702
      start: 1694
    functionDepth: 0
    functionLinenumber: 1694
    functionLinenumberEnd: 1702
    functionName: MHD_D_OPTION_AUTH_DIGEST_DEF_MAX_NC
    functionSourceFile: /src/mhd2/src/include/microhttpd2_generated_daemon_options.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: MHD_D_OPTION_AUTH_DIGEST_DEF_MAX_NC(max_nc)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 2
    argNames:
    - (
    - )
    argTypes:
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1714
      start: 1707
    functionDepth: 0
    functionLinenumber: 1707
    functionLinenumberEnd: 1714
    functionName: MHD_D_OPTION_TERMINATE
    functionSourceFile: /src/mhd2/src/include/microhttpd2_generated_daemon_options.h
    functionUses: 6
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: MHD_D_OPTION_TERMINATE()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - wmp
    argTypes:
    - struct MHD_WorkModeWithParam
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1734
      start: 1716
    functionDepth: 0
    functionLinenumber: 1716
    functionLinenumberEnd: 1734
    functionName: MHD_D_OPTION_WORK_MODE
    functionSourceFile: /src/mhd2/src/include/microhttpd2_generated_daemon_options.h
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: MHD_NOWARN_UNUSED_FUNC_
    signature: "MHD_NOWARN_UNUSED_FUNC_ MHD_D_OPTION_WORK_MODE (\n  struct MHD_WorkModeWithParam
      wmp\n  )"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - els
    argTypes:
    - enum MHD_SockPollSyscall
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1753
      start: 1742
    functionDepth: 0
    functionLinenumber: 1742
    functionLinenumberEnd: 1753
    functionName: MHD_D_OPTION_POLL_SYSCALL
    functionSourceFile: /src/mhd2/src/include/microhttpd2_generated_daemon_options.h
    functionUses: 8
    functionsReached: []
    linkageType: ''
    returnType: MHD_INLINE
    signature: "MHD_INLINE MHD_D_OPTION_POLL_SYSCALL (\n  enum MHD_SockPollSyscall
      els\n  )"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - value
    argTypes:
    - enum MHD_Bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1781
      start: 1770
    functionDepth: 0
    functionLinenumber: 1770
    functionLinenumberEnd: 1781
    functionName: MHD_D_OPTION_REREGISTER_ALL
    functionSourceFile: /src/mhd2/src/include/microhttpd2_generated_daemon_options.h
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: MHD_INLINE
    signature: "MHD_INLINE MHD_D_OPTION_REREGISTER_ALL (\n  enum MHD_Bool value\n
      \ )"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 2
    argNames:
    - log_cb
    - log_cb_cls
    argTypes:
    - MHD_LoggingCallback
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1805
      start: 1792
    functionDepth: 0
    functionLinenumber: 1792
    functionLinenumberEnd: 1805
    functionName: MHD_D_OPTION_LOG_CALLBACK
    functionSourceFile: /src/mhd2/src/include/microhttpd2_generated_daemon_options.h
    functionUses: 3
    functionsReached: []
    linkageType: ''
    returnType: MHD_INLINE
    signature: "MHD_INLINE MHD_D_OPTION_LOG_CALLBACK (\n  MHD_LoggingCallback log_cb,\n
      \ void *log_cb_cls\n  )"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 2
    argNames:
    - af
    - port
    argTypes:
    - enum MHD_AddressFamily
    - uint_least16_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1833
      start: 1820
    functionDepth: 0
    functionLinenumber: 1820
    functionLinenumberEnd: 1833
    functionName: MHD_D_OPTION_BIND_PORT
    functionSourceFile: /src/mhd2/src/include/microhttpd2_generated_daemon_options.h
    functionUses: 10
    functionsReached: []
    linkageType: ''
    returnType: MHD_INLINE
    signature: "MHD_INLINE MHD_D_OPTION_BIND_PORT (\n  enum MHD_AddressFamily af,\n
      \ uint_least16_t port\n  )"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 3
    argNames:
    - sa_len
    - sa
    - dual
    argTypes:
    - size_t
    - struct sockaddr*
    - enum MHD_Bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1862
      start: 1847
    functionDepth: 0
    functionLinenumber: 1847
    functionLinenumberEnd: 1862
    functionName: MHD_D_OPTION_BIND_SA
    functionSourceFile: /src/mhd2/src/include/microhttpd2_generated_daemon_options.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: MHD_INLINE
    signature: "MHD_INLINE MHD_D_OPTION_BIND_SA (\n  size_t sa_len,\n  /* const */
      struct sockaddr *sa,\n  enum MHD_Bool dual\n  )"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - listen_fd
    argTypes:
    - MHD_Socket
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1886
      start: 1875
    functionDepth: 0
    functionLinenumber: 1875
    functionLinenumberEnd: 1886
    functionName: MHD_D_OPTION_LISTEN_SOCKET
    functionSourceFile: /src/mhd2/src/include/microhttpd2_generated_daemon_options.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: MHD_INLINE
    signature: "MHD_INLINE MHD_D_OPTION_LISTEN_SOCKET (\n  MHD_Socket listen_fd\n
      \ )"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - reuse_type
    argTypes:
    - enum MHD_DaemonOptionBindType
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1907
      start: 1896
    functionDepth: 0
    functionLinenumber: 1896
    functionLinenumberEnd: 1907
    functionName: MHD_D_OPTION_LISTEN_ADDR_REUSE
    functionSourceFile: /src/mhd2/src/include/microhttpd2_generated_daemon_options.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: MHD_INLINE
    signature: "MHD_INLINE MHD_D_OPTION_LISTEN_ADDR_REUSE (\n  enum MHD_DaemonOptionBindType
      reuse_type\n  )"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 2
    argNames:
    - option
    - queue_length
    argTypes:
    - enum MHD_TCPFastOpenType
    - unsigned int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1937
      start: 1924
    functionDepth: 0
    functionLinenumber: 1924
    functionLinenumberEnd: 1937
    functionName: MHD_D_OPTION_TCP_FASTOPEN
    functionSourceFile: /src/mhd2/src/include/microhttpd2_generated_daemon_options.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: MHD_INLINE
    signature: "MHD_INLINE MHD_D_OPTION_TCP_FASTOPEN (\n  enum MHD_TCPFastOpenType
      option,\n  unsigned int queue_length\n  )"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - backlog_size
    argTypes:
    - unsigned int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1959
      start: 1948
    functionDepth: 0
    functionLinenumber: 1948
    functionLinenumberEnd: 1959
    functionName: MHD_D_OPTION_LISTEN_BACKLOG
    functionSourceFile: /src/mhd2/src/include/microhttpd2_generated_daemon_options.h
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: MHD_INLINE
    signature: "MHD_INLINE MHD_D_OPTION_LISTEN_BACKLOG (\n  unsigned int backlog_size\n
      \ )"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - value
    argTypes:
    - enum MHD_Bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1979
      start: 1968
    functionDepth: 0
    functionLinenumber: 1968
    functionLinenumberEnd: 1979
    functionName: MHD_D_OPTION_SIGPIPE_SUPPRESSED
    functionSourceFile: /src/mhd2/src/include/microhttpd2_generated_daemon_options.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: MHD_INLINE
    signature: "MHD_INLINE MHD_D_OPTION_SIGPIPE_SUPPRESSED (\n  enum MHD_Bool value\n
      \ )"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - backend
    argTypes:
    - enum MHD_TlsBackend
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1999
      start: 1988
    functionDepth: 0
    functionLinenumber: 1988
    functionLinenumberEnd: 1999
    functionName: MHD_D_OPTION_TLS
    functionSourceFile: /src/mhd2/src/include/microhttpd2_generated_daemon_options.h
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: MHD_INLINE
    signature: "MHD_INLINE MHD_D_OPTION_TLS (\n  enum MHD_TlsBackend backend\n  )"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 3
    argNames:
    - mem_cert
    - mem_key
    - mem_pass
    argTypes:
    - char*
    - char*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2028
      start: 2013
    functionDepth: 0
    functionLinenumber: 2013
    functionLinenumberEnd: 2028
    functionName: MHD_D_OPTION_TLS_CERT_KEY
    functionSourceFile: /src/mhd2/src/include/microhttpd2_generated_daemon_options.h
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: MHD_INLINE
    signature: "MHD_INLINE MHD_D_OPTION_TLS_CERT_KEY (\n  /* const */ char *mem_cert,\n
      \ const char *mem_key,\n  const char *mem_pass\n  )"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - mem_client_ca
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2048
      start: 2037
    functionDepth: 0
    functionLinenumber: 2037
    functionLinenumberEnd: 2048
    functionName: MHD_D_OPTION_TLS_CLIENT_CA
    functionSourceFile: /src/mhd2/src/include/microhttpd2_generated_daemon_options.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: MHD_INLINE
    signature: "MHD_INLINE MHD_D_OPTION_TLS_CLIENT_CA (\n  const char *mem_client_ca\n
      \ )"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 2
    argNames:
    - psk_cb
    - psk_cb_cls
    argTypes:
    - MHD_PskServerCredentialsCallback
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2070
      start: 2057
    functionDepth: 0
    functionLinenumber: 2057
    functionLinenumberEnd: 2070
    functionName: MHD_D_OPTION_TLS_PSK_CALLBACK
    functionSourceFile: /src/mhd2/src/include/microhttpd2_generated_daemon_options.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: MHD_INLINE
    signature: "MHD_INLINE MHD_D_OPTION_TLS_PSK_CALLBACK (\n  MHD_PskServerCredentialsCallback
      psk_cb,\n  void *psk_cb_cls\n  )"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - value
    argTypes:
    - enum MHD_Bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2090
      start: 2079
    functionDepth: 0
    functionLinenumber: 2079
    functionLinenumberEnd: 2090
    functionName: MHD_D_OPTION_NO_ALPN
    functionSourceFile: /src/mhd2/src/include/microhttpd2_generated_daemon_options.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: MHD_INLINE
    signature: "MHD_INLINE MHD_D_OPTION_NO_ALPN (\n  enum MHD_Bool value\n  )"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 2
    argNames:
    - app_name
    - disable_fallback
    argTypes:
    - char*
    - enum MHD_Bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2123
      start: 2110
    functionDepth: 0
    functionLinenumber: 2110
    functionLinenumberEnd: 2123
    functionName: MHD_D_OPTION_TLS_APP_NAME
    functionSourceFile: /src/mhd2/src/include/microhttpd2_generated_daemon_options.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: MHD_INLINE
    signature: "MHD_INLINE MHD_D_OPTION_TLS_APP_NAME (\n  char *app_name,\n  enum
      MHD_Bool disable_fallback\n  )"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 2
    argNames:
    - pathname
    - disable_fallback
    argTypes:
    - char*
    - enum MHD_Bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2152
      start: 2139
    functionDepth: 0
    functionLinenumber: 2139
    functionLinenumberEnd: 2152
    functionName: MHD_D_OPTION_TLS_OPENSSL_DEF_FILE
    functionSourceFile: /src/mhd2/src/include/microhttpd2_generated_daemon_options.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: MHD_INLINE
    signature: "MHD_INLINE MHD_D_OPTION_TLS_OPENSSL_DEF_FILE (\n  char *pathname,\n
      \ enum MHD_Bool disable_fallback\n  )"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - timeout
    argTypes:
    - uint_fast32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2186
      start: 2175
    functionDepth: 0
    functionLinenumber: 2175
    functionLinenumberEnd: 2186
    functionName: MHD_D_OPTION_DEFAULT_TIMEOUT_MILSEC
    functionSourceFile: /src/mhd2/src/include/microhttpd2_generated_daemon_options.h
    functionUses: 6
    functionsReached: []
    linkageType: ''
    returnType: MHD_INLINE
    signature: "MHD_INLINE MHD_D_OPTION_DEFAULT_TIMEOUT_MILSEC (\n  uint_fast32_t
      timeout\n  )"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - glob_limit
    argTypes:
    - unsigned int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2208
      start: 2197
    functionDepth: 0
    functionLinenumber: 2197
    functionLinenumberEnd: 2208
    functionName: MHD_D_OPTION_GLOBAL_CONNECTION_LIMIT
    functionSourceFile: /src/mhd2/src/include/microhttpd2_generated_daemon_options.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: MHD_INLINE
    signature: "MHD_INLINE MHD_D_OPTION_GLOBAL_CONNECTION_LIMIT (\n  unsigned int
      glob_limit\n  )"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - limit
    argTypes:
    - unsigned int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2228
      start: 2217
    functionDepth: 0
    functionLinenumber: 2217
    functionLinenumberEnd: 2228
    functionName: MHD_D_OPTION_PER_IP_LIMIT
    functionSourceFile: /src/mhd2/src/include/microhttpd2_generated_daemon_options.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: MHD_INLINE
    signature: "MHD_INLINE MHD_D_OPTION_PER_IP_LIMIT (\n  unsigned int limit\n  )"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 2
    argNames:
    - apc
    - apc_cls
    argTypes:
    - MHD_AcceptPolicyCallback
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2250
      start: 2237
    functionDepth: 0
    functionLinenumber: 2237
    functionLinenumberEnd: 2250
    functionName: MHD_D_OPTION_ACCEPT_POLICY
    functionSourceFile: /src/mhd2/src/include/microhttpd2_generated_daemon_options.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: MHD_INLINE
    signature: "MHD_INLINE MHD_D_OPTION_ACCEPT_POLICY (\n  MHD_AcceptPolicyCallback
      apc,\n  void *apc_cls\n  )"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - buff_zeroing
    argTypes:
    - enum MHD_ConnBufferZeroingMode
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2269
      start: 2258
    functionDepth: 0
    functionLinenumber: 2258
    functionLinenumberEnd: 2269
    functionName: MHD_D_OPTION_CONN_BUFF_ZEROING
    functionSourceFile: /src/mhd2/src/include/microhttpd2_generated_daemon_options.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: MHD_INLINE
    signature: "MHD_INLINE MHD_D_OPTION_CONN_BUFF_ZEROING (\n  enum MHD_ConnBufferZeroingMode
      buff_zeroing\n  )"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 2
    argNames:
    - sl
    - how
    argTypes:
    - enum MHD_ProtocolStrictLevel
    - enum MHD_UseStictLevel
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2291
      start: 2278
    functionDepth: 0
    functionLinenumber: 2278
    functionLinenumberEnd: 2291
    functionName: MHD_D_OPTION_PROTOCOL_STRICT_LEVEL
    functionSourceFile: /src/mhd2/src/include/microhttpd2_generated_daemon_options.h
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: MHD_INLINE
    signature: "MHD_INLINE MHD_D_OPTION_PROTOCOL_STRICT_LEVEL (\n  enum MHD_ProtocolStrictLevel
      sl,\n  enum MHD_UseStictLevel how\n  )"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 2
    argNames:
    - cb
    - cls
    argTypes:
    - MHD_EarlyUriLogCallback
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2315
      start: 2302
    functionDepth: 0
    functionLinenumber: 2302
    functionLinenumberEnd: 2315
    functionName: MHD_D_OPTION_EARLY_URI_LOGGER
    functionSourceFile: /src/mhd2/src/include/microhttpd2_generated_daemon_options.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: MHD_INLINE
    signature: "MHD_INLINE MHD_D_OPTION_EARLY_URI_LOGGER (\n  MHD_EarlyUriLogCallback
      cb,\n  void *cls\n  )"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - value
    argTypes:
    - enum MHD_Bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2335
      start: 2324
    functionDepth: 0
    functionLinenumber: 2324
    functionLinenumberEnd: 2335
    functionName: MHD_D_OPTION_DISABLE_URI_QUERY_PLUS_AS_SPACE
    functionSourceFile: /src/mhd2/src/include/microhttpd2_generated_daemon_options.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: MHD_INLINE
    signature: "MHD_INLINE MHD_D_OPTION_DISABLE_URI_QUERY_PLUS_AS_SPACE (\n  enum
      MHD_Bool value\n  )"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - value
    argTypes:
    - enum MHD_Bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2355
      start: 2344
    functionDepth: 0
    functionLinenumber: 2344
    functionLinenumberEnd: 2355
    functionName: MHD_D_OPTION_SUPPRESS_DATE_HEADER
    functionSourceFile: /src/mhd2/src/include/microhttpd2_generated_daemon_options.h
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: MHD_INLINE
    signature: "MHD_INLINE MHD_D_OPTION_SUPPRESS_DATE_HEADER (\n  enum MHD_Bool value\n
      \ )"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - value
    argTypes:
    - enum MHD_Bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2374
      start: 2363
    functionDepth: 0
    functionLinenumber: 2363
    functionLinenumberEnd: 2374
    functionName: MHD_D_OPTION_ENABLE_SHOUTCAST
    functionSourceFile: /src/mhd2/src/include/microhttpd2_generated_daemon_options.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: MHD_INLINE
    signature: "MHD_INLINE MHD_D_OPTION_ENABLE_SHOUTCAST (\n  enum MHD_Bool value\n
      \ )"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - value
    argTypes:
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2395
      start: 2384
    functionDepth: 0
    functionLinenumber: 2384
    functionLinenumberEnd: 2395
    functionName: MHD_D_OPTION_CONN_MEMORY_LIMIT
    functionSourceFile: /src/mhd2/src/include/microhttpd2_generated_daemon_options.h
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: MHD_INLINE
    signature: "MHD_INLINE MHD_D_OPTION_CONN_MEMORY_LIMIT (\n  size_t value\n  )"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - value
    argTypes:
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2416
      start: 2405
    functionDepth: 0
    functionLinenumber: 2405
    functionLinenumberEnd: 2416
    functionName: MHD_D_OPTION_LARGE_POOL_SIZE
    functionSourceFile: /src/mhd2/src/include/microhttpd2_generated_daemon_options.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: MHD_INLINE
    signature: "MHD_INLINE MHD_D_OPTION_LARGE_POOL_SIZE (\n  size_t value\n  )"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - value
    argTypes:
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2436
      start: 2425
    functionDepth: 0
    functionLinenumber: 2425
    functionLinenumberEnd: 2436
    functionName: MHD_D_OPTION_STACK_SIZE
    functionSourceFile: /src/mhd2/src/include/microhttpd2_generated_daemon_options.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: MHD_INLINE
    signature: "MHD_INLINE MHD_D_OPTION_STACK_SIZE (\n  size_t value\n  )"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - max_fd
    argTypes:
    - MHD_Socket
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2460
      start: 2449
    functionDepth: 0
    functionLinenumber: 2449
    functionLinenumberEnd: 2460
    functionName: MHD_D_OPTION_FD_NUMBER_LIMIT
    functionSourceFile: /src/mhd2/src/include/microhttpd2_generated_daemon_options.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: MHD_INLINE
    signature: "MHD_INLINE MHD_D_OPTION_FD_NUMBER_LIMIT (\n  MHD_Socket max_fd\n  )"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - value
    argTypes:
    - enum MHD_Bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2481
      start: 2470
    functionDepth: 0
    functionLinenumber: 2470
    functionLinenumberEnd: 2481
    functionName: MHD_D_OPTION_TURBO
    functionSourceFile: /src/mhd2/src/include/microhttpd2_generated_daemon_options.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: MHD_INLINE
    signature: "MHD_INLINE MHD_D_OPTION_TURBO (\n  enum MHD_Bool value\n  )"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - value
    argTypes:
    - enum MHD_Bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2504
      start: 2493
    functionDepth: 0
    functionLinenumber: 2493
    functionLinenumberEnd: 2504
    functionName: MHD_D_OPTION_DISABLE_THREAD_SAFETY
    functionSourceFile: /src/mhd2/src/include/microhttpd2_generated_daemon_options.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: MHD_INLINE
    signature: "MHD_INLINE MHD_D_OPTION_DISABLE_THREAD_SAFETY (\n  enum MHD_Bool value\n
      \ )"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - value
    argTypes:
    - enum MHD_Bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2525
      start: 2514
    functionDepth: 0
    functionLinenumber: 2514
    functionLinenumberEnd: 2525
    functionName: MHD_D_OPTION_DISALLOW_UPGRADE
    functionSourceFile: /src/mhd2/src/include/microhttpd2_generated_daemon_options.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: MHD_INLINE
    signature: "MHD_INLINE MHD_D_OPTION_DISALLOW_UPGRADE (\n  enum MHD_Bool value\n
      \ )"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - value
    argTypes:
    - enum MHD_Bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2546
      start: 2535
    functionDepth: 0
    functionLinenumber: 2535
    functionLinenumberEnd: 2546
    functionName: MHD_D_OPTION_DISALLOW_SUSPEND_RESUME
    functionSourceFile: /src/mhd2/src/include/microhttpd2_generated_daemon_options.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: MHD_INLINE
    signature: "MHD_INLINE MHD_D_OPTION_DISALLOW_SUSPEND_RESUME (\n  enum MHD_Bool
      value\n  )"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - value
    argTypes:
    - enum MHD_Bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2567
      start: 2556
    functionDepth: 0
    functionLinenumber: 2556
    functionLinenumberEnd: 2567
    functionName: MHD_D_OPTION_DISABLE_COOKIES
    functionSourceFile: /src/mhd2/src/include/microhttpd2_generated_daemon_options.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: MHD_INLINE
    signature: "MHD_INLINE MHD_D_OPTION_DISABLE_COOKIES (\n  enum MHD_Bool value\n
      \ )"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 2
    argNames:
    - cb
    - cb_cls
    argTypes:
    - MHD_DaemonReadyCallback
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2591
      start: 2578
    functionDepth: 0
    functionLinenumber: 2578
    functionLinenumberEnd: 2591
    functionName: MHD_D_OPTION_DAEMON_READY_CALLBACK
    functionSourceFile: /src/mhd2/src/include/microhttpd2_generated_daemon_options.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: MHD_INLINE
    signature: "MHD_INLINE MHD_D_OPTION_DAEMON_READY_CALLBACK (\n  MHD_DaemonReadyCallback
      cb,\n  void *cb_cls\n  )"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 2
    argNames:
    - ncc
    - cls
    argTypes:
    - MHD_NotifyConnectionCallback
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2613
      start: 2600
    functionDepth: 0
    functionLinenumber: 2600
    functionLinenumberEnd: 2613
    functionName: MHD_D_OPTION_NOTIFY_CONNECTION
    functionSourceFile: /src/mhd2/src/include/microhttpd2_generated_daemon_options.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: MHD_INLINE
    signature: "MHD_INLINE MHD_D_OPTION_NOTIFY_CONNECTION (\n  MHD_NotifyConnectionCallback
      ncc,\n  void *cls\n  )"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 2
    argNames:
    - nsc
    - cls
    argTypes:
    - MHD_NotifyStreamCallback
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2636
      start: 2623
    functionDepth: 0
    functionLinenumber: 2623
    functionLinenumberEnd: 2636
    functionName: MHD_D_OPTION_NOTIFY_STREAM
    functionSourceFile: /src/mhd2/src/include/microhttpd2_generated_daemon_options.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: MHD_INLINE
    signature: "MHD_INLINE MHD_D_OPTION_NOTIFY_STREAM (\n  MHD_NotifyStreamCallback
      nsc,\n  void *cls\n  )"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 2
    argNames:
    - buf_size
    - buf
    argTypes:
    - size_t
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2662
      start: 2649
    functionDepth: 0
    functionLinenumber: 2649
    functionLinenumberEnd: 2662
    functionName: MHD_D_OPTION_RANDOM_ENTROPY
    functionSourceFile: /src/mhd2/src/include/microhttpd2_generated_daemon_options.h
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: MHD_INLINE
    signature: "MHD_INLINE MHD_D_OPTION_RANDOM_ENTROPY (\n  size_t buf_size,\n  /*
      const */ void *buf\n  )"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - size
    argTypes:
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2683
      start: 2672
    functionDepth: 0
    functionLinenumber: 2672
    functionLinenumberEnd: 2683
    functionName: MHD_D_OPTION_AUTH_DIGEST_MAP_SIZE
    functionSourceFile: /src/mhd2/src/include/microhttpd2_generated_daemon_options.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: MHD_INLINE
    signature: "MHD_INLINE MHD_D_OPTION_AUTH_DIGEST_MAP_SIZE (\n  size_t size\n  )"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - timeout
    argTypes:
    - unsigned int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2704
      start: 2693
    functionDepth: 0
    functionLinenumber: 2693
    functionLinenumberEnd: 2704
    functionName: MHD_D_OPTION_AUTH_DIGEST_NONCE_TIMEOUT
    functionSourceFile: /src/mhd2/src/include/microhttpd2_generated_daemon_options.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: MHD_INLINE
    signature: "MHD_INLINE MHD_D_OPTION_AUTH_DIGEST_NONCE_TIMEOUT (\n  unsigned int
      timeout\n  )"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - max_nc
    argTypes:
    - uint_fast32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2725
      start: 2714
    functionDepth: 0
    functionLinenumber: 2714
    functionLinenumberEnd: 2725
    functionName: MHD_D_OPTION_AUTH_DIGEST_DEF_MAX_NC
    functionSourceFile: /src/mhd2/src/include/microhttpd2_generated_daemon_options.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: MHD_INLINE
    signature: "MHD_INLINE MHD_D_OPTION_AUTH_DIGEST_DEF_MAX_NC (\n  uint_fast32_t
      max_nc\n  )"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2740
      start: 2732
    functionDepth: 0
    functionLinenumber: 2732
    functionLinenumberEnd: 2740
    functionName: MHD_D_OPTION_TERMINATE
    functionSourceFile: /src/mhd2/src/include/microhttpd2_generated_daemon_options.h
    functionUses: 6
    functionsReached: []
    linkageType: ''
    returnType: MHD_INLINE
    signature: MHD_INLINE MHD_D_OPTION_TERMINATE (void)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - code
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1830
      start: 1827
    functionDepth: 0
    functionLinenumber: 1827
    functionLinenumberEnd: 1830
    functionName: MHD_status_code_to_string_lazy
    functionSourceFile: /src/mhd2/src/include/microhttpd2.h
    functionUses: 4
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: MHD_status_code_to_string_lazy(code)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - var
    - ','
    - state
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2806
      start: 2802
    functionDepth: 0
    functionLinenumber: 2802
    functionLinenumberEnd: 2806
    functionName: MHD_FD_STATE_IS_SET
    functionSourceFile: /src/mhd2/src/include/microhttpd2.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: MHD_FD_STATE_IS_SET(var, state)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - var
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2812
      start: 2810
    functionDepth: 0
    functionLinenumber: 2810
    functionLinenumberEnd: 2812
    functionName: MHD_FD_STATE_IS_SET_RECV
    functionSourceFile: /src/mhd2/src/include/microhttpd2.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: MHD_FD_STATE_IS_SET_RECV(var)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - var
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2817
      start: 2815
    functionDepth: 0
    functionLinenumber: 2815
    functionLinenumberEnd: 2817
    functionName: MHD_FD_STATE_IS_SET_SEND
    functionSourceFile: /src/mhd2/src/include/microhttpd2.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: MHD_FD_STATE_IS_SET_SEND(var)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - var
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2822
      start: 2820
    functionDepth: 0
    functionLinenumber: 2820
    functionLinenumberEnd: 2822
    functionName: MHD_FD_STATE_IS_SET_EXCEPT
    functionSourceFile: /src/mhd2/src/include/microhttpd2.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: MHD_FD_STATE_IS_SET_EXCEPT(var)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - var
    - ','
    - state
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2830
      start: 2827
    functionDepth: 0
    functionLinenumber: 2827
    functionLinenumberEnd: 2830
    functionName: MHD_FD_STATE_SET
    functionSourceFile: /src/mhd2/src/include/microhttpd2.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: MHD_FD_STATE_SET(var, state)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - var
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2834
      start: 2833
    functionDepth: 0
    functionLinenumber: 2833
    functionLinenumberEnd: 2834
    functionName: MHD_FD_STATE_SET_RECV
    functionSourceFile: /src/mhd2/src/include/microhttpd2.h
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: MHD_FD_STATE_SET_RECV(var)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - var
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2838
      start: 2837
    functionDepth: 0
    functionLinenumber: 2837
    functionLinenumberEnd: 2838
    functionName: MHD_FD_STATE_SET_SEND
    functionSourceFile: /src/mhd2/src/include/microhttpd2.h
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: MHD_FD_STATE_SET_SEND(var)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - var
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2843
      start: 2841
    functionDepth: 0
    functionLinenumber: 2841
    functionLinenumberEnd: 2843
    functionName: MHD_FD_STATE_SET_EXCEPT
    functionSourceFile: /src/mhd2/src/include/microhttpd2.h
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: MHD_FD_STATE_SET_EXCEPT(var)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - var
    - ','
    - state
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2853
      start: 2847
    functionDepth: 0
    functionLinenumber: 2847
    functionLinenumberEnd: 2853
    functionName: MHD_FD_STATE_CLEAR
    functionSourceFile: /src/mhd2/src/include/microhttpd2.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: MHD_FD_STATE_CLEAR(var, state)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - var
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2858
      start: 2856
    functionDepth: 0
    functionLinenumber: 2856
    functionLinenumberEnd: 2858
    functionName: MHD_FD_STATE_CLEAR_RECV
    functionSourceFile: /src/mhd2/src/include/microhttpd2.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: MHD_FD_STATE_CLEAR_RECV(var)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - var
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2863
      start: 2861
    functionDepth: 0
    functionLinenumber: 2861
    functionLinenumberEnd: 2863
    functionName: MHD_FD_STATE_CLEAR_SEND
    functionSourceFile: /src/mhd2/src/include/microhttpd2.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: MHD_FD_STATE_CLEAR_SEND(var)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - var
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2868
      start: 2866
    functionDepth: 0
    functionLinenumber: 2866
    functionLinenumberEnd: 2868
    functionName: MHD_FD_STATE_CLEAR_EXCEPT
    functionSourceFile: /src/mhd2/src/include/microhttpd2.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: MHD_FD_STATE_CLEAR_EXCEPT(var)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 2
    argNames:
    - (
    - )
    argTypes:
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3129
      start: 3122
    functionDepth: 0
    functionLinenumber: 3122
    functionLinenumberEnd: 3129
    functionName: MHD_WM_OPTION_EXTERNAL_PERIODIC
    functionSourceFile: /src/mhd2/src/include/microhttpd2.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: MHD_WM_OPTION_EXTERNAL_PERIODIC()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - cb_val
    - ','
    - cb_cls_val
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3148
      start: 3139
    functionDepth: 0
    functionLinenumber: 3139
    functionLinenumberEnd: 3148
    functionName: MHD_WM_OPTION_EXTERNAL_EVENT_LOOP_CB_LEVEL
    functionSourceFile: /src/mhd2/src/include/microhttpd2.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: MHD_WM_OPTION_EXTERNAL_EVENT_LOOP_CB_LEVEL(cb_val, cb_cls_val)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - cb_val
    - ','
    - cb_cls_val
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3167
      start: 3158
    functionDepth: 0
    functionLinenumber: 3158
    functionLinenumberEnd: 3167
    functionName: MHD_WM_OPTION_EXTERNAL_EVENT_LOOP_CB_EDGE
    functionSourceFile: /src/mhd2/src/include/microhttpd2.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: MHD_WM_OPTION_EXTERNAL_EVENT_LOOP_CB_EDGE(cb_val, cb_cls_val)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 2
    argNames:
    - (
    - )
    argTypes:
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3187
      start: 3180
    functionDepth: 0
    functionLinenumber: 3180
    functionLinenumberEnd: 3187
    functionName: MHD_WM_OPTION_EXTERNAL_SINGLE_FD_WATCH
    functionSourceFile: /src/mhd2/src/include/microhttpd2.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: MHD_WM_OPTION_EXTERNAL_SINGLE_FD_WATCH()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - num_workers
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3206
      start: 3198
    functionDepth: 0
    functionLinenumber: 3198
    functionLinenumberEnd: 3206
    functionName: MHD_WM_OPTION_WORKER_THREADS
    functionSourceFile: /src/mhd2/src/include/microhttpd2.h
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: MHD_WM_OPTION_WORKER_THREADS(num_workers)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 2
    argNames:
    - (
    - )
    argTypes:
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3222
      start: 3215
    functionDepth: 0
    functionLinenumber: 3215
    functionLinenumberEnd: 3222
    functionName: MHD_WM_OPTION_THREAD_PER_CONNECTION
    functionSourceFile: /src/mhd2/src/include/microhttpd2.h
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: MHD_WM_OPTION_THREAD_PER_CONNECTION()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3242
      start: 3224
    functionDepth: 0
    functionLinenumber: 3224
    functionLinenumberEnd: 3242
    functionName: MHD_WM_OPTION_EXTERNAL_PERIODIC
    functionSourceFile: /src/mhd2/src/include/microhttpd2.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: MHD_NOWARN_UNUSED_FUNC_
    signature: MHD_NOWARN_UNUSED_FUNC_ MHD_WM_OPTION_EXTERNAL_PERIODIC (void)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 2
    argNames:
    - cb_val
    - cb_cls_val
    argTypes:
    - MHD_SocketRegistrationUpdateCallback
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3266
      start: 3254
    functionDepth: 0
    functionLinenumber: 3254
    functionLinenumberEnd: 3266
    functionName: MHD_WM_OPTION_EXTERNAL_EVENT_LOOP_CB_LEVEL
    functionSourceFile: /src/mhd2/src/include/microhttpd2.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: MHD_INLINE
    signature: "MHD_INLINE MHD_WM_OPTION_EXTERNAL_EVENT_LOOP_CB_LEVEL (\n  MHD_SocketRegistrationUpdateCallback
      cb_val,\n  void *cb_cls_val)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 2
    argNames:
    - cb_val
    - cb_cls_val
    argTypes:
    - MHD_SocketRegistrationUpdateCallback
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3290
      start: 3278
    functionDepth: 0
    functionLinenumber: 3278
    functionLinenumberEnd: 3290
    functionName: MHD_WM_OPTION_EXTERNAL_EVENT_LOOP_CB_EDGE
    functionSourceFile: /src/mhd2/src/include/microhttpd2.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: MHD_INLINE
    signature: "MHD_INLINE MHD_WM_OPTION_EXTERNAL_EVENT_LOOP_CB_EDGE (\n  MHD_SocketRegistrationUpdateCallback
      cb_val,\n  void *cb_cls_val)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3313
      start: 3305
    functionDepth: 0
    functionLinenumber: 3305
    functionLinenumberEnd: 3313
    functionName: MHD_WM_OPTION_EXTERNAL_SINGLE_FD_WATCH
    functionSourceFile: /src/mhd2/src/include/microhttpd2.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: MHD_INLINE
    signature: MHD_INLINE MHD_WM_OPTION_EXTERNAL_SINGLE_FD_WATCH (void)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - num_workers
    argTypes:
    - unsigned int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3335
      start: 3326
    functionDepth: 0
    functionLinenumber: 3326
    functionLinenumberEnd: 3335
    functionName: MHD_WM_OPTION_WORKER_THREADS
    functionSourceFile: /src/mhd2/src/include/microhttpd2.h
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: MHD_INLINE
    signature: MHD_INLINE MHD_WM_OPTION_WORKER_THREADS (unsigned int num_workers)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3354
      start: 3346
    functionDepth: 0
    functionLinenumber: 3346
    functionLinenumberEnd: 3354
    functionName: MHD_WM_OPTION_THREAD_PER_CONNECTION
    functionSourceFile: /src/mhd2/src/include/microhttpd2.h
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: MHD_INLINE
    signature: MHD_INLINE MHD_WM_OPTION_THREAD_PER_CONNECTION (void)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - mscc
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3790
      start: 3788
    functionDepth: 0
    functionLinenumber: 3788
    functionLinenumberEnd: 3790
    functionName: MHD_connection_set_psk_unavailable
    functionSourceFile: /src/mhd2/src/include/microhttpd2.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: MHD_connection_set_psk_unavailable(mscc)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 2
    argNames:
    - (
    - )
    argTypes:
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4929
      start: 4927
    functionDepth: 0
    functionLinenumber: 4927
    functionLinenumberEnd: 4929
    functionName: MHD_D_OPTION_WM_EXTERNAL_PERIODIC
    functionSourceFile: /src/mhd2/src/include/microhttpd2.h
    functionUses: 4
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: MHD_D_OPTION_WM_EXTERNAL_PERIODIC()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - cb_val
    - ','
    - cb_cls_val
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4942
      start: 4939
    functionDepth: 0
    functionLinenumber: 4939
    functionLinenumberEnd: 4942
    functionName: MHD_D_OPTION_WM_EXTERNAL_EVENT_LOOP_CB_LEVEL
    functionSourceFile: /src/mhd2/src/include/microhttpd2.h
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: MHD_D_OPTION_WM_EXTERNAL_EVENT_LOOP_CB_LEVEL(cb_val, cb_cls_val)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - cb_val
    - ','
    - cb_cls_val
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4955
      start: 4952
    functionDepth: 0
    functionLinenumber: 4952
    functionLinenumberEnd: 4955
    functionName: MHD_D_OPTION_WM_EXTERNAL_EVENT_LOOP_CB_EDGE
    functionSourceFile: /src/mhd2/src/include/microhttpd2.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: MHD_D_OPTION_WM_EXTERNAL_EVENT_LOOP_CB_EDGE(cb_val, cb_cls_val)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 2
    argNames:
    - (
    - )
    argTypes:
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4970
      start: 4968
    functionDepth: 0
    functionLinenumber: 4968
    functionLinenumberEnd: 4970
    functionName: MHD_D_OPTION_WM_EXTERNAL_SINGLE_FD_WATCH
    functionSourceFile: /src/mhd2/src/include/microhttpd2.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: MHD_D_OPTION_WM_EXTERNAL_SINGLE_FD_WATCH()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - num_workers
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4983
      start: 4981
    functionDepth: 0
    functionLinenumber: 4981
    functionLinenumberEnd: 4983
    functionName: MHD_D_OPTION_WM_WORKER_THREADS
    functionSourceFile: /src/mhd2/src/include/microhttpd2.h
    functionUses: 9
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: MHD_D_OPTION_WM_WORKER_THREADS(num_workers)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 2
    argNames:
    - (
    - )
    argTypes:
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4994
      start: 4992
    functionDepth: 0
    functionLinenumber: 4992
    functionLinenumberEnd: 4994
    functionName: MHD_D_OPTION_WM_THREAD_PER_CONNECTION
    functionSourceFile: /src/mhd2/src/include/microhttpd2.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: MHD_D_OPTION_WM_THREAD_PER_CONNECTION()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - daemon
    - ','
    - option_ptr
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5028
      start: 5026
    functionDepth: 0
    functionLinenumber: 5026
    functionLinenumberEnd: 5028
    functionName: MHD_daemon_set_option
    functionSourceFile: /src/mhd2/src/include/microhttpd2.h
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: MHD_daemon_set_option(daemon, option_ptr)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - daemon
    - ','
    - '...'
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5061
      start: 5051
    functionDepth: 0
    functionLinenumber: 5051
    functionLinenumberEnd: 5061
    functionName: MHD_DAEMON_SET_OPTIONS
    functionSourceFile: /src/mhd2/src/include/microhttpd2.h
    functionUses: 10
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: MHD_DAEMON_SET_OPTIONS(daemon,...)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - daemon
    - ','
    - '...'
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5089
      start: 5081
    functionDepth: 0
    functionLinenumber: 5081
    functionLinenumberEnd: 5089
    functionName: MHD_DAEMON_SET_OPTIONS
    functionSourceFile: /src/mhd2/src/include/microhttpd2.h
    functionUses: 10
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: MHD_DAEMON_SET_OPTIONS(daemon,...)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - daemon
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5161
      start: 5159
    functionDepth: 0
    functionLinenumber: 5159
    functionLinenumberEnd: 5161
    functionName: MHD_daemon_process_nonblocking
    functionSourceFile: /src/mhd2/src/include/microhttpd2.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: MHD_daemon_process_nonblocking(daemon)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - timeout
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5284
      start: 5276
    functionDepth: 0
    functionLinenumber: 5276
    functionLinenumberEnd: 5284
    functionName: MHD_C_OPTION_TIMEOUT
    functionSourceFile: /src/mhd2/src/include/microhttpd2.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: MHD_C_OPTION_TIMEOUT(timeout)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 2
    argNames:
    - (
    - )
    argTypes:
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5296
      start: 5289
    functionDepth: 0
    functionLinenumber: 5289
    functionLinenumberEnd: 5296
    functionName: MHD_C_OPTION_TERMINATE
    functionSourceFile: /src/mhd2/src/include/microhttpd2.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: MHD_C_OPTION_TERMINATE()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - timeout
    argTypes:
    - unsigned int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5317
      start: 5298
    functionDepth: 0
    functionLinenumber: 5298
    functionLinenumberEnd: 5317
    functionName: MHD_C_OPTION_TIMEOUT
    functionSourceFile: /src/mhd2/src/include/microhttpd2.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: MHD_NOWARN_UNUSED_FUNC_
    signature: MHD_NOWARN_UNUSED_FUNC_ MHD_C_OPTION_TIMEOUT (unsigned int timeout)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5332
      start: 5324
    functionDepth: 0
    functionLinenumber: 5324
    functionLinenumberEnd: 5332
    functionName: MHD_C_OPTION_TERMINATE
    functionSourceFile: /src/mhd2/src/include/microhttpd2.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: MHD_INLINE
    signature: MHD_INLINE MHD_C_OPTION_TERMINATE (void)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - connection
    - ','
    - option_ptr
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5371
      start: 5369
    functionDepth: 0
    functionLinenumber: 5369
    functionLinenumberEnd: 5371
    functionName: MHD_connection_set_option
    functionSourceFile: /src/mhd2/src/include/microhttpd2.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: MHD_connection_set_option(connection, option_ptr)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - connection
    - ','
    - '...'
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5401
      start: 5393
    functionDepth: 0
    functionLinenumber: 5393
    functionLinenumberEnd: 5401
    functionName: MHD_CONNECTION_SET_OPTIONS
    functionSourceFile: /src/mhd2/src/include/microhttpd2.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: MHD_CONNECTION_SET_OPTIONS(connection,...)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - daemon
    - ','
    - '...'
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5428
      start: 5420
    functionDepth: 0
    functionLinenumber: 5420
    functionLinenumberEnd: 5428
    functionName: MHD_CONNECTION_SET_OPTIONS
    functionSourceFile: /src/mhd2/src/include/microhttpd2.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: MHD_CONNECTION_SET_OPTIONS(daemon,...)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - code
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5872
      start: 5869
    functionDepth: 0
    functionLinenumber: 5869
    functionLinenumberEnd: 5872
    functionName: MHD_HTTP_status_code_to_string_lazy
    functionSourceFile: /src/mhd2/src/include/microhttpd2.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: MHD_HTTP_status_code_to_string_lazy(code)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - req
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 6052
      start: 6050
    functionDepth: 0
    functionLinenumber: 6050
    functionLinenumberEnd: 6052
    functionName: MHD_action_abort_request
    functionSourceFile: /src/mhd2/src/include/microhttpd2.h
    functionUses: 18
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: MHD_action_abort_request(req)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - response
    - ','
    - option_ptr
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 6088
      start: 6086
    functionDepth: 0
    functionLinenumber: 6086
    functionLinenumberEnd: 6088
    functionName: MHD_response_set_option
    functionSourceFile: /src/mhd2/src/include/microhttpd2.h
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: MHD_response_set_option(response, option_ptr)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - response
    - ','
    - '...'
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 6119
      start: 6111
    functionDepth: 0
    functionLinenumber: 6111
    functionLinenumberEnd: 6119
    functionName: MHD_RESPONSE_SET_OPTIONS
    functionSourceFile: /src/mhd2/src/include/microhttpd2.h
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: MHD_RESPONSE_SET_OPTIONS(response,...)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - response
    - ','
    - '...'
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 6147
      start: 6139
    functionDepth: 0
    functionLinenumber: 6139
    functionLinenumberEnd: 6147
    functionName: MHD_RESPONSE_SET_OPTIONS
    functionSourceFile: /src/mhd2/src/include/microhttpd2.h
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: MHD_RESPONSE_SET_OPTIONS(response,...)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - ctx
    - ','
    - data_size
    - ','
    - chunk_ext
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 6265
      start: 6263
    functionDepth: 0
    functionLinenumber: 6263
    functionLinenumberEnd: 6265
    functionName: MHD_DCC_action_continue_ce
    functionSourceFile: /src/mhd2/src/include/microhttpd2.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: MHD_DCC_action_continue_ce(ctx, data_size, chunk_ext)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - ctx
    - ','
    - data_size
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 6282
      start: 6280
    functionDepth: 0
    functionLinenumber: 6280
    functionLinenumberEnd: 6282
    functionName: MHD_DCC_action_continue
    functionSourceFile: /src/mhd2/src/include/microhttpd2.h
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: MHD_DCC_action_continue(ctx, data_size)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - ctx
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 6322
      start: 6320
    functionDepth: 0
    functionLinenumber: 6320
    functionLinenumberEnd: 6322
    functionName: MHD_DCC_action_finish
    functionSourceFile: /src/mhd2/src/include/microhttpd2.h
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: MHD_DCC_action_finish(ctx)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - ctx
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 6346
      start: 6344
    functionDepth: 0
    functionLinenumber: 6344
    functionLinenumberEnd: 6346
    functionName: MHD_DCC_action_abort
    functionSourceFile: /src/mhd2/src/include/microhttpd2.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: MHD_DCC_action_abort(ctx)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 11
    argNames:
    - (
    - sc
    - ','
    - s
    - ','
    - d
    - ','
    - dc
    - ','
    - f
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 6423
      start: 6421
    functionDepth: 0
    functionLinenumber: 6421
    functionLinenumberEnd: 6423
    functionName: MHD_response_from_callback
    functionSourceFile: /src/mhd2/src/include/microhttpd2.h
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: MHD_response_from_callback(sc, s, d, dc, f)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - sc
    - ','
    - len
    - ','
    - buf
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 6469
      start: 6467
    functionDepth: 0
    functionLinenumber: 6467
    functionLinenumberEnd: 6469
    functionName: MHD_response_from_buffer_static
    functionSourceFile: /src/mhd2/src/include/microhttpd2.h
    functionUses: 9
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: MHD_response_from_buffer_static(sc, len, buf)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - sc
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 6482
      start: 6480
    functionDepth: 0
    functionLinenumber: 6480
    functionLinenumberEnd: 6482
    functionName: MHD_response_from_empty
    functionSourceFile: /src/mhd2/src/include/microhttpd2.h
    functionUses: 16
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: MHD_response_from_empty(sc)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - req
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 6743
      start: 6741
    functionDepth: 0
    functionLinenumber: 6741
    functionLinenumberEnd: 6743
    functionName: MHD_upload_action_abort_request
    functionSourceFile: /src/mhd2/src/include/microhttpd2.h
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: MHD_upload_action_abort_request(req)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 9
    argNames:
    - (
    - request
    - ','
    - buff_size
    - ','
    - uc
    - ','
    - uc_cls
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 6833
      start: 6831
    functionDepth: 0
    functionLinenumber: 6831
    functionLinenumberEnd: 6833
    functionName: MHD_action_process_upload_full
    functionSourceFile: /src/mhd2/src/include/microhttpd2.h
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: MHD_action_process_upload_full(request, buff_size, uc, uc_cls)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - request
    - ','
    - uc
    - ','
    - uc_cls
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 6845
      start: 6843
    functionDepth: 0
    functionLinenumber: 6843
    functionLinenumberEnd: 6845
    functionName: MHD_action_process_upload_inc
    functionSourceFile: /src/mhd2/src/include/microhttpd2.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: MHD_action_process_upload_inc(request, uc, uc_cls)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: MHD_response_add_auth_digest_challenge
      Src: /src/mhd2/src/include/microhttpd2.h:8454,1
    - Dst: MHD_response_destroy
      Src: /src/mhd2/src/include/microhttpd2.h:8459,1
    - Dst: MHD_action_abort_request
      Src: /src/mhd2/src/include/microhttpd2.h:8460,1
    - Dst: MHD_action_from_response
      Src: /src/mhd2/src/include/microhttpd2.h:8462,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 11
    argNames:
    - MHD_RESTRICT
    - MHD_RESTRICT
    - MHD_RESTRICT
    - MHD_RESTRICT
    - indicate_stale
    - mqop
    - malgo
    - userhash_support
    - prefer_utf8
    - MHD_RESTRICT
    - abort_if_failed
    argTypes:
    - struct MHD_Request*
    - char*
    - char*
    - char*
    - enum MHD_Bool
    - enum MHD_DigestAuthMultiQOP
    - enum MHD_DigestAuthMultiAlgo
    - enum MHD_Bool
    - enum MHD_Bool
    - struct MHD_Response*
    - enum MHD_Bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 8463
      start: 8440
    functionDepth: 1
    functionLinenumber: 8440
    functionLinenumberEnd: 8463
    functionName: MHD_action_digest_auth_challenge
    functionSourceFile: /src/mhd2/src/include/microhttpd2.h
    functionUses: 0
    functionsReached:
    - MHD_response_add_auth_digest_challenge
    - MHD_response_destroy
    - MHD_action_from_response
    - MHD_action_abort_request
    linkageType: ''
    returnType: struct MHD_Action
    signature: "struct MHD_Action *\nMHD_action_digest_auth_challenge (struct MHD_Request
      *MHD_RESTRICT request,\n                                  const char *MHD_RESTRICT
      realm,\n                                  const char *MHD_RESTRICT opaque,\n
      \                                 const char *MHD_RESTRICT domain,\n                                  enum
      MHD_Bool indicate_stale,\n                                  enum MHD_DigestAuthMultiQOP
      mqop,\n                                  enum MHD_DigestAuthMultiAlgo malgo,\n
      \                                 enum MHD_Bool userhash_support,\n                                  enum
      MHD_Bool prefer_utf8,\n                                  struct MHD_Response
      *MHD_RESTRICT response,\n                                  enum MHD_Bool abort_if_failed)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 21
    argNames:
    - (
    - rq
    - ','
    - l
    - ','
    - o
    - ','
    - d
    - ','
    - s
    - ','
    - q
    - ','
    - a
    - ','
    - h
    - ','
    - u
    - ','
    - r
    - )
    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: 8532
      start: 8529
    functionDepth: 0
    functionLinenumber: 8529
    functionLinenumberEnd: 8532
    functionName: MHD_action_digest_auth_challenge_p
    functionSourceFile: /src/mhd2/src/include/microhttpd2.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: MHD_action_digest_auth_challenge_p(rq, l, o, d, s, q, a, h, u, r)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 21
    argNames:
    - (
    - rq
    - ','
    - l
    - ','
    - o
    - ','
    - d
    - ','
    - s
    - ','
    - q
    - ','
    - a
    - ','
    - h
    - ','
    - u
    - ','
    - r
    - )
    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: 8598
      start: 8595
    functionDepth: 0
    functionLinenumber: 8595
    functionLinenumberEnd: 8598
    functionName: MHD_action_digest_auth_challenge_a
    functionSourceFile: /src/mhd2/src/include/microhttpd2.h
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: MHD_action_digest_auth_challenge_a(rq, l, o, d, s, q, a, h, u, r)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: MHD_response_add_auth_basic_challenge
      Src: /src/mhd2/src/include/microhttpd2.h:8700,1
    - Dst: MHD_response_destroy
      Src: /src/mhd2/src/include/microhttpd2.h:8703,1
    - Dst: MHD_action_abort_request
      Src: /src/mhd2/src/include/microhttpd2.h:8704,1
    - Dst: MHD_action_from_response
      Src: /src/mhd2/src/include/microhttpd2.h:8706,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 5
    argNames:
    - MHD_RESTRICT
    - MHD_RESTRICT
    - prefer_utf8
    - MHD_RESTRICT
    - abort_if_failed
    argTypes:
    - struct MHD_Request*
    - char*
    - enum MHD_Bool
    - struct MHD_Response*
    - enum MHD_Bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 8707
      start: 8692
    functionDepth: 1
    functionLinenumber: 8692
    functionLinenumberEnd: 8707
    functionName: MHD_action_basic_auth_challenge
    functionSourceFile: /src/mhd2/src/include/microhttpd2.h
    functionUses: 0
    functionsReached:
    - MHD_response_destroy
    - MHD_response_add_auth_basic_challenge
    - MHD_action_from_response
    - MHD_action_abort_request
    linkageType: ''
    returnType: struct MHD_Action
    signature: "struct MHD_Action *\nMHD_action_basic_auth_challenge (struct MHD_Request
      *MHD_RESTRICT request,\n                                 const char *MHD_RESTRICT
      realm,\n                                 enum MHD_Bool prefer_utf8,\n                                 struct
      MHD_Response *MHD_RESTRICT response,\n                                 enum
      MHD_Bool abort_if_failed)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 9
    argNames:
    - (
    - rq
    - ','
    - l
    - ','
    - u
    - ','
    - r
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 8744
      start: 8742
    functionDepth: 0
    functionLinenumber: 8742
    functionLinenumberEnd: 8744
    functionName: MHD_action_basic_auth_challenge_p
    functionSourceFile: /src/mhd2/src/include/microhttpd2.h
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: MHD_action_basic_auth_challenge_p(rq, l, u, r)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 9
    argNames:
    - (
    - rq
    - ','
    - l
    - ','
    - u
    - ','
    - r
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 8776
      start: 8774
    functionDepth: 0
    functionLinenumber: 8774
    functionLinenumberEnd: 8776
    functionName: MHD_action_basic_auth_challenge_a
    functionSourceFile: /src/mhd2/src/include/microhttpd2.h
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: MHD_action_basic_auth_challenge_a(rq, l, u, r)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - info
    - ','
    - output_buf
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 9384
      start: 9382
    functionDepth: 0
    functionLinenumber: 9382
    functionLinenumberEnd: 9384
    functionName: MHD_lib_get_info_fixed
    functionSourceFile: /src/mhd2/src/include/microhttpd2.h
    functionUses: 9
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: MHD_lib_get_info_fixed(info, output_buf)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: MHD_lib_get_info_fixed
      Src: /src/mhd2/src/include/microhttpd2.h:9410,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 9413
      start: 9405
    functionDepth: 1
    functionLinenumber: 9405
    functionLinenumberEnd: 9413
    functionName: MHD_lib_get_info_ver_num
    functionSourceFile: /src/mhd2/src/include/microhttpd2.h
    functionUses: 2
    functionsReached:
    - MHD_lib_get_info_fixed
    linkageType: ''
    returnType: MHD_STATIC_INLINE_
    signature: MHD_STATIC_INLINE_ MHD_lib_get_info_ver_num (void)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - info
    - ','
    - output_buf
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 9540
      start: 9538
    functionDepth: 0
    functionLinenumber: 9538
    functionLinenumberEnd: 9540
    functionName: MHD_lib_get_info_dynamic
    functionSourceFile: /src/mhd2/src/include/microhttpd2.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: MHD_lib_get_info_dynamic(info, output_buf)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - daemon
    - ','
    - info_type
    - ','
    - output_buf
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 9811
      start: 9808
    functionDepth: 0
    functionLinenumber: 9808
    functionLinenumberEnd: 9811
    functionName: MHD_daemon_get_info_fixed
    functionSourceFile: /src/mhd2/src/include/microhttpd2.h
    functionUses: 12
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: MHD_daemon_get_info_fixed(daemon, info_type, output_buf)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - daemon
    - ','
    - info_type
    - ','
    - output_buf
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 9941
      start: 9938
    functionDepth: 0
    functionLinenumber: 9938
    functionLinenumberEnd: 9941
    functionName: MHD_daemon_get_info_dynamic
    functionSourceFile: /src/mhd2/src/include/microhttpd2.h
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: MHD_daemon_get_info_dynamic(daemon, info_type, output_buf)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - connection
    - ','
    - info_type
    - ','
    - output_buf
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 10110
      start: 10107
    functionDepth: 0
    functionLinenumber: 10107
    functionLinenumberEnd: 10110
    functionName: MHD_connection_get_info_fixed
    functionSourceFile: /src/mhd2/src/include/microhttpd2.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: MHD_connection_get_info_fixed(connection, info_type, output_buf)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - connection
    - ','
    - info_type
    - ','
    - output_buf
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 10368
      start: 10365
    functionDepth: 0
    functionLinenumber: 10365
    functionLinenumberEnd: 10368
    functionName: MHD_connection_get_info_dynamic
    functionSourceFile: /src/mhd2/src/include/microhttpd2.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: MHD_connection_get_info_dynamic(connection, info_type, output_buf)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - stream
    - ','
    - info_type
    - ','
    - output_buf
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 10463
      start: 10460
    functionDepth: 0
    functionLinenumber: 10460
    functionLinenumberEnd: 10463
    functionName: MHD_stream_get_info_fixed
    functionSourceFile: /src/mhd2/src/include/microhttpd2.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: MHD_stream_get_info_fixed(stream, info_type, output_buf)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - stream
    - ','
    - info_type
    - ','
    - output_buf
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 10550
      start: 10547
    functionDepth: 0
    functionLinenumber: 10547
    functionLinenumberEnd: 10550
    functionName: MHD_stream_get_info_dynamic
    functionSourceFile: /src/mhd2/src/include/microhttpd2.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: MHD_stream_get_info_dynamic(stream, info_type, output_buf)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - request
    - ','
    - info_type
    - ','
    - output_buf
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 10703
      start: 10700
    functionDepth: 0
    functionLinenumber: 10700
    functionLinenumberEnd: 10703
    functionName: MHD_request_get_info_fixed
    functionSourceFile: /src/mhd2/src/include/microhttpd2.h
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: MHD_request_get_info_fixed(request, info_type, output_buf)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - request
    - ','
    - info_type
    - ','
    - output_buf
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 11037
      start: 11033
    functionDepth: 0
    functionLinenumber: 11033
    functionLinenumberEnd: 11037
    functionName: MHD_request_get_info_dynamic
    functionSourceFile: /src/mhd2/src/include/microhttpd2.h
    functionUses: 5
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: MHD_request_get_info_dynamic(request, info_type, output_buf)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 2
    argNames:
    - (
    - )
    argTypes:
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 11083
      start: 11081
    functionDepth: 0
    functionLinenumber: 11081
    functionLinenumberEnd: 11083
    functionName: MHD_lib_set_panic_func_default
    functionSourceFile: /src/mhd2/src/include/microhttpd2.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: MHD_lib_set_panic_func_default()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - value
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 194
      start: 186
    functionDepth: 0
    functionLinenumber: 186
    functionLinenumberEnd: 194
    functionName: MHD_R_OPTION_REUSABLE
    functionSourceFile: /src/mhd2/src/include/microhttpd2_generated_response_options.h
    functionUses: 3
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: MHD_R_OPTION_REUSABLE(value)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - value
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 210
      start: 202
    functionDepth: 0
    functionLinenumber: 202
    functionLinenumberEnd: 210
    functionName: MHD_R_OPTION_HEAD_ONLY_RESPONSE
    functionSourceFile: /src/mhd2/src/include/microhttpd2_generated_response_options.h
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: MHD_R_OPTION_HEAD_ONLY_RESPONSE(value)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - value
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 223
      start: 215
    functionDepth: 0
    functionLinenumber: 215
    functionLinenumberEnd: 223
    functionName: MHD_R_OPTION_CHUNKED_ENC
    functionSourceFile: /src/mhd2/src/include/microhttpd2_generated_response_options.h
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: MHD_R_OPTION_CHUNKED_ENC(value)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - value
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 235
      start: 227
    functionDepth: 0
    functionLinenumber: 227
    functionLinenumberEnd: 235
    functionName: MHD_R_OPTION_CONN_CLOSE
    functionSourceFile: /src/mhd2/src/include/microhttpd2_generated_response_options.h
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: MHD_R_OPTION_CONN_CLOSE(value)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - value
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 256
      start: 248
    functionDepth: 0
    functionLinenumber: 248
    functionLinenumberEnd: 256
    functionName: MHD_R_OPTION_HTTP_1_0_COMPATIBLE_STRICT
    functionSourceFile: /src/mhd2/src/include/microhttpd2_generated_response_options.h
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: MHD_R_OPTION_HTTP_1_0_COMPATIBLE_STRICT(value)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - value
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 279
      start: 271
    functionDepth: 0
    functionLinenumber: 271
    functionLinenumberEnd: 279
    functionName: MHD_R_OPTION_HTTP_1_0_SERVER
    functionSourceFile: /src/mhd2/src/include/microhttpd2_generated_response_options.h
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: MHD_R_OPTION_HTTP_1_0_SERVER(value)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - value
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 292
      start: 284
    functionDepth: 0
    functionLinenumber: 284
    functionLinenumberEnd: 292
    functionName: MHD_R_OPTION_INSANITY_HEADER_CONTENT_LENGTH
    functionSourceFile: /src/mhd2/src/include/microhttpd2_generated_response_options.h
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: MHD_R_OPTION_INSANITY_HEADER_CONTENT_LENGTH(value)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - ended_cb
    - ','
    - ended_cb_cls
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 308
      start: 299
    functionDepth: 0
    functionLinenumber: 299
    functionLinenumberEnd: 308
    functionName: MHD_R_OPTION_TERMINATION_CALLBACK
    functionSourceFile: /src/mhd2/src/include/microhttpd2_generated_response_options.h
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: MHD_R_OPTION_TERMINATION_CALLBACK(ended_cb, ended_cb_cls)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 2
    argNames:
    - (
    - )
    argTypes:
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 320
      start: 313
    functionDepth: 0
    functionLinenumber: 313
    functionLinenumberEnd: 320
    functionName: MHD_R_OPTION_TERMINATE
    functionSourceFile: /src/mhd2/src/include/microhttpd2_generated_response_options.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: MHD_R_OPTION_TERMINATE()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - value
    argTypes:
    - enum MHD_Bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 340
      start: 322
    functionDepth: 0
    functionLinenumber: 322
    functionLinenumberEnd: 340
    functionName: MHD_R_OPTION_REUSABLE
    functionSourceFile: /src/mhd2/src/include/microhttpd2_generated_response_options.h
    functionUses: 3
    functionsReached: []
    linkageType: ''
    returnType: MHD_NOWARN_UNUSED_FUNC_
    signature: "MHD_NOWARN_UNUSED_FUNC_ MHD_R_OPTION_REUSABLE (\n  enum MHD_Bool value\n
      \ )"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - value
    argTypes:
    - enum MHD_Bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 362
      start: 351
    functionDepth: 0
    functionLinenumber: 351
    functionLinenumberEnd: 362
    functionName: MHD_R_OPTION_HEAD_ONLY_RESPONSE
    functionSourceFile: /src/mhd2/src/include/microhttpd2_generated_response_options.h
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: MHD_INLINE
    signature: "MHD_INLINE MHD_R_OPTION_HEAD_ONLY_RESPONSE (\n  enum MHD_Bool value\n
      \ )"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - value
    argTypes:
    - enum MHD_Bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 381
      start: 370
    functionDepth: 0
    functionLinenumber: 370
    functionLinenumberEnd: 381
    functionName: MHD_R_OPTION_CHUNKED_ENC
    functionSourceFile: /src/mhd2/src/include/microhttpd2_generated_response_options.h
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: MHD_INLINE
    signature: "MHD_INLINE MHD_R_OPTION_CHUNKED_ENC (\n  enum MHD_Bool value\n  )"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - value
    argTypes:
    - enum MHD_Bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 399
      start: 388
    functionDepth: 0
    functionLinenumber: 388
    functionLinenumberEnd: 399
    functionName: MHD_R_OPTION_CONN_CLOSE
    functionSourceFile: /src/mhd2/src/include/microhttpd2_generated_response_options.h
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: MHD_INLINE
    signature: "MHD_INLINE MHD_R_OPTION_CONN_CLOSE (\n  enum MHD_Bool value\n  )"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - value
    argTypes:
    - enum MHD_Bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 426
      start: 415
    functionDepth: 0
    functionLinenumber: 415
    functionLinenumberEnd: 426
    functionName: MHD_R_OPTION_HTTP_1_0_COMPATIBLE_STRICT
    functionSourceFile: /src/mhd2/src/include/microhttpd2_generated_response_options.h
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: MHD_INLINE
    signature: "MHD_INLINE MHD_R_OPTION_HTTP_1_0_COMPATIBLE_STRICT (\n  enum MHD_Bool
      value\n  )"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - value
    argTypes:
    - enum MHD_Bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 455
      start: 444
    functionDepth: 0
    functionLinenumber: 444
    functionLinenumberEnd: 455
    functionName: MHD_R_OPTION_HTTP_1_0_SERVER
    functionSourceFile: /src/mhd2/src/include/microhttpd2_generated_response_options.h
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: MHD_INLINE
    signature: "MHD_INLINE MHD_R_OPTION_HTTP_1_0_SERVER (\n  enum MHD_Bool value\n
      \ )"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - value
    argTypes:
    - enum MHD_Bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 474
      start: 463
    functionDepth: 0
    functionLinenumber: 463
    functionLinenumberEnd: 474
    functionName: MHD_R_OPTION_INSANITY_HEADER_CONTENT_LENGTH
    functionSourceFile: /src/mhd2/src/include/microhttpd2_generated_response_options.h
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: MHD_INLINE
    signature: "MHD_INLINE MHD_R_OPTION_INSANITY_HEADER_CONTENT_LENGTH (\n  enum MHD_Bool
      value\n  )"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 2
    argNames:
    - ended_cb
    - ended_cb_cls
    argTypes:
    - MHD_RequestEndedCallback
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 497
      start: 484
    functionDepth: 0
    functionLinenumber: 484
    functionLinenumberEnd: 497
    functionName: MHD_R_OPTION_TERMINATION_CALLBACK
    functionSourceFile: /src/mhd2/src/include/microhttpd2_generated_response_options.h
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: MHD_INLINE
    signature: "MHD_INLINE MHD_R_OPTION_TERMINATION_CALLBACK (\n  MHD_RequestEndedCallback
      ended_cb,\n  void *ended_cb_cls\n  )"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 512
      start: 504
    functionDepth: 0
    functionLinenumber: 504
    functionLinenumberEnd: 512
    functionName: MHD_R_OPTION_TERMINATE
    functionSourceFile: /src/mhd2/src/include/microhttpd2_generated_response_options.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: MHD_INLINE
    signature: MHD_INLINE MHD_R_OPTION_TERMINATE (void)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: fprintf
      Src: /src/mhd2/src/mhd2/tls_mbed_funcs.c:123,1
    - Dst: fflush
      Src: /src/mhd2/src/mhd2/tls_mbed_funcs.c:128,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 5
    argNames:
    - ctx
    - level
    - filename
    - line_num
    - msg
    argTypes:
    - void*
    - int
    - char*
    - int
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 129
      start: 111
    functionDepth: 0
    functionLinenumber: 111
    functionLinenumberEnd: 129
    functionName: mhd_tls_mbed_debug_print
    functionSourceFile: /src/mhd2/src/mhd2/tls_mbed_funcs.c
    functionUses: 0
    functionsReached:
    - fprintf
    - fflush
    linkageType: ''
    returnType: void
    signature: "void mhd_tls_mbed_debug_print (void *ctx,\n                          int
      level,\n                          const char *filename,\n                          int
      line_num,\n                          const char *msg)"
  - BBCount: 23
    BranchProfiles: []
    Callsites:
    - Dst: mhd_ARR_NUM_ELEMS
      Src: /src/mhd2/src/mhd2/tls_mbed_funcs.c:168,1
    - Dst: mbedtls_md_info_from_type
      Src: /src/mhd2/src/mhd2/tls_mbed_funcs.c:171,1
    - Dst: mbedtls_entropy_init
      Src: /src/mhd2/src/mhd2/tls_mbed_funcs.c:209,1
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/tls_mbed_funcs.c:218,1
    - Dst: memcpy
      Src: /src/mhd2/src/mhd2/tls_mbed_funcs.c:232,1
    - Dst: memcpy
      Src: /src/mhd2/src/mhd2/tls_mbed_funcs.c:235,1
    - Dst: memcpy
      Src: /src/mhd2/src/mhd2/tls_mbed_funcs.c:238,1
    - Dst: memcpy
      Src: /src/mhd2/src/mhd2/tls_mbed_funcs.c:241,1
    - Dst: mbedtls_ctr_drbg_init
      Src: /src/mhd2/src/mhd2/tls_mbed_funcs.c:248,1
    - Dst: mbedtls_ctr_drbg_seed
      Src: /src/mhd2/src/mhd2/tls_mbed_funcs.c:250,1
    - Dst: mbedtls_ctr_drbg_free
      Src: /src/mhd2/src/mhd2/tls_mbed_funcs.c:256,1
    - Dst: mbedtls_hmac_drbg_init
      Src: /src/mhd2/src/mhd2/tls_mbed_funcs.c:258,1
    - Dst: mbedtls_hmac_drbg_seed
      Src: /src/mhd2/src/mhd2/tls_mbed_funcs.c:260,1
    - Dst: mbed_get_md_for_drbg
      Src: /src/mhd2/src/mhd2/tls_mbed_funcs.c:261,1
    - Dst: mbedtls_hmac_drbg_free
      Src: /src/mhd2/src/mhd2/tls_mbed_funcs.c:267,1
    - Dst: mbedtls_entropy_free
      Src: /src/mhd2/src/mhd2/tls_mbed_funcs.c:282,1
    - Dst: mbedtls_ctr_drbg_free
      Src: /src/mhd2/src/mhd2/tls_mbed_funcs.c:296,1
    - Dst: mbedtls_hmac_drbg_free
      Src: /src/mhd2/src/mhd2/tls_mbed_funcs.c:298,1
    - Dst: mbedtls_entropy_free
      Src: /src/mhd2/src/mhd2/tls_mbed_funcs.c:302,1
    - Dst: mbedtls_version_get_number
      Src: /src/mhd2/src/mhd2/tls_mbed_funcs.c:315,1
    - Dst: mbedtls_platform_setup
      Src: /src/mhd2/src/mhd2/tls_mbed_funcs.c:330,1
    - Dst: psa_crypto_init
      Src: /src/mhd2/src/mhd2/tls_mbed_funcs.c:336,1
    - Dst: mbedtls_platform_teardown
      Src: /src/mhd2/src/mhd2/tls_mbed_funcs.c:339,1
    - Dst: mbed_rng_init
      Src: /src/mhd2/src/mhd2/tls_mbed_funcs.c:347,1
    - Dst: mbed_rng_init
      Src: /src/mhd2/src/mhd2/tls_mbed_funcs.c:349,1
    - Dst: mbedtls_platform_teardown
      Src: /src/mhd2/src/mhd2/tls_mbed_funcs.c:356,1
    - Dst: mbedtls_psa_crypto_free
      Src: /src/mhd2/src/mhd2/tls_mbed_funcs.c:360,1
    - Dst: mbed_rng_deinit
      Src: /src/mhd2/src/mhd2/tls_mbed_funcs.c:373,1
    - Dst: mbedtls_psa_crypto_free
      Src: /src/mhd2/src/mhd2/tls_mbed_funcs.c:378,1
    - Dst: mbedtls_platform_teardown
      Src: /src/mhd2/src/mhd2/tls_mbed_funcs.c:384,1
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/tls_mbed_funcs.c:394,1
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/tls_mbed_funcs.c:412,1
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/tls_mbed_funcs.c:413,1
    - Dst: mhd_LOG_MSG
      Src: /src/mhd2/src/mhd2/tls_mbed_funcs.c:418,1
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/tls_mbed_funcs.c:422,1
    - Dst: mbedtls_version_check_feature
      Src: /src/mhd2/src/mhd2/tls_mbed_funcs.c:434,1
    - Dst: mhd_LOG_MSG
      Src: /src/mhd2/src/mhd2/tls_mbed_funcs.c:441,1
    - Dst: strlen
      Src: /src/mhd2/src/mhd2/tls_mbed_funcs.c:497,1
    - Dst: strlen
      Src: /src/mhd2/src/mhd2/tls_mbed_funcs.c:498,1
    - Dst: strlen
      Src: /src/mhd2/src/mhd2/tls_mbed_funcs.c:500,1
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/tls_mbed_funcs.c:502,1
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/tls_mbed_funcs.c:503,1
    - Dst: mbedtls_x509_crt_init
      Src: /src/mhd2/src/mhd2/tls_mbed_funcs.c:505,1
    - Dst: mbedtls_x509_crt_parse
      Src: /src/mhd2/src/mhd2/tls_mbed_funcs.c:507,1
    - Dst: mbedtls_pk_init
      Src: /src/mhd2/src/mhd2/tls_mbed_funcs.c:513,1
    - Dst: mbedtls_pk_parse_key
      Src: /src/mhd2/src/mhd2/tls_mbed_funcs.c:515,1
    - Dst: mbedtls_pk_parse_key
      Src: /src/mhd2/src/mhd2/tls_mbed_funcs.c:526,1
    - Dst: mbedtls_pk_check_pair
      Src: /src/mhd2/src/mhd2/tls_mbed_funcs.c:544,1
    - Dst: mbedtls_pk_check_pair
      Src: /src/mhd2/src/mhd2/tls_mbed_funcs.c:549,1
    - Dst: mhd_LOG_MSG
      Src: /src/mhd2/src/mhd2/tls_mbed_funcs.c:556,1
    - Dst: mhd_LOG_MSG
      Src: /src/mhd2/src/mhd2/tls_mbed_funcs.c:563,1
    - Dst: mbedtls_pk_free
      Src: /src/mhd2/src/mhd2/tls_mbed_funcs.c:568,1
    - Dst: mhd_LOG_PRINT
      Src: /src/mhd2/src/mhd2/tls_mbed_funcs.c:572,1
    - Dst: mhd_LOG_FMT
      Src: /src/mhd2/src/mhd2/tls_mbed_funcs.c:574,1
    - Dst: mbedtls_x509_crt_free
      Src: /src/mhd2/src/mhd2/tls_mbed_funcs.c:579,1
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/tls_mbed_funcs.c:581,1
    CyclomaticComplexity: 28
    EdgeCount: 28
    ICount: 127
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 583
      start: 138
    functionDepth: 1
    functionLinenumber: 138
    functionLinenumberEnd: 583
    functionName: mbed_get_md_for_drbg
    functionSourceFile: /src/mhd2/src/mhd2/tls_mbed_funcs.c
    functionUses: 1
    functionsReached:
    - mbedtls_ctr_drbg_free
    - mbedtls_hmac_drbg_seed
    - psa_crypto_init
    - strlen
    - mbedtls_md_info_from_type
    - mbed_get_md_for_drbg
    - mbedtls_version_check_feature
    - mhd_LOG_PRINT
    - mbedtls_version_get_number
    - mbedtls_ctr_drbg_seed
    - mbedtls_x509_crt_free
    - mbedtls_pk_parse_key
    - mbedtls_entropy_init
    - mbedtls_x509_crt_init
    - mbedtls_platform_teardown
    - mbed_rng_init
    - mhd_LOG_MSG
    - mbedtls_entropy_free
    - mbedtls_psa_crypto_free
    - mbedtls_hmac_drbg_free
    - mbedtls_pk_free
    - mhd_ARR_NUM_ELEMS
    - memcpy
    - mbed_rng_deinit
    - mbedtls_x509_crt_parse
    - mbedtls_hmac_drbg_init
    - mbedtls_pk_check_pair
    - mhd_LOG_FMT
    - mbedtls_ctr_drbg_init
    - mbedtls_pk_init
    - mhd_assert
    - mbedtls_platform_setup
    linkageType: ''
    returnType: mbedtls_md_info_t
    signature: 'mbedtls_md_info_t *

      mbed_get_md_for_drbg (void)'
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: mbedtls_entropy_init
      Src: /src/mhd2/src/mhd2/tls_mbed_funcs.c:209,1
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/tls_mbed_funcs.c:218,1
    - Dst: memcpy
      Src: /src/mhd2/src/mhd2/tls_mbed_funcs.c:232,1
    - Dst: memcpy
      Src: /src/mhd2/src/mhd2/tls_mbed_funcs.c:235,1
    - Dst: memcpy
      Src: /src/mhd2/src/mhd2/tls_mbed_funcs.c:238,1
    - Dst: memcpy
      Src: /src/mhd2/src/mhd2/tls_mbed_funcs.c:241,1
    - Dst: mbedtls_ctr_drbg_init
      Src: /src/mhd2/src/mhd2/tls_mbed_funcs.c:248,1
    - Dst: mbedtls_ctr_drbg_seed
      Src: /src/mhd2/src/mhd2/tls_mbed_funcs.c:250,1
    - Dst: mbedtls_ctr_drbg_free
      Src: /src/mhd2/src/mhd2/tls_mbed_funcs.c:256,1
    - Dst: mbedtls_hmac_drbg_init
      Src: /src/mhd2/src/mhd2/tls_mbed_funcs.c:258,1
    - Dst: mbedtls_hmac_drbg_seed
      Src: /src/mhd2/src/mhd2/tls_mbed_funcs.c:260,1
    - Dst: mbed_get_md_for_drbg
      Src: /src/mhd2/src/mhd2/tls_mbed_funcs.c:261,1
    - Dst: mbedtls_hmac_drbg_free
      Src: /src/mhd2/src/mhd2/tls_mbed_funcs.c:267,1
    - Dst: mbedtls_entropy_free
      Src: /src/mhd2/src/mhd2/tls_mbed_funcs.c:282,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 27
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 286
      start: 201
    functionDepth: 2
    functionLinenumber: 201
    functionLinenumberEnd: 286
    functionName: mbed_rng_init
    functionSourceFile: /src/mhd2/src/mhd2/tls_mbed_funcs.c
    functionUses: 1
    functionsReached:
    - memcpy
    - mbed_get_md_for_drbg
    - mbedtls_hmac_drbg_init
    - mbedtls_entropy_free
    - mbedtls_ctr_drbg_free
    - mbedtls_ctr_drbg_init
    - mbedtls_ctr_drbg_seed
    - mbedtls_hmac_drbg_seed
    - mbedtls_hmac_drbg_free
    - mbedtls_entropy_init
    - mhd_assert
    linkageType: ''
    returnType: bool
    signature: bool mbed_rng_init (void)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: mbedtls_ctr_drbg_free
      Src: /src/mhd2/src/mhd2/tls_mbed_funcs.c:296,1
    - Dst: mbedtls_hmac_drbg_free
      Src: /src/mhd2/src/mhd2/tls_mbed_funcs.c:298,1
    - Dst: mbedtls_entropy_free
      Src: /src/mhd2/src/mhd2/tls_mbed_funcs.c:302,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 306
      start: 289
    functionDepth: 0
    functionLinenumber: 289
    functionLinenumberEnd: 306
    functionName: mbed_rng_deinit
    functionSourceFile: /src/mhd2/src/mhd2/tls_mbed_funcs.c
    functionUses: 1
    functionsReached:
    - mbedtls_entropy_free
    - mbedtls_hmac_drbg_free
    - mbedtls_ctr_drbg_free
    linkageType: ''
    returnType: void
    signature: void mbed_rng_deinit (void)
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: mbedtls_version_get_number
      Src: /src/mhd2/src/mhd2/tls_mbed_funcs.c:315,1
    - Dst: mbedtls_platform_setup
      Src: /src/mhd2/src/mhd2/tls_mbed_funcs.c:330,1
    - Dst: psa_crypto_init
      Src: /src/mhd2/src/mhd2/tls_mbed_funcs.c:336,1
    - Dst: mbedtls_platform_teardown
      Src: /src/mhd2/src/mhd2/tls_mbed_funcs.c:339,1
    - Dst: mbed_rng_init
      Src: /src/mhd2/src/mhd2/tls_mbed_funcs.c:347,1
    - Dst: mbed_rng_init
      Src: /src/mhd2/src/mhd2/tls_mbed_funcs.c:349,1
    - Dst: mbedtls_platform_teardown
      Src: /src/mhd2/src/mhd2/tls_mbed_funcs.c:356,1
    - Dst: mbedtls_psa_crypto_free
      Src: /src/mhd2/src/mhd2/tls_mbed_funcs.c:360,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 24
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 364
      start: 309
    functionDepth: 3
    functionLinenumber: 309
    functionLinenumberEnd: 364
    functionName: mhd_tls_mbed_global_init
    functionSourceFile: /src/mhd2/src/mhd2/tls_mbed_funcs.c
    functionUses: 0
    functionsReached:
    - mbedtls_platform_teardown
    - mbed_rng_init
    - mbedtls_version_get_number
    - mbedtls_psa_crypto_free
    - psa_crypto_init
    - mbedtls_platform_setup
    linkageType: ''
    returnType: MHD_INTERNAL
    signature: MHD_INTERNAL mhd_tls_mbed_global_init (void)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: mbed_rng_deinit
      Src: /src/mhd2/src/mhd2/tls_mbed_funcs.c:373,1
    - Dst: mbedtls_psa_crypto_free
      Src: /src/mhd2/src/mhd2/tls_mbed_funcs.c:378,1
    - Dst: mbedtls_platform_teardown
      Src: /src/mhd2/src/mhd2/tls_mbed_funcs.c:384,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 388
      start: 367
    functionDepth: 1
    functionLinenumber: 367
    functionLinenumberEnd: 388
    functionName: mhd_tls_mbed_global_deinit
    functionSourceFile: /src/mhd2/src/mhd2/tls_mbed_funcs.c
    functionUses: 0
    functionsReached:
    - mbed_rng_deinit
    - mbedtls_psa_crypto_free
    - mbedtls_platform_teardown
    linkageType: ''
    returnType: MHD_INTERNAL
    signature: MHD_INTERNAL mhd_tls_mbed_global_deinit (void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/tls_mbed_funcs.c:394,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 396
      start: 391
    functionDepth: 1
    functionLinenumber: 391
    functionLinenumberEnd: 396
    functionName: mhd_tls_mbed_is_inited_fine
    functionSourceFile: /src/mhd2/src/mhd2/tls_mbed_funcs.c
    functionUses: 0
    functionsReached:
    - mhd_assert
    linkageType: ''
    returnType: MHD_INTERNAL
    signature: MHD_INTERNAL mhd_tls_mbed_is_inited_fine (void)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/tls_mbed_funcs.c:412,1
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/tls_mbed_funcs.c:413,1
    - Dst: mhd_LOG_MSG
      Src: /src/mhd2/src/mhd2/tls_mbed_funcs.c:418,1
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/tls_mbed_funcs.c:422,1
    - Dst: mbedtls_version_check_feature
      Src: /src/mhd2/src/mhd2/tls_mbed_funcs.c:434,1
    - Dst: mhd_LOG_MSG
      Src: /src/mhd2/src/mhd2/tls_mbed_funcs.c:441,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 18
    argCount: 2
    argNames:
    - d
    - s
    argTypes:
    - struct MHD_Daemon*
    - struct DaemonOptions*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 449
      start: 408
    functionDepth: 1
    functionLinenumber: 408
    functionLinenumberEnd: 449
    functionName: check_app_tls_settings
    functionSourceFile: /src/mhd2/src/mhd2/tls_mbed_funcs.c
    functionUses: 0
    functionsReached:
    - mhd_LOG_MSG
    - mhd_assert
    - mbedtls_version_check_feature
    linkageType: ''
    returnType: MHD_FN_PAR_NONNULL_ALL_
    signature: "MHD_FN_PAR_NONNULL_ALL_ check_app_tls_settings (struct MHD_Daemon
      *restrict d,\n                        struct DaemonOptions *restrict s)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: mbedtls_pk_free
      Src: /src/mhd2/src/mhd2/tls_mbed_funcs.c:593,1
    - Dst: mbedtls_x509_crt_free
      Src: /src/mhd2/src/mhd2/tls_mbed_funcs.c:595,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - d_tls
    argTypes:
    - struct mhd_TlsMbedDaemonData*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 596
      start: 590
    functionDepth: 0
    functionLinenumber: 590
    functionLinenumberEnd: 596
    functionName: daemon_deinit_credentials
    functionSourceFile: /src/mhd2/src/mhd2/tls_mbed_funcs.c
    functionUses: 0
    functionsReached:
    - mbedtls_x509_crt_free
    - mbedtls_pk_free
    linkageType: ''
    returnType: MHD_FN_PAR_NONNULL_ALL_
    signature: MHD_FN_PAR_NONNULL_ALL_ daemon_deinit_credentials (struct mhd_TlsMbedDaemonData
      *restrict d_tls)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/tls_mbed_funcs.c:637,1
    - Dst: mhd_ARR_NUM_ELEMS
      Src: /src/mhd2/src/mhd2/tls_mbed_funcs.c:637,1
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/tls_mbed_funcs.c:638,1
    - Dst: mbedtls_ssl_conf_alpn_protocols
      Src: /src/mhd2/src/mhd2/tls_mbed_funcs.c:640,1
    - Dst: mhd_LOG_MSG
      Src: /src/mhd2/src/mhd2/tls_mbed_funcs.c:644,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 16
    argCount: 3
    argNames:
    - d
    - d_tls
    - s
    argTypes:
    - struct MHD_Daemon*
    - struct mhd_TlsMbedDaemonData*
    - struct DaemonOptions*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 647
      start: 609
    functionDepth: 1
    functionLinenumber: 609
    functionLinenumberEnd: 647
    functionName: daemon_set_alpn
    functionSourceFile: /src/mhd2/src/mhd2/tls_mbed_funcs.c
    functionUses: 0
    functionsReached:
    - mbedtls_ssl_conf_alpn_protocols
    - mhd_ARR_NUM_ELEMS
    - mhd_LOG_MSG
    - mhd_assert
    linkageType: ''
    returnType: MHD_FN_PAR_NONNULL_ALL_
    signature: "MHD_FN_PAR_NONNULL_ALL_ daemon_set_alpn (struct MHD_Daemon *restrict
      d,\n                 struct mhd_TlsMbedDaemonData *restrict d_tls,\n                 struct
      DaemonOptions *restrict s)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - d
    - ','
    - d_tls
    - ','
    - s
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 652
      start: 651
    functionDepth: 0
    functionLinenumber: 651
    functionLinenumberEnd: 652
    functionName: daemon_set_alpn
    functionSourceFile: /src/mhd2/src/mhd2/tls_mbed_funcs.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: daemon_set_alpn(d, d_tls, s)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: daemon_init_credentials
      Src: /src/mhd2/src/mhd2/tls_mbed_funcs.c:688,1
    - Dst: daemon_init_credentials
      Src: /src/mhd2/src/mhd2/tls_mbed_funcs.c:694,1
    - Dst: mbedtls_ssl_config_init
      Src: /src/mhd2/src/mhd2/tls_mbed_funcs.c:702,1
    - Dst: mbedtls_ssl_conf_dbg
      Src: /src/mhd2/src/mhd2/tls_mbed_funcs.c:705,1
    - Dst: mbedtls_debug_set_threshold
      Src: /src/mhd2/src/mhd2/tls_mbed_funcs.c:708,1
    - Dst: mbedtls_ssl_config_defaults
      Src: /src/mhd2/src/mhd2/tls_mbed_funcs.c:712,1
    - Dst: mbedtls_ssl_conf_rng
      Src: /src/mhd2/src/mhd2/tls_mbed_funcs.c:718,1
    - Dst: mbedtls_ssl_conf_authmode
      Src: /src/mhd2/src/mhd2/tls_mbed_funcs.c:724,1
    - Dst: mbedtls_ssl_conf_own_cert
      Src: /src/mhd2/src/mhd2/tls_mbed_funcs.c:728,1
    - Dst: daemon_set_alpn
      Src: /src/mhd2/src/mhd2/tls_mbed_funcs.c:732,1
    - Dst: mbedtls_ssl_config_free
      Src: /src/mhd2/src/mhd2/tls_mbed_funcs.c:746,1
    - Dst: daemon_deinit_credentials
      Src: /src/mhd2/src/mhd2/tls_mbed_funcs.c:748,1
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/tls_mbed_funcs.c:750,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 30
    argCount: 3
    argNames:
    - d
    - d_tls
    - s
    argTypes:
    - struct MHD_Daemon*
    - struct mhd_TlsMbedDaemonData*
    - struct DaemonOptions*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 752
      start: 663
    functionDepth: 2
    functionLinenumber: 663
    functionLinenumberEnd: 752
    functionName: daemon_init_config
    functionSourceFile: /src/mhd2/src/mhd2/tls_mbed_funcs.c
    functionUses: 0
    functionsReached:
    - mbedtls_ssl_conf_rng
    - mbedtls_ssl_config_init
    - mbedtls_ssl_config_defaults
    - daemon_init_credentials
    - mbedtls_ssl_conf_dbg
    - mbedtls_ssl_conf_authmode
    - daemon_deinit_credentials
    - mbedtls_ssl_conf_own_cert
    - daemon_set_alpn
    - mbedtls_ssl_config_free
    - mhd_assert
    - mbedtls_debug_set_threshold
    linkageType: ''
    returnType: MHD_FN_PAR_NONNULL_ALL_
    signature: "MHD_FN_PAR_NONNULL_ALL_ daemon_init_config (struct MHD_Daemon *restrict
      d,\n                    struct mhd_TlsMbedDaemonData *restrict d_tls,\n                    struct
      DaemonOptions *restrict s)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/tls_mbed_funcs.c:765,1
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/tls_mbed_funcs.c:766,1
    - Dst: check_app_tls_settings
      Src: /src/mhd2/src/mhd2/tls_mbed_funcs.c:768,1
    - Dst: mhd_calloc
      Src: /src/mhd2/src/mhd2/tls_mbed_funcs.c:774,1
    - Dst: daemon_init_config
      Src: /src/mhd2/src/mhd2/tls_mbed_funcs.c:779,1
    - Dst: free
      Src: /src/mhd2/src/mhd2/tls_mbed_funcs.c:787,1
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/tls_mbed_funcs.c:789,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 18
    argCount: 3
    argNames:
    - d
    - s
    - p_d_tls
    argTypes:
    - struct MHD_Daemon*
    - struct DaemonOptions*
    - struct mhd_TlsMbedDaemonData**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 791
      start: 755
    functionDepth: 3
    functionLinenumber: 755
    functionLinenumberEnd: 791
    functionName: mhd_tls_mbed_daemon_init3
    functionSourceFile: /src/mhd2/src/mhd2/tls_mbed_funcs.c
    functionUses: 0
    functionsReached:
    - free
    - daemon_init_config
    - mhd_calloc
    - check_app_tls_settings
    - mhd_assert
    linkageType: ''
    returnType: MHD_INTERNAL
    signature: "MHD_INTERNAL mhd_tls_mbed_daemon_init3 (struct MHD_Daemon *restrict
      d,\n                           struct DaemonOptions *restrict s,\n                           struct
      mhd_TlsMbedDaemonData **restrict p_d_tls)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/tls_mbed_funcs.c:798,1
    - Dst: mbedtls_ssl_config_free
      Src: /src/mhd2/src/mhd2/tls_mbed_funcs.c:800,1
    - Dst: daemon_deinit_credentials
      Src: /src/mhd2/src/mhd2/tls_mbed_funcs.c:802,1
    - Dst: free
      Src: /src/mhd2/src/mhd2/tls_mbed_funcs.c:804,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 1
    argNames:
    - d_tls
    argTypes:
    - struct mhd_TlsMbedDaemonData*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 805
      start: 795
    functionDepth: 1
    functionLinenumber: 795
    functionLinenumberEnd: 805
    functionName: mhd_tls_mbed_daemon_deinit
    functionSourceFile: /src/mhd2/src/mhd2/tls_mbed_funcs.c
    functionUses: 0
    functionsReached:
    - free
    - daemon_deinit_credentials
    - mhd_assert
    - mbedtls_ssl_config_free
    linkageType: ''
    returnType: void
    signature: void mhd_tls_mbed_daemon_deinit (struct mhd_TlsMbedDaemonData *restrict
      d_tls)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 814
      start: 810
    functionDepth: 0
    functionLinenumber: 810
    functionLinenumberEnd: 814
    functionName: mhd_tls_mbed_conn_get_tls_size_v
    functionSourceFile: /src/mhd2/src/mhd2/tls_mbed_funcs.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: MHD_INTERNAL
    signature: MHD_INTERNAL mhd_tls_mbed_conn_get_tls_size_v (void)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: mbedtls_ssl_init
      Src: /src/mhd2/src/mhd2/tls_mbed_funcs.c:836,1
    - Dst: mbedtls_ssl_setup
      Src: /src/mhd2/src/mhd2/tls_mbed_funcs.c:838,1
    - Dst: mbedtls_ssl_set_bio
      Src: /src/mhd2/src/mhd2/tls_mbed_funcs.c:841,1
    - Dst: mbedtls_ssl_free
      Src: /src/mhd2/src/mhd2/tls_mbed_funcs.c:853,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 10
    argCount: 3
    argNames:
    - d_tls
    - sk
    - c_tls
    argTypes:
    - struct mhd_TlsMbedDaemonData*
    - struct mhd_ConnSocket*
    - struct mhd_TlsMbedConnData*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 855
      start: 828
    functionDepth: 0
    functionLinenumber: 828
    functionLinenumberEnd: 855
    functionName: mhd_tls_mbed_conn_init
    functionSourceFile: /src/mhd2/src/mhd2/tls_mbed_funcs.c
    functionUses: 0
    functionsReached:
    - mbedtls_ssl_free
    - mbedtls_ssl_setup
    - mbedtls_ssl_set_bio
    - mbedtls_ssl_init
    linkageType: ''
    returnType: MHD_INTERNAL
    signature: "MHD_INTERNAL mhd_tls_mbed_conn_init (const struct mhd_TlsMbedDaemonData
      *restrict d_tls,\n                        struct mhd_ConnSocket *sk,\n                        struct
      mhd_TlsMbedConnData *restrict c_tls)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/tls_mbed_funcs.c:861,1
    - Dst: mbedtls_ssl_free
      Src: /src/mhd2/src/mhd2/tls_mbed_funcs.c:862,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - c_tls
    argTypes:
    - struct mhd_TlsMbedConnData*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 866
      start: 858
    functionDepth: 1
    functionLinenumber: 858
    functionLinenumberEnd: 866
    functionName: mhd_tls_mbed_conn_deinit
    functionSourceFile: /src/mhd2/src/mhd2/tls_mbed_funcs.c
    functionUses: 0
    functionsReached:
    - mhd_assert
    - mbedtls_ssl_free
    linkageType: ''
    returnType: MHD_INTERNAL
    signature: MHD_INTERNAL mhd_tls_mbed_conn_deinit (struct mhd_TlsMbedConnData *restrict
      c_tls)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: memset
      Src: /src/mhd2/src/mhd2/tls_mbed_funcs.c:878,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - c_tls
    argTypes:
    - struct mhd_TlsMbedConnData*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 881
      start: 875
    functionDepth: 0
    functionLinenumber: 875
    functionLinenumberEnd: 881
    functionName: mhd_tls_mbed_sckt_comm_prep
    functionSourceFile: /src/mhd2/src/mhd2/tls_mbed_funcs.c
    functionUses: 0
    functionsReached:
    - memset
    linkageType: ''
    returnType: mhd_static_inline
    signature: mhd_static_inline mhd_tls_mbed_sckt_comm_prep (struct mhd_TlsMbedConnData
      *restrict c_tls)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: mhd_tls_mbed_sckt_comm_prep
      Src: /src/mhd2/src/mhd2/tls_mbed_funcs.c:897,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 3
    argNames:
    - c_tls
    - unencr_size
    - push_data
    argTypes:
    - struct mhd_TlsMbedConnData*
    - size_t
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 903
      start: 892
    functionDepth: 1
    functionLinenumber: 892
    functionLinenumberEnd: 903
    functionName: mhd_tls_mbed_sckt_comm_prep_send
    functionSourceFile: /src/mhd2/src/mhd2/tls_mbed_funcs.c
    functionUses: 0
    functionsReached:
    - mhd_tls_mbed_sckt_comm_prep
    linkageType: ''
    returnType: mhd_static_inline
    signature: "mhd_static_inline mhd_tls_mbed_sckt_comm_prep_send (struct mhd_TlsMbedConnData
      *restrict c_tls,\n                                  size_t unencr_size,\n                                  bool
      push_data)"
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: mhd_sckt_recv
      Src: /src/mhd2/src/mhd2/tls_mbed_funcs.c:955,1
    - Dst: mhd_ASSUME
      Src: /src/mhd2/src/mhd2/tls_mbed_funcs.c:963,1
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/tls_mbed_funcs.c:964,1
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/tls_mbed_funcs.c:970,1
    - Dst: mhd_SOCKET_ERR_IS_HARD
      Src: /src/mhd2/src/mhd2/tls_mbed_funcs.c:975,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 26
    argCount: 3
    argNames:
    - ctx
    - buf
    - size
    argTypes:
    - void*
    - unsigned char*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 982
      start: 918
    functionDepth: 1
    functionLinenumber: 918
    functionLinenumberEnd: 982
    functionName: mhd_mbed_cb_recv
    functionSourceFile: /src/mhd2/src/mhd2/tls_mbed_funcs.c
    functionUses: 0
    functionsReached:
    - mhd_SOCKET_ERR_IS_HARD
    - mhd_assert
    - mhd_sckt_recv
    - mhd_ASSUME
    linkageType: ''
    returnType: int
    signature: "int mhd_mbed_cb_recv (void *ctx,\n                  unsigned char
      *buf,\n                  size_t size)"
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: mhd_sckt_send
      Src: /src/mhd2/src/mhd2/tls_mbed_funcs.c:1040,1
    - Dst: mhd_ASSUME
      Src: /src/mhd2/src/mhd2/tls_mbed_funcs.c:1049,1
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/tls_mbed_funcs.c:1050,1
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/tls_mbed_funcs.c:1056,1
    - Dst: mhd_SOCKET_ERR_IS_HARD
      Src: /src/mhd2/src/mhd2/tls_mbed_funcs.c:1061,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 27
    argCount: 3
    argNames:
    - ctx
    - buf
    - size
    argTypes:
    - void*
    - unsigned char*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1068
      start: 996
    functionDepth: 1
    functionLinenumber: 996
    functionLinenumberEnd: 1068
    functionName: mhd_mbed_cb_send
    functionSourceFile: /src/mhd2/src/mhd2/tls_mbed_funcs.c
    functionUses: 0
    functionsReached:
    - mhd_SOCKET_ERR_IS_HARD
    - mhd_sckt_send
    - mhd_assert
    - mhd_ASSUME
    linkageType: ''
    returnType: int
    signature: "int mhd_mbed_cb_send (void *ctx,\n                  const unsigned
      char *buf,\n                  size_t size)"
  - BBCount: 12
    BranchProfiles: []
    Callsites:
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/tls_mbed_funcs.c:1079,1
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/tls_mbed_funcs.c:1080,1
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/tls_mbed_funcs.c:1081,1
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/tls_mbed_funcs.c:1082,1
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/tls_mbed_funcs.c:1083,1
    - Dst: mhd_tls_mbed_sckt_comm_prep
      Src: /src/mhd2/src/mhd2/tls_mbed_funcs.c:1085,1
    - Dst: mbedtls_ssl_handshake
      Src: /src/mhd2/src/mhd2/tls_mbed_funcs.c:1087,1
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/tls_mbed_funcs.c:1089,1
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/tls_mbed_funcs.c:1091,1
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/tls_mbed_funcs.c:1103,1
    - Dst: mhd_SOCKET_ERR_IS_HARD
      Src: /src/mhd2/src/mhd2/tls_mbed_funcs.c:1103,1
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/tls_mbed_funcs.c:1104,1
    - Dst: mhd_SOCKET_ERR_IS_HARD
      Src: /src/mhd2/src/mhd2/tls_mbed_funcs.c:1104,1
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/tls_mbed_funcs.c:1115,1
    - Dst: mhd_SOCKET_ERR_IS_HARD
      Src: /src/mhd2/src/mhd2/tls_mbed_funcs.c:1115,1
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/tls_mbed_funcs.c:1116,1
    - Dst: mhd_SOCKET_ERR_IS_HARD
      Src: /src/mhd2/src/mhd2/tls_mbed_funcs.c:1116,1
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/tls_mbed_funcs.c:1127,1
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/tls_mbed_funcs.c:1145,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 43
    argCount: 1
    argNames:
    - c_tls
    argTypes:
    - struct mhd_TlsMbedConnData*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1159
      start: 1074
    functionDepth: 1
    functionLinenumber: 1074
    functionLinenumberEnd: 1159
    functionName: mhd_tls_mbed_conn_handshake
    functionSourceFile: /src/mhd2/src/mhd2/tls_mbed_funcs.c
    functionUses: 0
    functionsReached:
    - mhd_SOCKET_ERR_IS_HARD
    - mhd_tls_mbed_sckt_comm_prep
    - mbedtls_ssl_handshake
    - mhd_assert
    linkageType: ''
    returnType: enum mhd_TlsProcedureResult
    signature: enum mhd_TlsProcedureResult mhd_tls_mbed_conn_handshake (struct mhd_TlsMbedConnData
      *c_tls)
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/tls_mbed_funcs.c:1168,1
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/tls_mbed_funcs.c:1169,1
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/tls_mbed_funcs.c:1170,1
    - Dst: mhd_tls_mbed_sckt_comm_prep
      Src: /src/mhd2/src/mhd2/tls_mbed_funcs.c:1172,1
    - Dst: mbedtls_ssl_close_notify
      Src: /src/mhd2/src/mhd2/tls_mbed_funcs.c:1174,1
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/tls_mbed_funcs.c:1184,1
    - Dst: mhd_SOCKET_ERR_IS_HARD
      Src: /src/mhd2/src/mhd2/tls_mbed_funcs.c:1184,1
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/tls_mbed_funcs.c:1185,1
    - Dst: mhd_SOCKET_ERR_IS_HARD
      Src: /src/mhd2/src/mhd2/tls_mbed_funcs.c:1185,1
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/tls_mbed_funcs.c:1196,1
    - Dst: mhd_SOCKET_ERR_IS_HARD
      Src: /src/mhd2/src/mhd2/tls_mbed_funcs.c:1196,1
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/tls_mbed_funcs.c:1197,1
    - Dst: mhd_SOCKET_ERR_IS_HARD
      Src: /src/mhd2/src/mhd2/tls_mbed_funcs.c:1197,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 32
    argCount: 1
    argNames:
    - c_tls
    argTypes:
    - struct mhd_TlsMbedConnData*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1217
      start: 1163
    functionDepth: 1
    functionLinenumber: 1163
    functionLinenumberEnd: 1217
    functionName: mhd_tls_mbed_conn_shutdown
    functionSourceFile: /src/mhd2/src/mhd2/tls_mbed_funcs.c
    functionUses: 0
    functionsReached:
    - mbedtls_ssl_close_notify
    - mhd_SOCKET_ERR_IS_HARD
    - mhd_tls_mbed_sckt_comm_prep
    - mhd_assert
    linkageType: ''
    returnType: enum mhd_TlsProcedureResult
    signature: enum mhd_TlsProcedureResult mhd_tls_mbed_conn_shutdown (struct mhd_TlsMbedConnData
      *c_tls)
  - BBCount: 15
    BranchProfiles: []
    Callsites:
    - Dst: MHD_FN_PAR_DYN_ARR_SIZE_
      Src: /src/mhd2/src/mhd2/tls_mbed_funcs.c:1227,1
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/tls_mbed_funcs.c:1232,1
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/tls_mbed_funcs.c:1234,1
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/tls_mbed_funcs.c:1235,1
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/tls_mbed_funcs.c:1236,1
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/tls_mbed_funcs.c:1237,1
    - Dst: mhd_tls_mbed_sckt_comm_prep
      Src: /src/mhd2/src/mhd2/tls_mbed_funcs.c:1251,1
    - Dst: mbedtls_ssl_read
      Src: /src/mhd2/src/mhd2/tls_mbed_funcs.c:1253,1
    - Dst: mhd_ASSUME
      Src: /src/mhd2/src/mhd2/tls_mbed_funcs.c:1259,1
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/tls_mbed_funcs.c:1274,1
    - Dst: mhd_SOCKET_ERR_IS_HARD
      Src: /src/mhd2/src/mhd2/tls_mbed_funcs.c:1274,1
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/tls_mbed_funcs.c:1275,1
    - Dst: mhd_SOCKET_ERR_IS_HARD
      Src: /src/mhd2/src/mhd2/tls_mbed_funcs.c:1275,1
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/tls_mbed_funcs.c:1290,1
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/tls_mbed_funcs.c:1295,1
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/tls_mbed_funcs.c:1306,1
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/tls_mbed_funcs.c:1312,1
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/tls_mbed_funcs.c:1321,1
    CyclomaticComplexity: 18
    EdgeCount: 18
    ICount: 56
    argCount: 4
    argNames:
    - c_tls
    - buf_size
    - buf
    - received
    argTypes:
    - struct mhd_TlsMbedConnData*
    - size_t
    - char[]
    - size_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1334
      start: 1224
    functionDepth: 1
    functionLinenumber: 1224
    functionLinenumberEnd: 1334
    functionName: mhd_tls_mbed_conn_recv
    functionSourceFile: /src/mhd2/src/mhd2/tls_mbed_funcs.c
    functionUses: 0
    functionsReached:
    - mhd_tls_mbed_sckt_comm_prep
    - mhd_ASSUME
    - mbedtls_ssl_read
    - MHD_FN_PAR_DYN_ARR_SIZE_
    - mhd_SOCKET_ERR_IS_HARD
    - mhd_assert
    linkageType: ''
    returnType: enum mhd_SocketError
    signature: "enum mhd_SocketError mhd_tls_mbed_conn_recv (struct mhd_TlsMbedConnData
      *c_tls,\n                        size_t buf_size,\n                        char
      buf[MHD_FN_PAR_DYN_ARR_SIZE_ (buf_size)],\n                        size_t *restrict
      received)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: mbedtls_ssl_check_pending
      Src: /src/mhd2/src/mhd2/tls_mbed_funcs.c:1341,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 1
    argNames:
    - c_tls
    argTypes:
    - struct mhd_TlsMbedConnData*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1342
      start: 1337
    functionDepth: 0
    functionLinenumber: 1337
    functionLinenumberEnd: 1342
    functionName: mhd_tls_mbed_conn_has_data_in
    functionSourceFile: /src/mhd2/src/mhd2/tls_mbed_funcs.c
    functionUses: 0
    functionsReached:
    - mbedtls_ssl_check_pending
    linkageType: ''
    returnType: MHD_INTERNAL
    signature: MHD_INTERNAL mhd_tls_mbed_conn_has_data_in (struct mhd_TlsMbedConnData
      *restrict c_tls)
  - BBCount: 15
    BranchProfiles: []
    Callsites:
    - Dst: MHD_FN_PAR_DYN_ARR_SIZE_
      Src: /src/mhd2/src/mhd2/tls_mbed_funcs.c:1350,1
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/tls_mbed_funcs.c:1356,1
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/tls_mbed_funcs.c:1358,1
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/tls_mbed_funcs.c:1359,1
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/tls_mbed_funcs.c:1360,1
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/tls_mbed_funcs.c:1361,1
    - Dst: mhd_tls_mbed_sckt_comm_prep_send
      Src: /src/mhd2/src/mhd2/tls_mbed_funcs.c:1375,1
    - Dst: mbedtls_ssl_write
      Src: /src/mhd2/src/mhd2/tls_mbed_funcs.c:1379,1
    - Dst: mhd_ASSUME
      Src: /src/mhd2/src/mhd2/tls_mbed_funcs.c:1385,1
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/tls_mbed_funcs.c:1394,1
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/tls_mbed_funcs.c:1399,1
    - Dst: mhd_SOCKET_ERR_IS_HARD
      Src: /src/mhd2/src/mhd2/tls_mbed_funcs.c:1399,1
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/tls_mbed_funcs.c:1400,1
    - Dst: mhd_SOCKET_ERR_IS_HARD
      Src: /src/mhd2/src/mhd2/tls_mbed_funcs.c:1400,1
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/tls_mbed_funcs.c:1415,1
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/tls_mbed_funcs.c:1420,1
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/tls_mbed_funcs.c:1430,1
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/tls_mbed_funcs.c:1436,1
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/tls_mbed_funcs.c:1445,1
    CyclomaticComplexity: 20
    EdgeCount: 20
    ICount: 54
    argCount: 5
    argNames:
    - c_tls
    - buf_size
    - buf
    - push_data
    - sent
    argTypes:
    - struct mhd_TlsMbedConnData*
    - size_t
    - char[]
    - bool
    - size_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1458
      start: 1347
    functionDepth: 2
    functionLinenumber: 1347
    functionLinenumberEnd: 1458
    functionName: mhd_tls_mbed_conn_send
    functionSourceFile: /src/mhd2/src/mhd2/tls_mbed_funcs.c
    functionUses: 0
    functionsReached:
    - mhd_ASSUME
    - mhd_tls_mbed_sckt_comm_prep_send
    - mbedtls_ssl_write
    - MHD_FN_PAR_DYN_ARR_SIZE_
    - mhd_SOCKET_ERR_IS_HARD
    - mhd_assert
    linkageType: ''
    returnType: enum mhd_SocketError
    signature: "enum mhd_SocketError mhd_tls_mbed_conn_send (struct mhd_TlsMbedConnData
      *c_tls,\n                        size_t buf_size,\n                        const
      char buf[MHD_FN_PAR_DYN_ARR_SIZE_ (buf_size)],\n                        bool
      push_data,\n                        size_t *restrict sent)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - c_tls
    - tls_sess_out
    argTypes:
    - struct mhd_TlsMbedConnData*
    - union MHD_ConnInfoDynamicTlsSess*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1470
      start: 1464
    functionDepth: 0
    functionLinenumber: 1464
    functionLinenumberEnd: 1470
    functionName: mhd_tls_mbed_conn_get_tls_sess
    functionSourceFile: /src/mhd2/src/mhd2/tls_mbed_funcs.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: "void mhd_tls_mbed_conn_get_tls_sess (\n  struct mhd_TlsMbedConnData
      *restrict c_tls,\n  union MHD_ConnInfoDynamicTlsSess *restrict tls_sess_out)"
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/tls_mbed_funcs.c:1478,1
    - Dst: mbedtls_ssl_get_version_number
      Src: /src/mhd2/src/mhd2/tls_mbed_funcs.c:1490,1
    - Dst: struct mhd_TlsMbedConnData*::sess::MBEDTLS_PRIVATE
      Src: /src/mhd2/src/mhd2/tls_mbed_funcs.c:1494,1
    - Dst: struct mhd_TlsMbedConnData*::sess::MBEDTLS_PRIVATE
      Src: /src/mhd2/src/mhd2/tls_mbed_funcs.c:1496,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 31
    argCount: 2
    argNames:
    - c_tls
    - tls_ver_out
    argTypes:
    - struct mhd_TlsMbedConnData*
    - struct mhd_StctTlsVersion*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1529
      start: 1474
    functionDepth: 1
    functionLinenumber: 1474
    functionLinenumberEnd: 1529
    functionName: mhd_tls_mbed_conn_get_tls_ver
    functionSourceFile: /src/mhd2/src/mhd2/tls_mbed_funcs.c
    functionUses: 0
    functionsReached:
    - struct mhd_TlsMbedConnData*::sess::MBEDTLS_PRIVATE
    - mhd_assert
    - mbedtls_ssl_get_version_number
    linkageType: ''
    returnType: bool
    signature: "bool mhd_tls_mbed_conn_get_tls_ver (struct mhd_TlsMbedConnData *restrict
      c_tls,\n                               struct mhd_StctTlsVersion *restrict tls_ver_out)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: mbedtls_ssl_get_alpn_protocol
      Src: /src/mhd2/src/mhd2/tls_mbed_funcs.c:1538,1
    - Dst: mhd_tls_alpn_decode_n
      Src: /src/mhd2/src/mhd2/tls_mbed_funcs.c:1542,1
    - Dst: strlen
      Src: /src/mhd2/src/mhd2/tls_mbed_funcs.c:1542,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - c_tls
    argTypes:
    - struct mhd_TlsMbedConnData*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1547
      start: 1532
    functionDepth: 1
    functionLinenumber: 1532
    functionLinenumberEnd: 1547
    functionName: mhd_tls_mbed_conn_get_alpn_prot
    functionSourceFile: /src/mhd2/src/mhd2/tls_mbed_funcs.c
    functionUses: 0
    functionsReached:
    - mhd_tls_alpn_decode_n
    - strlen
    - mbedtls_ssl_get_alpn_protocol
    linkageType: ''
    returnType: MHD_INTERNAL
    signature: MHD_INTERNAL mhd_tls_mbed_conn_get_alpn_prot (struct mhd_TlsMbedConnData
      *restrict c_tls)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: mhd_C_HAS_TLS
      Src: /src/mhd2/src/mhd2/conn_data_process.c:85,1
    - Dst: mhd_conn_tls_check
      Src: /src/mhd2/src/mhd2/conn_data_process.c:86,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - c
    argTypes:
    - struct MHD_Connection*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 90
      start: 81
    functionDepth: 1
    functionLinenumber: 81
    functionLinenumberEnd: 90
    functionName: process_conn_layer
    functionSourceFile: /src/mhd2/src/mhd2/conn_data_process.c
    functionUses: 0
    functionsReached:
    - mhd_C_HAS_TLS
    - mhd_conn_tls_check
    linkageType: ''
    returnType: mhd_static_inline
    signature: mhd_static_inline process_conn_layer (struct MHD_Connection *restrict
      c)
  - BBCount: 20
    BranchProfiles: []
    Callsites:
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/conn_data_process.c:102,1
    - Dst: mhd_conn_process_data
      Src: /src/mhd2/src/mhd2/conn_data_process.c:106,1
    - Dst: mhd_conn_process_data
      Src: /src/mhd2/src/mhd2/conn_data_process.c:114,1
    - Dst: process_conn_layer
      Src: /src/mhd2/src/mhd2/conn_data_process.c:118,1
    - Dst: mhd_UNREACHABLE
      Src: /src/mhd2/src/mhd2/conn_data_process.c:127,1
    - Dst: mhd_D_HAS_EDGE_TRIGG
      Src: /src/mhd2/src/mhd2/conn_data_process.c:136,1
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/conn_data_process.c:140,1
    - Dst: mhd_C_HAS_TLS_DATA_IN
      Src: /src/mhd2/src/mhd2/conn_data_process.c:146,1
    - Dst: mhd_conn_data_recv
      Src: /src/mhd2/src/mhd2/conn_data_process.c:152,1
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/conn_data_process.c:153,1
    - Dst: mhd_C_IS_HTTP2
      Src: /src/mhd2/src/mhd2/conn_data_process.c:155,1
    - Dst: mhd_conn_process_data
      Src: /src/mhd2/src/mhd2/conn_data_process.c:157,1
    - Dst: mhd_ASSUME
      Src: /src/mhd2/src/mhd2/conn_data_process.c:160,1
    - Dst: mhd_C_IS_HTTP2
      Src: /src/mhd2/src/mhd2/conn_data_process.c:181,1
    - Dst: mhd_conn_data_send
      Src: /src/mhd2/src/mhd2/conn_data_process.c:192,1
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/conn_data_process.c:193,1
    - Dst: mhd_C_IS_HTTP2
      Src: /src/mhd2/src/mhd2/conn_data_process.c:195,1
    - Dst: mhd_conn_process_data
      Src: /src/mhd2/src/mhd2/conn_data_process.c:197,1
    - Dst: mhd_ASSUME
      Src: /src/mhd2/src/mhd2/conn_data_process.c:200,1
    - Dst: mhd_SCKT_NET_ST_HAS_FLAG
      Src: /src/mhd2/src/mhd2/conn_data_process.c:205,1
    - Dst: mhd_socket_error_get_from_socket
      Src: /src/mhd2/src/mhd2/conn_data_process.c:209,1
    - Dst: mhd_ASSUME
      Src: /src/mhd2/src/mhd2/conn_data_process.c:210,1
    - Dst: mhd_C_IS_HTTP2
      Src: /src/mhd2/src/mhd2/conn_data_process.c:214,1
    - Dst: mhd_conn_process_data
      Src: /src/mhd2/src/mhd2/conn_data_process.c:216,1
    CyclomaticComplexity: 31
    EdgeCount: 31
    ICount: 65
    argCount: 1
    argNames:
    - c
    argTypes:
    - struct MHD_Connection*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 219
      start: 93
    functionDepth: 2
    functionLinenumber: 93
    functionLinenumberEnd: 219
    functionName: mhd_conn_process_recv_send_data
    functionSourceFile: /src/mhd2/src/mhd2/conn_data_process.c
    functionUses: 0
    functionsReached:
    - process_conn_layer
    - mhd_socket_error_get_from_socket
    - mhd_conn_process_data
    - mhd_D_HAS_EDGE_TRIGG
    - mhd_ASSUME
    - mhd_C_HAS_TLS_DATA_IN
    - mhd_UNREACHABLE
    - mhd_conn_data_recv
    - mhd_SCKT_NET_ST_HAS_FLAG
    - mhd_conn_data_send
    - mhd_C_IS_HTTP2
    - mhd_assert
    linkageType: ''
    returnType: MHD_INTERNAL
    signature: MHD_INTERNAL mhd_conn_process_recv_send_data (struct MHD_Connection
      *restrict c)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: fcntl
      Src: /src/mhd2/src/mhd2/mhd_sockets_funcs.c:78,1
    - Dst: fcntl
      Src: /src/mhd2/src/mhd2/mhd_sockets_funcs.c:86,1
    - Dst: ioctlsocket
      Src: /src/mhd2/src/mhd2/mhd_sockets_funcs.c:92,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 12
    argCount: 1
    argNames:
    - sckt
    argTypes:
    - MHD_Socket
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 97
      start: 69
    functionDepth: 0
    functionLinenumber: 69
    functionLinenumberEnd: 97
    functionName: mhd_socket_nonblocking
    functionSourceFile: /src/mhd2/src/mhd2/mhd_sockets_funcs.c
    functionUses: 0
    functionsReached:
    - ioctlsocket
    - fcntl
    linkageType: ''
    returnType: MHD_INTERNAL
    signature: MHD_INTERNAL mhd_socket_nonblocking (MHD_Socket sckt)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: fcntl
      Src: /src/mhd2/src/mhd2/mhd_sockets_funcs.c:109,1
    - Dst: fcntl
      Src: /src/mhd2/src/mhd2/mhd_sockets_funcs.c:117,1
    - Dst: SetHandleInformation
      Src: /src/mhd2/src/mhd2/mhd_sockets_funcs.c:121,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 12
    argCount: 1
    argNames:
    - sckt
    argTypes:
    - MHD_Socket
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 125
      start: 100
    functionDepth: 0
    functionLinenumber: 100
    functionLinenumberEnd: 125
    functionName: mhd_socket_noninheritable
    functionSourceFile: /src/mhd2/src/mhd2/mhd_sockets_funcs.c
    functionUses: 0
    functionsReached:
    - SetHandleInformation
    - fcntl
    linkageType: ''
    returnType: MHD_INTERNAL
    signature: MHD_INTERNAL mhd_socket_noninheritable (MHD_Socket sckt)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: mhd_setsockopt
      Src: /src/mhd2/src/mhd2/mhd_sockets_funcs.c:137,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 2
    argNames:
    - sckt
    - 'on'
    argTypes:
    - MHD_Socket
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 144
      start: 128
    functionDepth: 1
    functionLinenumber: 128
    functionLinenumberEnd: 144
    functionName: mhd_socket_set_nodelay
    functionSourceFile: /src/mhd2/src/mhd2/mhd_sockets_funcs.c
    functionUses: 0
    functionsReached:
    - mhd_setsockopt
    linkageType: ''
    returnType: MHD_INTERNAL
    signature: "MHD_INTERNAL mhd_socket_set_nodelay (MHD_Socket sckt,\n                        bool
      on)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: mhd_setsockopt
      Src: /src/mhd2/src/mhd2/mhd_sockets_funcs.c:156,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - sckt
    argTypes:
    - MHD_Socket
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 162
      start: 147
    functionDepth: 1
    functionLinenumber: 147
    functionLinenumberEnd: 162
    functionName: mhd_socket_set_hard_close
    functionSourceFile: /src/mhd2/src/mhd2/mhd_sockets_funcs.c
    functionUses: 0
    functionsReached:
    - mhd_setsockopt
    linkageType: ''
    returnType: MHD_INTERNAL
    signature: MHD_INTERNAL mhd_socket_set_hard_close (MHD_Socket sckt)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: shutdown
      Src: /src/mhd2/src/mhd2/mhd_sockets_funcs.c:169,1
    - Dst: shutdown
      Src: /src/mhd2/src/mhd2/mhd_sockets_funcs.c:171,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - sckt
    argTypes:
    - MHD_Socket
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 175
      start: 165
    functionDepth: 0
    functionLinenumber: 165
    functionLinenumberEnd: 175
    functionName: mhd_socket_shut_wr
    functionSourceFile: /src/mhd2/src/mhd2/mhd_sockets_funcs.c
    functionUses: 0
    functionsReached:
    - shutdown
    linkageType: ''
    returnType: MHD_INTERNAL
    signature: MHD_INTERNAL mhd_socket_shut_wr (MHD_Socket sckt)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: fcntl
      Src: /src/mhd2/src/mhd2/mhd_sockets_funcs.c:189,1
    - Dst: fcntl
      Src: /src/mhd2/src/mhd2/mhd_sockets_funcs.c:197,1
    - Dst: ioctlsocket
      Src: /src/mhd2/src/mhd2/mhd_sockets_funcs.c:203,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 12
    argCount: 1
    argNames:
    - sckt
    argTypes:
    - MHD_Socket
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 208
      start: 180
    functionDepth: 0
    functionLinenumber: 180
    functionLinenumberEnd: 208
    functionName: mhd_socket_blocking
    functionSourceFile: /src/mhd2/src/mhd2/mhd_sockets_funcs.c
    functionUses: 0
    functionsReached:
    - ioctlsocket
    - fcntl
    linkageType: ''
    returnType: bool
    signature: bool mhd_socket_blocking (MHD_Socket sckt)
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: socket
      Src: /src/mhd2/src/mhd2/mhd_sockets_funcs.c:224,1
    - Dst: htonl
      Src: /src/mhd2/src/mhd2/mhd_sockets_funcs.c:233,1
    - Dst: memcpy
      Src: /src/mhd2/src/mhd2/mhd_sockets_funcs.c:235,1
    - Dst: bind
      Src: /src/mhd2/src/mhd2/mhd_sockets_funcs.c:241,1
    - Dst: listen
      Src: /src/mhd2/src/mhd2/mhd_sockets_funcs.c:244,1
    - Dst: getsockname
      Src: /src/mhd2/src/mhd2/mhd_sockets_funcs.c:246,1
    - Dst: socket
      Src: /src/mhd2/src/mhd2/mhd_sockets_funcs.c:250,1
    - Dst: mhd_socket_nonblocking
      Src: /src/mhd2/src/mhd2/mhd_sockets_funcs.c:256,1
    - Dst: connect
      Src: /src/mhd2/src/mhd2/mhd_sockets_funcs.c:257,1
    - Dst: mhd_SCKT_LERR_IS_EAGAIN
      Src: /src/mhd2/src/mhd2/mhd_sockets_funcs.c:260,1
    - Dst: accept
      Src: /src/mhd2/src/mhd2/mhd_sockets_funcs.c:265,1
    - Dst: getsockname
      Src: /src/mhd2/src/mhd2/mhd_sockets_funcs.c:271,1
    - Dst: mhd_socket_set_nodelay
      Src: /src/mhd2/src/mhd2/mhd_sockets_funcs.c:278,1
    - Dst: mhd_socket_set_nodelay
      Src: /src/mhd2/src/mhd2/mhd_sockets_funcs.c:279,1
    - Dst: mhd_socket_nonblocking
      Src: /src/mhd2/src/mhd2/mhd_sockets_funcs.c:281,1
    - Dst: mhd_socket_blocking
      Src: /src/mhd2/src/mhd2/mhd_sockets_funcs.c:282,1
    - Dst: mhd_socket_close
      Src: /src/mhd2/src/mhd2/mhd_sockets_funcs.c:284,1
    - Dst: mhd_socket_close
      Src: /src/mhd2/src/mhd2/mhd_sockets_funcs.c:290,1
    - Dst: mhd_socket_close
      Src: /src/mhd2/src/mhd2/mhd_sockets_funcs.c:293,1
    - Dst: mhd_socket_close
      Src: /src/mhd2/src/mhd2/mhd_sockets_funcs.c:296,1
    CyclomaticComplexity: 15
    EdgeCount: 15
    ICount: 38
    argCount: 2
    argNames:
    - sckt
    - non_blk
    argTypes:
    - MHD_Socket[]
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 303
      start: 211
    functionDepth: 2
    functionLinenumber: 211
    functionLinenumberEnd: 303
    functionName: mhd_socket_pair_func
    functionSourceFile: /src/mhd2/src/mhd2/mhd_sockets_funcs.c
    functionUses: 0
    functionsReached:
    - mhd_socket_blocking
    - mhd_socket_close
    - connect
    - mhd_socket_set_nodelay
    - bind
    - htonl
    - accept
    - listen
    - getsockname
    - mhd_socket_nonblocking
    - mhd_SCKT_LERR_IS_EAGAIN
    - socket
    - memcpy
    linkageType: ''
    returnType: MHD_INTERNAL
    signature: MHD_INTERNAL mhd_socket_pair_func (MHD_Socket sckt[2], bool non_blk)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - c
    - ','
    - code
    - ','
    - msg
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 86
      start: 82
    functionDepth: 0
    functionLinenumber: 82
    functionLinenumberEnd: 86
    functionName: mhd_RESPOND_WITH_ERROR_STATIC
    functionSourceFile: /src/mhd2/src/mhd2/respond_with_error.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: mhd_RESPOND_WITH_ERROR_STATIC(c, code, msg)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 11
    argNames:
    - (
    - c
    - ','
    - code
    - ','
    - m
    - ','
    - hdrl_l
    - ','
    - hdrl
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 94
      start: 90
    functionDepth: 0
    functionLinenumber: 90
    functionLinenumberEnd: 94
    functionName: mhd_RESPOND_WITH_ERROR_HEADER
    functionSourceFile: /src/mhd2/src/mhd2/respond_with_error.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: mhd_RESPOND_WITH_ERROR_HEADER(c, code, m, hdrl_l, hdrl)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - c
    - ','
    - code
    - ','
    - msg
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 103
      start: 99
    functionDepth: 0
    functionLinenumber: 99
    functionLinenumberEnd: 103
    functionName: mhd_RESPOND_WITH_ERROR_STATIC
    functionSourceFile: /src/mhd2/src/mhd2/respond_with_error.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: mhd_RESPOND_WITH_ERROR_STATIC(c, code, msg)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 11
    argNames:
    - (
    - c
    - ','
    - code
    - ','
    - m
    - ','
    - hdrl_l
    - ','
    - hdrl
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 111
      start: 107
    functionDepth: 0
    functionLinenumber: 107
    functionLinenumberEnd: 111
    functionName: mhd_RESPOND_WITH_ERROR_HEADER
    functionSourceFile: /src/mhd2/src/mhd2/respond_with_error.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: mhd_RESPOND_WITH_ERROR_HEADER(c, code, m, hdrl_l, hdrl)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: mhd_daemon_get_master_daemon
      Src: /src/mhd2/src/mhd2/stream_get_info.c:73,1
    - Dst: mhd_CNTNR_PTR
      Src: /src/mhd2/src/mhd2/stream_get_info.c:73,1
    - Dst: mhd_CNTNR_PTR
      Src: /src/mhd2/src/mhd2/stream_get_info.c:80,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 17
    argCount: 4
    argNames:
    - MHD_RESTRICT
    - info_type
    - MHD_RESTRICT
    - output_buf_size
    argTypes:
    - struct MHD_Stream*
    - enum MHD_StreamInfoFixedType
    - union MHD_StreamInfoFixedData*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 90
      start: 60
    functionDepth: 1
    functionLinenumber: 60
    functionLinenumberEnd: 90
    functionName: MHD_stream_get_info_fixed_sz
    functionSourceFile: /src/mhd2/src/mhd2/stream_get_info.c
    functionUses: 0
    functionsReached:
    - mhd_CNTNR_PTR
    - mhd_daemon_get_master_daemon
    linkageType: ''
    returnType: enum MHD_StatusCode
    signature: "enum MHD_StatusCode MHD_stream_get_info_fixed_sz (\n  struct MHD_Stream
      *MHD_RESTRICT stream,\n  enum MHD_StreamInfoFixedType info_type,\n  union MHD_StreamInfoFixedData
      *MHD_RESTRICT output_buf,\n  size_t output_buf_size)"
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: mhd_CNTNR_PTR
      Src: /src/mhd2/src/mhd2/stream_get_info.c:106,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 14
    argCount: 4
    argNames:
    - MHD_RESTRICT
    - info_type
    - MHD_RESTRICT
    - output_buf_size
    argTypes:
    - struct MHD_Stream*
    - enum MHD_StreamInfoDynamicType
    - union MHD_StreamInfoDynamicData*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 123
      start: 95
    functionDepth: 1
    functionLinenumber: 95
    functionLinenumberEnd: 123
    functionName: MHD_stream_get_info_dynamic_sz
    functionSourceFile: /src/mhd2/src/mhd2/stream_get_info.c
    functionUses: 0
    functionsReached:
    - mhd_CNTNR_PTR
    linkageType: ''
    returnType: enum MHD_StatusCode
    signature: "enum MHD_StatusCode MHD_stream_get_info_dynamic_sz (\n  struct MHD_Stream
      *MHD_RESTRICT stream,\n  enum MHD_StreamInfoDynamicType info_type,\n  union
      MHD_StreamInfoDynamicData *MHD_RESTRICT output_buf,\n  size_t output_buf_size)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 2
    argNames:
    - (
    - )
    argTypes:
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 203
      start: 199
    functionDepth: 0
    functionLinenumber: 199
    functionLinenumberEnd: 203
    functionName: mhd_LIB_INIT_LAZY_IS_PERFORMED
    functionSourceFile: /src/mhd2/src/mhd2/mhd_lib_init.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: mhd_LIB_INIT_LAZY_IS_PERFORMED()
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: mhd_panic_init_default
      Src: /src/mhd2/src/mhd2/mhd_lib_init.c:216,1
    - Dst: mhd_mutex_init
      Src: /src/mhd2/src/mhd2/mhd_lib_init.c:217,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 9
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 224
      start: 213
    functionDepth: 1
    functionLinenumber: 213
    functionLinenumberEnd: 224
    functionName: mhd_lib_global_lazy_init
    functionSourceFile: /src/mhd2/src/mhd2/mhd_lib_init.c
    functionUses: 0
    functionsReached:
    - mhd_panic_init_default
    - mhd_mutex_init
    linkageType: ''
    returnType: bool
    signature: bool mhd_lib_global_lazy_init (void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: mhd_mutex_destroy
      Src: /src/mhd2/src/mhd2/mhd_lib_init.c:240,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 241
      start: 235
    functionDepth: 1
    functionLinenumber: 235
    functionLinenumberEnd: 241
    functionName: mhd_lib_global_lazy_deinit
    functionSourceFile: /src/mhd2/src/mhd2/mhd_lib_init.c
    functionUses: 0
    functionsReached:
    - mhd_mutex_destroy
    linkageType: ''
    returnType: void
    signature: void mhd_lib_global_lazy_deinit (void)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: mhd_lib_global_lazy_init
      Src: /src/mhd2/src/mhd2/mhd_lib_init.c:256,1
    - Dst: MHD_PANIC
      Src: /src/mhd2/src/mhd2/mhd_lib_init.c:261,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 264
      start: 253
    functionDepth: 2
    functionLinenumber: 253
    functionLinenumberEnd: 264
    functionName: mhd_lib_global_init_auto
    functionSourceFile: /src/mhd2/src/mhd2/mhd_lib_init.c
    functionUses: 0
    functionsReached:
    - MHD_PANIC
    - mhd_lib_global_lazy_init
    linkageType: ''
    returnType: void
    signature: void mhd_lib_global_init_auto (void)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: mhd_LIB_INIT_LAZY_IS_PERFORMED
      Src: /src/mhd2/src/mhd2/mhd_lib_init.c:271,1
    - Dst: fprintf
      Src: /src/mhd2/src/mhd2/mhd_lib_init.c:273,1
    - Dst: fflush
      Src: /src/mhd2/src/mhd2/mhd_lib_init.c:275,1
    - Dst: abort
      Src: /src/mhd2/src/mhd2/mhd_lib_init.c:276,1
    - Dst: fprintf
      Src: /src/mhd2/src/mhd2/mhd_lib_init.c:280,1
    - Dst: fflush
      Src: /src/mhd2/src/mhd2/mhd_lib_init.c:282,1
    - Dst: mhd_lib_global_lazy_deinit
      Src: /src/mhd2/src/mhd2/mhd_lib_init.c:285,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 11
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 286
      start: 267
    functionDepth: 2
    functionLinenumber: 267
    functionLinenumberEnd: 286
    functionName: mhd_lib_global_deinit_auto
    functionSourceFile: /src/mhd2/src/mhd2/mhd_lib_init.c
    functionUses: 0
    functionsReached:
    - fprintf
    - abort
    - mhd_LIB_INIT_LAZY_IS_PERFORMED
    - fflush
    - mhd_lib_global_lazy_deinit
    linkageType: ''
    returnType: void
    signature: void mhd_lib_global_deinit_auto (void)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: DisableThreadLibraryCalls
      Src: /src/mhd2/src/mhd2/mhd_lib_init.c:311,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 3
    argNames:
    - hinst
    - reason
    - pReserved
    argTypes:
    - HINSTANCE
    - DWORD
    - LPVOID
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 314
      start: 291
    functionDepth: 0
    functionLinenumber: 291
    functionLinenumberEnd: 314
    functionName: AUTOINIT_FUNCS_USR_DLLMAIN_NAME
    functionSourceFile: /src/mhd2/src/mhd2/mhd_lib_init.c
    functionUses: 0
    functionsReached:
    - DisableThreadLibraryCalls
    linkageType: ''
    returnType: AIF_DECL_USR_DLLMAIN
    signature: "AIF_DECL_USR_DLLMAIN AUTOINIT_FUNCS_USR_DLLMAIN_NAME (HINSTANCE hinst,\n
      \                                DWORD reason,\n                                 LPVOID
      pReserved)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: WSAStartup
      Src: /src/mhd2/src/mhd2/mhd_lib_init.c:336,1
    - Dst: MAKEWORD
      Src: /src/mhd2/src/mhd2/mhd_lib_init.c:336,1
    - Dst: MAKEWORD
      Src: /src/mhd2/src/mhd2/mhd_lib_init.c:338,1
    - Dst: WSACleanup
      Src: /src/mhd2/src/mhd2/mhd_lib_init.c:340,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 344
      start: 332
    functionDepth: 0
    functionLinenumber: 332
    functionLinenumberEnd: 344
    functionName: mhd_lib_sockets_init_w32
    functionSourceFile: /src/mhd2/src/mhd2/mhd_lib_init.c
    functionUses: 0
    functionsReached:
    - WSACleanup
    - MAKEWORD
    - WSAStartup
    linkageType: ''
    returnType: mhd_static_inline
    signature: mhd_static_inline mhd_lib_sockets_init_w32 (void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: WSACleanup
      Src: /src/mhd2/src/mhd2/mhd_lib_init.c:353,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 354
      start: 350
    functionDepth: 0
    functionLinenumber: 350
    functionLinenumberEnd: 354
    functionName: mhd_lib_sockets_deinit_w32
    functionSourceFile: /src/mhd2/src/mhd2/mhd_lib_init.c
    functionUses: 0
    functionsReached:
    - WSACleanup
    linkageType: ''
    returnType: mhd_static_inline
    signature: mhd_static_inline mhd_lib_sockets_deinit_w32 (void)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 2
    argNames:
    - (
    - )
    argTypes:
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 360
      start: 359
    functionDepth: 0
    functionLinenumber: 359
    functionLinenumberEnd: 360
    functionName: mhd_lib_sockets_init_w32
    functionSourceFile: /src/mhd2/src/mhd2/mhd_lib_init.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: mhd_lib_sockets_init_w32()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 2
    argNames:
    - (
    - )
    argTypes:
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 361
      start: 360
    functionDepth: 0
    functionLinenumber: 360
    functionLinenumberEnd: 361
    functionName: mhd_lib_sockets_deinit_w32
    functionSourceFile: /src/mhd2/src/mhd2/mhd_lib_init.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: mhd_lib_sockets_deinit_w32()
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/mhd_lib_init.c:372,1
    - Dst: mhd_LIB_INIT_LAZY_IS_PERFORMED
      Src: /src/mhd2/src/mhd2/mhd_lib_init.c:372,1
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/mhd_lib_init.c:373,1
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/mhd_lib_init.c:374,1
    - Dst: mhd_lib_sockets_init_w32
      Src: /src/mhd2/src/mhd2/mhd_lib_init.c:376,1
    - Dst: mhd_mclock_init_once
      Src: /src/mhd2/src/mhd2/mhd_lib_init.c:378,1
    - Dst: mhd_send_init_once
      Src: /src/mhd2/src/mhd2/mhd_lib_init.c:379,1
    - Dst: mhd_tls_global_init_once
      Src: /src/mhd2/src/mhd2/mhd_lib_init.c:381,1
    - Dst: mhd_h2_huffman_init
      Src: /src/mhd2/src/mhd2/mhd_lib_init.c:384,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 12
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 390
      start: 369
    functionDepth: 1
    functionLinenumber: 369
    functionLinenumberEnd: 390
    functionName: mhd_lib_global_full_init_once
    functionSourceFile: /src/mhd2/src/mhd2/mhd_lib_init.c
    functionUses: 0
    functionsReached:
    - mhd_tls_global_init_once
    - mhd_lib_sockets_init_w32
    - mhd_send_init_once
    - mhd_mclock_init_once
    - mhd_LIB_INIT_LAZY_IS_PERFORMED
    - mhd_h2_huffman_init
    - mhd_assert
    linkageType: ''
    returnType: bool
    signature: bool mhd_lib_global_full_init_once (void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: mhd_tls_global_deinit
      Src: /src/mhd2/src/mhd2/mhd_lib_init.c:401,1
    - Dst: mhd_mclock_deinit
      Src: /src/mhd2/src/mhd2/mhd_lib_init.c:403,1
    - Dst: mhd_lib_sockets_deinit_w32
      Src: /src/mhd2/src/mhd2/mhd_lib_init.c:404,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 405
      start: 397
    functionDepth: 1
    functionLinenumber: 397
    functionLinenumberEnd: 405
    functionName: mhd_lib_global_full_deinit
    functionSourceFile: /src/mhd2/src/mhd2/mhd_lib_init.c
    functionUses: 0
    functionsReached:
    - mhd_tls_global_deinit
    - mhd_mclock_deinit
    - mhd_lib_sockets_deinit_w32
    linkageType: ''
    returnType: void
    signature: void mhd_lib_global_full_deinit (void)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/mhd_lib_init.c:418,1
    - Dst: mhd_lib_sockets_init_w32
      Src: /src/mhd2/src/mhd2/mhd_lib_init.c:419,1
    - Dst: mhd_mclock_re_init
      Src: /src/mhd2/src/mhd2/mhd_lib_init.c:421,1
    - Dst: mhd_tls_global_re_init
      Src: /src/mhd2/src/mhd2/mhd_lib_init.c:423,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 427
      start: 415
    functionDepth: 1
    functionLinenumber: 415
    functionLinenumberEnd: 427
    functionName: mhd_lib_global_full_re_init
    functionSourceFile: /src/mhd2/src/mhd2/mhd_lib_init.c
    functionUses: 0
    functionsReached:
    - mhd_tls_global_re_init
    - mhd_assert
    - mhd_mclock_re_init
    - mhd_lib_sockets_init_w32
    linkageType: ''
    returnType: bool
    signature: bool mhd_lib_global_full_re_init (void)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: mhd_LIB_INIT_LAZY_IS_PERFORMED
      Src: /src/mhd2/src/mhd2/mhd_lib_init.c:438,1
    - Dst: abort
      Src: /src/mhd2/src/mhd2/mhd_lib_init.c:443,1
    - Dst: mhd_lib_global_lazy_init
      Src: /src/mhd2/src/mhd2/mhd_lib_init.c:445,1
    - Dst: mhd_mutex_lock
      Src: /src/mhd2/src/mhd2/mhd_lib_init.c:450,1
    - Dst: mhd_lib_global_full_init_once
      Src: /src/mhd2/src/mhd2/mhd_lib_init.c:455,1
    - Dst: mhd_lib_global_full_re_init
      Src: /src/mhd2/src/mhd2/mhd_lib_init.c:457,1
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/mhd_lib_init.c:461,1
    - Dst: mhd_mutex_unlock_chk
      Src: /src/mhd2/src/mhd2/mhd_lib_init.c:466,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 20
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 469
      start: 434
    functionDepth: 2
    functionLinenumber: 434
    functionLinenumberEnd: 469
    functionName: mhd_lib_init_global_if_needed
    functionSourceFile: /src/mhd2/src/mhd2/mhd_lib_init.c
    functionUses: 0
    functionsReached:
    - mhd_mutex_lock
    - mhd_lib_global_full_re_init
    - abort
    - mhd_mutex_unlock_chk
    - mhd_lib_global_full_init_once
    - mhd_LIB_INIT_LAZY_IS_PERFORMED
    - mhd_assert
    - mhd_lib_global_lazy_init
    linkageType: ''
    returnType: MHD_INTERNAL
    signature: MHD_INTERNAL mhd_lib_init_global_if_needed (void)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/mhd_lib_init.c:475,1
    - Dst: mhd_mutex_lock_chk
      Src: /src/mhd2/src/mhd2/mhd_lib_init.c:477,1
    - Dst: mhd_lib_global_full_deinit
      Src: /src/mhd2/src/mhd2/mhd_lib_init.c:479,1
    - Dst: mhd_mutex_unlock_chk
      Src: /src/mhd2/src/mhd2/mhd_lib_init.c:480,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 481
      start: 472
    functionDepth: 2
    functionLinenumber: 472
    functionLinenumberEnd: 481
    functionName: mhd_lib_deinit_global_if_needed
    functionSourceFile: /src/mhd2/src/mhd2/mhd_lib_init.c
    functionUses: 0
    functionsReached:
    - mhd_lib_global_full_deinit
    - mhd_assert
    - mhd_mutex_lock_chk
    - mhd_mutex_unlock_chk
    linkageType: ''
    returnType: MHD_INTERNAL
    signature: MHD_INTERNAL mhd_lib_deinit_global_if_needed (void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: mhd_LIB_INIT_LAZY_IS_PERFORMED
      Src: /src/mhd2/src/mhd2/mhd_lib_init.c:487,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 488
      start: 484
    functionDepth: 1
    functionLinenumber: 484
    functionLinenumberEnd: 488
    functionName: mhd_lib_is_fully_initialised_once
    functionSourceFile: /src/mhd2/src/mhd2/mhd_lib_init.c
    functionUses: 0
    functionsReached:
    - mhd_LIB_INIT_LAZY_IS_PERFORMED
    linkageType: ''
    returnType: MHD_INTERNAL
    signature: MHD_INTERNAL mhd_lib_is_fully_initialised_once (void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: mhd_lib_is_fully_initialised_once
      Src: /src/mhd2/src/mhd2/mhd_lib_init.c:494,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 495
      start: 491
    functionDepth: 2
    functionLinenumber: 491
    functionLinenumberEnd: 495
    functionName: mhd_lib_is_fully_initialised_now
    functionSourceFile: /src/mhd2/src/mhd2/mhd_lib_init.c
    functionUses: 0
    functionsReached:
    - mhd_lib_is_fully_initialised_once
    linkageType: ''
    returnType: MHD_INTERNAL
    signature: MHD_INTERNAL mhd_lib_is_fully_initialised_now (void)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: mhd_REQ_GET_ACT_HEAD
      Src: /src/mhd2/src/mhd2/action.c:73,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - request
    argTypes:
    - struct MHD_Request*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 80
      start: 70
    functionDepth: 1
    functionLinenumber: 70
    functionLinenumberEnd: 80
    functionName: MHD_action_suspend
    functionSourceFile: /src/mhd2/src/mhd2/action.c
    functionUses: 0
    functionsReached:
    - mhd_REQ_GET_ACT_HEAD
    linkageType: ''
    returnType: struct MHD_Action
    signature: 'struct MHD_Action *

      MHD_action_suspend (struct MHD_Request *request)'
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: mhd_REQ_GET_ACT_HEAD
      Src: /src/mhd2/src/mhd2/action.c:88,1
    - Dst: mhd_response_check_frozen_freeze
      Src: /src/mhd2/src/mhd2/action.c:92,1
    - Dst: mhd_response_inc_use_count
      Src: /src/mhd2/src/mhd2/action.c:93,1
    - Dst: mhd_REQ_IS_HTTP2
      Src: /src/mhd2/src/mhd2/action.c:96,1
    - Dst: mhd_h2_act_is_resp_h2_compatible
      Src: /src/mhd2/src/mhd2/action.c:98,1
    - Dst: mhd_response_dec_use_count
      Src: /src/mhd2/src/mhd2/action.c:102,1
    - Dst: mhd_response_dec_use_count
      Src: /src/mhd2/src/mhd2/action.c:111,1
    - Dst: mhd_RESP_HAS_AUTH_DIGEST
      Src: /src/mhd2/src/mhd2/action.c:115,1
    - Dst: mhd_D_HAS_AUTH_DIGEST
      Src: /src/mhd2/src/mhd2/action.c:116,1
    - Dst: mhd_CNTNR_CPTR
      Src: /src/mhd2/src/mhd2/action.c:117,1
    - Dst: mhd_response_dec_use_count
      Src: /src/mhd2/src/mhd2/action.c:120,1
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/action.c:122,1
    - Dst: mhd_REQ_IS_HTTP2
      Src: /src/mhd2/src/mhd2/action.c:122,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 24
    argCount: 2
    argNames:
    - MHD_RESTRICT
    - MHD_RESTRICT
    argTypes:
    - struct MHD_Request*
    - struct MHD_Response*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 135
      start: 84
    functionDepth: 1
    functionLinenumber: 84
    functionLinenumberEnd: 135
    functionName: MHD_action_from_response
    functionSourceFile: /src/mhd2/src/mhd2/action.c
    functionUses: 23
    functionsReached:
    - mhd_D_HAS_AUTH_DIGEST
    - mhd_REQ_GET_ACT_HEAD
    - mhd_RESP_HAS_AUTH_DIGEST
    - mhd_response_check_frozen_freeze
    - mhd_REQ_IS_HTTP2
    - mhd_response_inc_use_count
    - mhd_response_dec_use_count
    - mhd_h2_act_is_resp_h2_compatible
    - mhd_assert
    - mhd_CNTNR_CPTR
    linkageType: ''
    returnType: struct MHD_Action
    signature: "struct MHD_Action *\nMHD_action_from_response (struct MHD_Request
      *MHD_RESTRICT request,\n                          struct MHD_Response *MHD_RESTRICT
      response)"
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: mhd_REQ_GET_ACT_HEAD
      Src: /src/mhd2/src/mhd2/action.c:147,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 19
    argCount: 6
    argNames:
    - request
    - large_buffer_size
    - uc_full
    - uc_full_cls
    - uc_inc
    - uc_inc_cls
    argTypes:
    - struct MHD_Request*
    - size_t
    - MHD_UploadCallback
    - void*
    - MHD_UploadCallback
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 173
      start: 139
    functionDepth: 1
    functionLinenumber: 139
    functionLinenumberEnd: 173
    functionName: MHD_action_process_upload
    functionSourceFile: /src/mhd2/src/mhd2/action.c
    functionUses: 1
    functionsReached:
    - mhd_REQ_GET_ACT_HEAD
    linkageType: ''
    returnType: struct MHD_Action
    signature: "struct MHD_Action *\nMHD_action_process_upload (struct MHD_Request
      *request,\n                           size_t large_buffer_size,\n                           MHD_UploadCallback
      uc_full,\n                           void *uc_full_cls,\n                           MHD_UploadCallback
      uc_inc,\n                           void *uc_inc_cls)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: mhd_REQ_GET_ACT_HEAD
      Src: /src/mhd2/src/mhd2/action.c:188,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 23
    argCount: 8
    argNames:
    - request
    - buffer_size
    - max_nonstream_size
    - enc
    - stream_reader
    - reader_cls
    - done_cb
    - done_cb_cls
    argTypes:
    - struct MHD_Request*
    - size_t
    - size_t
    - enum MHD_HTTP_PostEncoding
    - MHD_PostDataReader
    - void*
    - MHD_PostDataFinished
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 217
      start: 177
    functionDepth: 1
    functionLinenumber: 177
    functionLinenumberEnd: 217
    functionName: MHD_action_parse_post
    functionSourceFile: /src/mhd2/src/mhd2/action.c
    functionUses: 2
    functionsReached:
    - mhd_REQ_GET_ACT_HEAD
    linkageType: ''
    returnType: struct MHD_Action
    signature: "struct MHD_Action *\nMHD_action_parse_post (struct MHD_Request *request,\n
      \                      size_t buffer_size,\n                       size_t max_nonstream_size,\n
      \                      enum MHD_HTTP_PostEncoding enc,\n                       MHD_PostDataReader
      stream_reader,\n                       void *reader_cls,\n                       MHD_PostDataFinished
      done_cb,\n                       void *done_cb_cls)"
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: mhd_REQ_IS_HTTP2
      Src: /src/mhd2/src/mhd2/action.c:236,1
    - Dst: mhd_upgrade_prep_for_action
      Src: /src/mhd2/src/mhd2/action.c:245,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 15
    argCount: 6
    argNames:
    - MHD_RESTRICT
    - MHD_RESTRICT upgrade_hdr_value
    - upgrade_handler
    - upgrade_handler_cls
    - num_headers
    - MHD_RESTRICT
    argTypes:
    - struct MHD_Request*
    - char*
    - MHD_UpgradeHandler
    - void*
    - size_t
    - struct MHD_NameValueCStr*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 257
      start: 225
    functionDepth: 1
    functionLinenumber: 225
    functionLinenumberEnd: 257
    functionName: MHD_action_upgrade
    functionSourceFile: /src/mhd2/src/mhd2/action.c
    functionUses: 1
    functionsReached:
    - mhd_upgrade_prep_for_action
    - mhd_REQ_IS_HTTP2
    linkageType: ''
    returnType: struct MHD_Action
    signature: "struct MHD_Action *\nMHD_action_upgrade (struct MHD_Request *MHD_RESTRICT
      request,\n                    const char *MHD_RESTRICT upgrade_hdr_value,\n
      \                   MHD_UpgradeHandler upgrade_handler,\n                    void
      *upgrade_handler_cls,\n                    size_t num_headers,\n                    const
      struct MHD_NameValueCStr *MHD_RESTRICT headers)"
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: mhd_REQ_IS_HTTP2
      Src: /src/mhd2/src/mhd2/action.c:275,1
    - Dst: mhd_upgrade_prep_for_action
      Src: /src/mhd2/src/mhd2/action.c:284,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 15
    argCount: 6
    argNames:
    - MHD_RESTRICT
    - MHD_RESTRICT upgrade_hdr_value
    - upgrade_handler
    - upgrade_handler_cls
    - num_headers
    - MHD_RESTRICT
    argTypes:
    - struct MHD_Request*
    - char*
    - MHD_UpgradeHandler
    - void*
    - size_t
    - struct MHD_NameValueCStr*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 296
      start: 263
    functionDepth: 1
    functionLinenumber: 263
    functionLinenumberEnd: 296
    functionName: MHD_upload_action_upgrade
    functionSourceFile: /src/mhd2/src/mhd2/action.c
    functionUses: 0
    functionsReached:
    - mhd_upgrade_prep_for_action
    - mhd_REQ_IS_HTTP2
    linkageType: ''
    returnType: struct MHD_UploadAction
    signature: "struct MHD_UploadAction *\nMHD_upload_action_upgrade (\n  struct MHD_Request
      *MHD_RESTRICT request,\n  const char *MHD_RESTRICT upgrade_hdr_value,\n  MHD_UpgradeHandler
      upgrade_handler,\n  void *upgrade_handler_cls,\n  size_t num_headers,\n  const
      struct MHD_NameValueCStr *MHD_RESTRICT headers)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: mhd_REQ_GET_ACT_UPLD
      Src: /src/mhd2/src/mhd2/action.c:306,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - request
    argTypes:
    - struct MHD_Request*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 313
      start: 303
    functionDepth: 1
    functionLinenumber: 303
    functionLinenumberEnd: 313
    functionName: MHD_upload_action_suspend
    functionSourceFile: /src/mhd2/src/mhd2/action.c
    functionUses: 0
    functionsReached:
    - mhd_REQ_GET_ACT_UPLD
    linkageType: ''
    returnType: struct MHD_UploadAction
    signature: 'struct MHD_UploadAction *

      MHD_upload_action_suspend (struct MHD_Request *request)'
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: mhd_REQ_GET_ACT_UPLD
      Src: /src/mhd2/src/mhd2/action.c:321,1
    - Dst: mhd_response_check_frozen_freeze
      Src: /src/mhd2/src/mhd2/action.c:325,1
    - Dst: mhd_response_inc_use_count
      Src: /src/mhd2/src/mhd2/action.c:326,1
    - Dst: mhd_REQ_IS_HTTP2
      Src: /src/mhd2/src/mhd2/action.c:329,1
    - Dst: mhd_h2_act_is_resp_h2_compatible
      Src: /src/mhd2/src/mhd2/action.c:331,1
    - Dst: mhd_response_dec_use_count
      Src: /src/mhd2/src/mhd2/action.c:335,1
    - Dst: mhd_response_dec_use_count
      Src: /src/mhd2/src/mhd2/action.c:344,1
    - Dst: mhd_RESP_HAS_AUTH_DIGEST
      Src: /src/mhd2/src/mhd2/action.c:348,1
    - Dst: mhd_D_HAS_AUTH_DIGEST
      Src: /src/mhd2/src/mhd2/action.c:349,1
    - Dst: mhd_CNTNR_CPTR
      Src: /src/mhd2/src/mhd2/action.c:350,1
    - Dst: mhd_response_dec_use_count
      Src: /src/mhd2/src/mhd2/action.c:353,1
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/action.c:355,1
    - Dst: mhd_REQ_IS_HTTP2
      Src: /src/mhd2/src/mhd2/action.c:355,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 24
    argCount: 2
    argNames:
    - MHD_RESTRICT
    - MHD_RESTRICT
    argTypes:
    - struct MHD_Request*
    - struct MHD_Response*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 368
      start: 317
    functionDepth: 1
    functionLinenumber: 317
    functionLinenumberEnd: 368
    functionName: MHD_upload_action_from_response
    functionSourceFile: /src/mhd2/src/mhd2/action.c
    functionUses: 4
    functionsReached:
    - mhd_D_HAS_AUTH_DIGEST
    - mhd_RESP_HAS_AUTH_DIGEST
    - mhd_response_check_frozen_freeze
    - mhd_REQ_IS_HTTP2
    - mhd_response_inc_use_count
    - mhd_response_dec_use_count
    - mhd_REQ_GET_ACT_UPLD
    - mhd_h2_act_is_resp_h2_compatible
    - mhd_assert
    - mhd_CNTNR_CPTR
    linkageType: ''
    returnType: struct MHD_UploadAction
    signature: "struct MHD_UploadAction *\nMHD_upload_action_from_response (struct
      MHD_Request *MHD_RESTRICT request,\n                                 struct
      MHD_Response *MHD_RESTRICT response)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: mhd_REQ_GET_ACT_UPLD
      Src: /src/mhd2/src/mhd2/action.c:375,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - request
    argTypes:
    - struct MHD_Request*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 382
      start: 372
    functionDepth: 1
    functionLinenumber: 372
    functionLinenumberEnd: 382
    functionName: MHD_upload_action_continue
    functionSourceFile: /src/mhd2/src/mhd2/action.c
    functionUses: 3
    functionsReached:
    - mhd_REQ_GET_ACT_UPLD
    linkageType: ''
    returnType: struct MHD_UploadAction
    signature: 'struct MHD_UploadAction *

      MHD_upload_action_continue (struct MHD_Request *request)'
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: fprintf
      Src: /src/mhd2/src/mhd2/tls_open_funcs.c:107,1
    - Dst: fflush
      Src: /src/mhd2/src/mhd2/tls_open_funcs.c:110,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 3
    argNames:
    - msg
    - msg_len
    - cls
    argTypes:
    - char*
    - size_t
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 112
      start: 93
    functionDepth: 0
    functionLinenumber: 93
    functionLinenumberEnd: 112
    functionName: "(1) int\nmhd_tls_open_dbg_print_errs (const char *msg,\n                             size_t
      msg_len,\n                             void *cls)"
    functionSourceFile: /src/mhd2/src/mhd2/tls_open_funcs.c
    functionUses: 0
    functionsReached:
    - fprintf
    - fflush
    linkageType: ''
    returnType: MHD_FN_PAR_NONNULL_
    signature: "MHD_FN_PAR_NONNULL_ (1) int\nmhd_tls_open_dbg_print_errs (const char
      *msg,\n                             size_t msg_len,\n                             void
      *cls)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 2
    argNames:
    - (
    - )
    argTypes:
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 117
      start: 115
    functionDepth: 0
    functionLinenumber: 115
    functionLinenumberEnd: 117
    functionName: mhd_DBG_PRINT_TLS_ERRS
    functionSourceFile: /src/mhd2/src/mhd2/tls_open_funcs.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: mhd_DBG_PRINT_TLS_ERRS()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - message
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 121
      start: 118
    functionDepth: 0
    functionLinenumber: 118
    functionLinenumberEnd: 121
    functionName: mhd_DBG_PRINT_TLS_INFO_MSG
    functionSourceFile: /src/mhd2/src/mhd2/tls_open_funcs.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: mhd_DBG_PRINT_TLS_INFO_MSG(message)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - message
    - ','
    - param
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 124
      start: 121
    functionDepth: 0
    functionLinenumber: 121
    functionLinenumberEnd: 124
    functionName: mhd_DBG_PRINT_TLS_INFO_PARAM1
    functionSourceFile: /src/mhd2/src/mhd2/tls_open_funcs.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: mhd_DBG_PRINT_TLS_INFO_PARAM1(message, param)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 2
    argNames:
    - (
    - )
    argTypes:
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 126
      start: 125
    functionDepth: 0
    functionLinenumber: 125
    functionLinenumberEnd: 126
    functionName: mhd_DBG_PRINT_TLS_ERRS
    functionSourceFile: /src/mhd2/src/mhd2/tls_open_funcs.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: mhd_DBG_PRINT_TLS_ERRS()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - message
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 127
      start: 126
    functionDepth: 0
    functionLinenumber: 126
    functionLinenumberEnd: 127
    functionName: mhd_DBG_PRINT_TLS_INFO_MSG
    functionSourceFile: /src/mhd2/src/mhd2/tls_open_funcs.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: mhd_DBG_PRINT_TLS_INFO_MSG(message)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - message
    - ','
    - param
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 128
      start: 127
    functionDepth: 0
    functionLinenumber: 127
    functionLinenumberEnd: 128
    functionName: mhd_DBG_PRINT_TLS_INFO_PARAM1
    functionSourceFile: /src/mhd2/src/mhd2/tls_open_funcs.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: mhd_DBG_PRINT_TLS_INFO_PARAM1(message, param)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: OpenSSL_version_num
      Src: /src/mhd2/src/mhd2/tls_open_funcs.c:137,1
    - Dst: OPENSSL_init_ssl
      Src: /src/mhd2/src/mhd2/tls_open_funcs.c:148,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 149
      start: 134
    functionDepth: 0
    functionLinenumber: 134
    functionLinenumberEnd: 149
    functionName: mhd_tls_open_global_init_once
    functionSourceFile: /src/mhd2/src/mhd2/tls_open_funcs.c
    functionUses: 0
    functionsReached:
    - OPENSSL_init_ssl
    - OpenSSL_version_num
    linkageType: ''
    returnType: MHD_INTERNAL
    signature: MHD_INTERNAL mhd_tls_open_global_init_once (void)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 156
      start: 152
    functionDepth: 0
    functionLinenumber: 152
    functionLinenumberEnd: 156
    functionName: mhd_tls_open_is_inited_fine
    functionSourceFile: /src/mhd2/src/mhd2/tls_open_funcs.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: MHD_INTERNAL
    signature: MHD_INTERNAL mhd_tls_open_is_inited_fine (void)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/tls_open_funcs.c:174,1
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/tls_open_funcs.c:175,1
    - Dst: mhd_LOG_MSG
      Src: /src/mhd2/src/mhd2/tls_open_funcs.c:179,1
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/tls_open_funcs.c:183,1
    - Dst: mhd_LOG_MSG
      Src: /src/mhd2/src/mhd2/tls_open_funcs.c:187,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 13
    argCount: 3
    argNames:
    - d
    - sk_edge_trigg
    - s
    argTypes:
    - struct MHD_Daemon*
    - bool
    - struct DaemonOptions*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 194
      start: 169
    functionDepth: 1
    functionLinenumber: 169
    functionLinenumberEnd: 194
    functionName: check_app_tls_settings
    functionSourceFile: /src/mhd2/src/mhd2/tls_open_funcs.c
    functionUses: 1
    functionsReached:
    - mhd_LOG_MSG
    - mhd_assert
    linkageType: ''
    returnType: MHD_FN_PAR_NONNULL_ALL_
    signature: "MHD_FN_PAR_NONNULL_ALL_ check_app_tls_settings (struct MHD_Daemon
      *restrict d,\n                        bool sk_edge_trigg,\n                        struct
      DaemonOptions *restrict s)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: mhd_DBG_PRINT_TLS_INFO_MSG
      Src: /src/mhd2/src/mhd2/tls_open_funcs.c:208,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 4
    argNames:
    - buf
    - size
    - rwflag
    - cls
    argTypes:
    - char*
    - int
    - int
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 210
      start: 198
    functionDepth: 0
    functionLinenumber: 198
    functionLinenumberEnd: 210
    functionName: null_passwd_cb
    functionSourceFile: /src/mhd2/src/mhd2/tls_open_funcs.c
    functionUses: 0
    functionsReached:
    - mhd_DBG_PRINT_TLS_INFO_MSG
    linkageType: ''
    returnType: int
    signature: "int null_passwd_cb (char *buf,\n                int size,\n                int
      rwflag,\n                void *cls)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/tls_open_funcs.c:227,1
    - Dst: OSSL_LIB_CTX_new
      Src: /src/mhd2/src/mhd2/tls_open_funcs.c:229,1
    - Dst: mhd_DBG_PRINT_TLS_ERRS
      Src: /src/mhd2/src/mhd2/tls_open_funcs.c:233,1
    - Dst: mhd_LOG_MSG
      Src: /src/mhd2/src/mhd2/tls_open_funcs.c:234,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 10
    argCount: 2
    argNames:
    - d
    - d_tls
    argTypes:
    - struct MHD_Daemon*
    - struct mhd_TlsOpenDaemonData*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 239
      start: 220
    functionDepth: 1
    functionLinenumber: 220
    functionLinenumberEnd: 239
    functionName: create_lib_ctx
    functionSourceFile: /src/mhd2/src/mhd2/tls_open_funcs.c
    functionUses: 0
    functionsReached:
    - mhd_LOG_MSG
    - mhd_assert
    - OSSL_LIB_CTX_new
    - mhd_DBG_PRINT_TLS_ERRS
    linkageType: ''
    returnType: MHD_FN_PAR_NONNULL_ALL_
    signature: "MHD_FN_PAR_NONNULL_ALL_ create_lib_ctx (struct MHD_Daemon *restrict
      d,\n                struct mhd_TlsOpenDaemonData *restrict d_tls)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/tls_open_funcs.c:255,1
    - Dst: OSSL_LIB_CTX_free
      Src: /src/mhd2/src/mhd2/tls_open_funcs.c:257,1
    - Dst: create_lib_ctx
      Src: /src/mhd2/src/mhd2/tls_open_funcs.c:260,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 2
    argNames:
    - d
    - d_tls
    argTypes:
    - struct MHD_Daemon*
    - struct mhd_TlsOpenDaemonData*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 262
      start: 251
    functionDepth: 2
    functionLinenumber: 251
    functionLinenumberEnd: 262
    functionName: reset_lib_ctx
    functionSourceFile: /src/mhd2/src/mhd2/tls_open_funcs.c
    functionUses: 0
    functionsReached:
    - create_lib_ctx
    - mhd_assert
    - OSSL_LIB_CTX_free
    linkageType: ''
    returnType: MHD_FN_PAR_NONNULL_ALL_
    signature: "MHD_FN_PAR_NONNULL_ALL_ reset_lib_ctx (struct MHD_Daemon *restrict
      d,\n               struct mhd_TlsOpenDaemonData *restrict d_tls)"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/tls_open_funcs.c:280,1
    - Dst: strlen
      Src: /src/mhd2/src/mhd2/tls_open_funcs.c:288,1
    - Dst: memchr
      Src: /src/mhd2/src/mhd2/tls_open_funcs.c:289,1
    - Dst: memchr
      Src: /src/mhd2/src/mhd2/tls_open_funcs.c:293,1
    - Dst: X509_get_default_cert_area
      Src: /src/mhd2/src/mhd2/tls_open_funcs.c:303,1
    - Dst: mhd_DBG_PRINT_TLS_ERRS
      Src: /src/mhd2/src/mhd2/tls_open_funcs.c:306,1
    - Dst: mhd_DBG_PRINT_TLS_INFO_MSG
      Src: /src/mhd2/src/mhd2/tls_open_funcs.c:307,1
    - Dst: strlen
      Src: /src/mhd2/src/mhd2/tls_open_funcs.c:311,1
    - Dst: OPENSSL_malloc
      Src: /src/mhd2/src/mhd2/tls_open_funcs.c:314,1
    - Dst: memcpy
      Src: /src/mhd2/src/mhd2/tls_open_funcs.c:318,1
    - Dst: memcpy
      Src: /src/mhd2/src/mhd2/tls_open_funcs.c:322,1
    - Dst: OPENSSL_malloc
      Src: /src/mhd2/src/mhd2/tls_open_funcs.c:329,1
    - Dst: memcpy
      Src: /src/mhd2/src/mhd2/tls_open_funcs.c:333,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 27
    argCount: 2
    argNames:
    - s
    - conf_pathname
    argTypes:
    - struct DaemonOptions*
    - char**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 338
      start: 273
    functionDepth: 1
    functionLinenumber: 273
    functionLinenumberEnd: 338
    functionName: daemon_get_conf_file
    functionSourceFile: /src/mhd2/src/mhd2/tls_open_funcs.c
    functionUses: 0
    functionsReached:
    - memcpy
    - memchr
    - X509_get_default_cert_area
    - OPENSSL_malloc
    - mhd_DBG_PRINT_TLS_ERRS
    - mhd_DBG_PRINT_TLS_INFO_MSG
    - strlen
    - mhd_assert
    linkageType: ''
    returnType: MHD_FN_MUST_CHECK_RESULT_
    signature: "MHD_FN_MUST_CHECK_RESULT_ daemon_get_conf_file (struct DaemonOptions
      *restrict s,\n                      char **restrict conf_pathname)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - d_tls
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 344
      start: 342
    functionDepth: 0
    functionLinenumber: 342
    functionLinenumberEnd: 344
    functionName: mhd_LIBCTX_FORBIDS_FALLBACKS
    functionSourceFile: /src/mhd2/src/mhd2/tls_open_funcs.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: mhd_LIBCTX_FORBIDS_FALLBACKS(d_tls)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - d_tls
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 346
      start: 345
    functionDepth: 0
    functionLinenumber: 345
    functionLinenumberEnd: 346
    functionName: mhd_LIBCTX_FORBIDS_FALLBACKS
    functionSourceFile: /src/mhd2/src/mhd2/tls_open_funcs.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: mhd_LIBCTX_FORBIDS_FALLBACKS(d_tls)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: NCONF_get_string
      Src: /src/mhd2/src/mhd2/tls_open_funcs.c:367,1
    - Dst: mhd_LOG_PRINT
      Src: /src/mhd2/src/mhd2/tls_open_funcs.c:372,1
    - Dst: mhd_LOG_FMT
      Src: /src/mhd2/src/mhd2/tls_open_funcs.c:374,1
    - Dst: mhd_DBG_PRINT_TLS_INFO_PARAM1
      Src: /src/mhd2/src/mhd2/tls_open_funcs.c:379,1
    - Dst: mhd_DBG_PRINT_TLS_INFO_PARAM1
      Src: /src/mhd2/src/mhd2/tls_open_funcs.c:385,1
    - Dst: mhd_DBG_PRINT_TLS_INFO_MSG
      Src: /src/mhd2/src/mhd2/tls_open_funcs.c:390,1
    - Dst: CONF_modules_load
      Src: /src/mhd2/src/mhd2/tls_open_funcs.c:393,1
    - Dst: mhd_DBG_PRINT_TLS_ERRS
      Src: /src/mhd2/src/mhd2/tls_open_funcs.c:397,1
    - Dst: mhd_LOG_PRINT
      Src: /src/mhd2/src/mhd2/tls_open_funcs.c:399,1
    - Dst: mhd_LOG_FMT
      Src: /src/mhd2/src/mhd2/tls_open_funcs.c:401,1
    - Dst: mhd_DBG_PRINT_TLS_INFO_MSG
      Src: /src/mhd2/src/mhd2/tls_open_funcs.c:410,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 20
    argCount: 6
    argNames:
    - d
    - filename
    - app_name
    - cfg
    - load_flags
    - log_missing_app_name
    argTypes:
    - struct MHD_Daemon*
    - char*
    - char*
    - CONF*
    - unsigned long
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 414
      start: 349
    functionDepth: 1
    functionLinenumber: 349
    functionLinenumberEnd: 414
    functionName: "(1) MHD_FN_PAR_NONNULL_ (2)\nMHD_FN_PAR_NONNULL_ (4) bool\ndaemon_load_conf_from_cfg
      (struct MHD_Daemon *restrict d,\n                           const char *restrict
      filename,\n                           const char *restrict app_name,\n                           CONF
      *restrict cfg,\n                           unsigned long load_flags,\n                           bool
      log_missing_app_name)"
    functionSourceFile: /src/mhd2/src/mhd2/tls_open_funcs.c
    functionUses: 0
    functionsReached:
    - mhd_LOG_FMT
    - mhd_DBG_PRINT_TLS_INFO_PARAM1
    - mhd_LOG_PRINT
    - CONF_modules_load
    - mhd_DBG_PRINT_TLS_ERRS
    - mhd_DBG_PRINT_TLS_INFO_MSG
    - NCONF_get_string
    linkageType: ''
    returnType: MHD_FN_PAR_NONNULL_
    signature: "MHD_FN_PAR_NONNULL_ (1) MHD_FN_PAR_NONNULL_ (2)\nMHD_FN_PAR_NONNULL_
      (4) bool\ndaemon_load_conf_from_cfg (struct MHD_Daemon *restrict d,\n                           const
      char *restrict filename,\n                           const char *restrict app_name,\n
      \                          CONF *restrict cfg,\n                           unsigned
      long load_flags,\n                           bool log_missing_app_name)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/tls_open_funcs.c:427,1
    - Dst: mhd_DBG_PRINT_TLS_INFO_MSG
      Src: /src/mhd2/src/mhd2/tls_open_funcs.c:429,1
    - Dst: NCONF_free
      Src: /src/mhd2/src/mhd2/tls_open_funcs.c:433,1
    - Dst: reset_lib_ctx
      Src: /src/mhd2/src/mhd2/tls_open_funcs.c:437,1
    - Dst: NCONF_new_ex
      Src: /src/mhd2/src/mhd2/tls_open_funcs.c:442,1
    - Dst: mhd_DBG_PRINT_TLS_ERRS
      Src: /src/mhd2/src/mhd2/tls_open_funcs.c:446,1
    - Dst: mhd_DBG_PRINT_TLS_INFO_MSG
      Src: /src/mhd2/src/mhd2/tls_open_funcs.c:448,1
    - Dst: NCONF_load
      Src: /src/mhd2/src/mhd2/tls_open_funcs.c:452,1
    - Dst: mhd_DBG_PRINT_TLS_ERRS
      Src: /src/mhd2/src/mhd2/tls_open_funcs.c:456,1
    - Dst: mhd_DBG_PRINT_TLS_INFO_PARAM1
      Src: /src/mhd2/src/mhd2/tls_open_funcs.c:458,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 20
    argCount: 4
    argNames:
    - d
    - d_tls
    - filename
    - cfg_ptr
    argTypes:
    - struct MHD_Daemon*
    - struct mhd_TlsOpenDaemonData*
    - char*
    - CONF**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 464
      start: 418
    functionDepth: 3
    functionLinenumber: 418
    functionLinenumberEnd: 464
    functionName: cfg_reset_and_reload
    functionSourceFile: /src/mhd2/src/mhd2/tls_open_funcs.c
    functionUses: 0
    functionsReached:
    - NCONF_new_ex
    - NCONF_load
    - mhd_DBG_PRINT_TLS_INFO_PARAM1
    - NCONF_free
    - mhd_DBG_PRINT_TLS_ERRS
    - reset_lib_ctx
    - mhd_DBG_PRINT_TLS_INFO_MSG
    - mhd_assert
    linkageType: ''
    returnType: bool
    signature: "bool cfg_reset_and_reload (struct MHD_Daemon *restrict d,\n                      struct
      mhd_TlsOpenDaemonData *restrict d_tls,\n                      const char *restrict
      filename,\n                      CONF **restrict cfg_ptr)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/tls_open_funcs.c:472,1
    - Dst: mhd_LIBCTX_FORBIDS_FALLBACKS
      Src: /src/mhd2/src/mhd2/tls_open_funcs.c:476,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 2
    argNames:
    - d_tls
    - s
    argTypes:
    - struct mhd_TlsOpenDaemonData*
    - struct DaemonOptions*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 479
      start: 467
    functionDepth: 1
    functionLinenumber: 467
    functionLinenumberEnd: 479
    functionName: is_conf_file_fallback_allowed
    functionSourceFile: /src/mhd2/src/mhd2/tls_open_funcs.c
    functionUses: 0
    functionsReached:
    - mhd_LIBCTX_FORBIDS_FALLBACKS
    - mhd_assert
    linkageType: ''
    returnType: MHD_FN_PAR_NONNULL_ALL_
    signature: "MHD_FN_PAR_NONNULL_ALL_ is_conf_file_fallback_allowed (\n  const struct
      mhd_TlsOpenDaemonData *restrict d_tls,\n  const struct DaemonOptions *restrict
      s)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: is_conf_file_fallback_allowed
      Src: /src/mhd2/src/mhd2/tls_open_funcs.c:489,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 2
    argNames:
    - d_tls
    - s
    argTypes:
    - struct mhd_TlsOpenDaemonData*
    - struct DaemonOptions*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 491
      start: 482
    functionDepth: 2
    functionLinenumber: 482
    functionLinenumberEnd: 491
    functionName: is_conf_fallback_allowed
    functionSourceFile: /src/mhd2/src/mhd2/tls_open_funcs.c
    functionUses: 0
    functionsReached:
    - is_conf_file_fallback_allowed
    linkageType: ''
    returnType: MHD_FN_PAR_NONNULL_ALL_
    signature: "MHD_FN_PAR_NONNULL_ALL_ is_conf_fallback_allowed (const struct mhd_TlsOpenDaemonData
      *restrict d_tls,\n                          const struct DaemonOptions *restrict
      s)"
  - BBCount: 23
    BranchProfiles: []
    Callsites:
    - Dst: CONF_get1_default_config_file
      Src: /src/mhd2/src/mhd2/tls_open_funcs.c:520,1
    - Dst: mhd_DBG_PRINT_TLS_ERRS
      Src: /src/mhd2/src/mhd2/tls_open_funcs.c:524,1
    - Dst: is_conf_fallback_allowed
      Src: /src/mhd2/src/mhd2/tls_open_funcs.c:526,1
    - Dst: mhd_LOG_MSG
      Src: /src/mhd2/src/mhd2/tls_open_funcs.c:530,1
    - Dst: daemon_get_conf_file
      Src: /src/mhd2/src/mhd2/tls_open_funcs.c:537,1
    - Dst: mhd_DBG_PRINT_TLS_INFO_MSG
      Src: /src/mhd2/src/mhd2/tls_open_funcs.c:542,1
    - Dst: mhd_ASSUME
      Src: /src/mhd2/src/mhd2/tls_open_funcs.c:546,1
    - Dst: mhd_DBG_PRINT_TLS_INFO_PARAM1
      Src: /src/mhd2/src/mhd2/tls_open_funcs.c:547,1
    - Dst: OPENSSL_free
      Src: /src/mhd2/src/mhd2/tls_open_funcs.c:552,1
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/tls_open_funcs.c:565,1
    - Dst: NCONF_new_ex
      Src: /src/mhd2/src/mhd2/tls_open_funcs.c:574,1
    - Dst: mhd_DBG_PRINT_TLS_ERRS
      Src: /src/mhd2/src/mhd2/tls_open_funcs.c:578,1
    - Dst: is_conf_fallback_allowed
      Src: /src/mhd2/src/mhd2/tls_open_funcs.c:580,1
    - Dst: mhd_LOG_MSG
      Src: /src/mhd2/src/mhd2/tls_open_funcs.c:583,1
    - Dst: mhd_DBG_PRINT_TLS_INFO_PARAM1
      Src: /src/mhd2/src/mhd2/tls_open_funcs.c:590,1
    - Dst: NCONF_load
      Src: /src/mhd2/src/mhd2/tls_open_funcs.c:593,1
    - Dst: mhd_DBG_PRINT_TLS_ERRS
      Src: /src/mhd2/src/mhd2/tls_open_funcs.c:597,1
    - Dst: is_conf_file_fallback_allowed
      Src: /src/mhd2/src/mhd2/tls_open_funcs.c:600,1
    - Dst: is_conf_fallback_allowed
      Src: /src/mhd2/src/mhd2/tls_open_funcs.c:604,1
    - Dst: mhd_LOG_PRINT
      Src: /src/mhd2/src/mhd2/tls_open_funcs.c:608,1
    - Dst: mhd_LOG_FMT
      Src: /src/mhd2/src/mhd2/tls_open_funcs.c:610,1
    - Dst: strlen
      Src: /src/mhd2/src/mhd2/tls_open_funcs.c:630,1
    - Dst: mhd_ASSUME
      Src: /src/mhd2/src/mhd2/tls_open_funcs.c:633,1
    - Dst: mhd_str_to_lowercase_bin_n
      Src: /src/mhd2/src/mhd2/tls_open_funcs.c:635,1
    - Dst: mhd_ASSUME
      Src: /src/mhd2/src/mhd2/tls_open_funcs.c:639,1
    - Dst: daemon_load_conf_from_cfg
      Src: /src/mhd2/src/mhd2/tls_open_funcs.c:642,1
    - Dst: mhd_LIBCTX_FORBIDS_FALLBACKS
      Src: /src/mhd2/src/mhd2/tls_open_funcs.c:648,1
    - Dst: mhd_LIBCTX_FORBIDS_FALLBACKS
      Src: /src/mhd2/src/mhd2/tls_open_funcs.c:653,1
    - Dst: cfg_reset_and_reload
      Src: /src/mhd2/src/mhd2/tls_open_funcs.c:655,1
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/tls_open_funcs.c:667,1
    - Dst: daemon_load_conf_from_cfg
      Src: /src/mhd2/src/mhd2/tls_open_funcs.c:671,1
    - Dst: cfg_reset_and_reload
      Src: /src/mhd2/src/mhd2/tls_open_funcs.c:678,1
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/tls_open_funcs.c:689,1
    - Dst: daemon_load_conf_from_cfg
      Src: /src/mhd2/src/mhd2/tls_open_funcs.c:693,1
    - Dst: NCONF_free
      Src: /src/mhd2/src/mhd2/tls_open_funcs.c:705,1
    - Dst: OPENSSL_free
      Src: /src/mhd2/src/mhd2/tls_open_funcs.c:708,1
    CyclomaticComplexity: 29
    EdgeCount: 29
    ICount: 79
    argCount: 4
    argNames:
    - d
    - d_tls
    - s
    - use_custom_conf_pathname
    argTypes:
    - struct MHD_Daemon*
    - struct mhd_TlsOpenDaemonData*
    - struct DaemonOptions*
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 711
      start: 507
    functionDepth: 4
    functionLinenumber: 507
    functionLinenumberEnd: 711
    functionName: daemon_load_lib_conf
    functionSourceFile: /src/mhd2/src/mhd2/tls_open_funcs.c
    functionUses: 0
    functionsReached:
    - mhd_str_to_lowercase_bin_n
    - daemon_get_conf_file
    - daemon_load_conf_from_cfg
    - cfg_reset_and_reload
    - strlen
    - is_conf_fallback_allowed
    - NCONF_new_ex
    - mhd_ASSUME
    - mhd_LOG_PRINT
    - is_conf_file_fallback_allowed
    - NCONF_free
    - mhd_DBG_PRINT_TLS_ERRS
    - mhd_DBG_PRINT_TLS_INFO_MSG
    - mhd_LOG_MSG
    - mhd_DBG_PRINT_TLS_INFO_PARAM1
    - CONF_get1_default_config_file
    - NCONF_load
    - OPENSSL_free
    - mhd_LOG_FMT
    - mhd_LIBCTX_FORBIDS_FALLBACKS
    - mhd_assert
    linkageType: ''
    returnType: enum MHD_StatusCode
    signature: "enum MHD_StatusCode daemon_load_lib_conf (struct MHD_Daemon *restrict
      d,\n                      struct mhd_TlsOpenDaemonData *restrict d_tls,\n                      struct
      DaemonOptions *restrict s,\n                      bool use_custom_conf_pathname)"
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: create_lib_ctx
      Src: /src/mhd2/src/mhd2/tls_open_funcs.c:733,1
    - Dst: daemon_load_lib_conf
      Src: /src/mhd2/src/mhd2/tls_open_funcs.c:738,1
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/tls_open_funcs.c:753,1
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/tls_open_funcs.c:757,1
    - Dst: daemon_load_lib_conf
      Src: /src/mhd2/src/mhd2/tls_open_funcs.c:760,1
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/tls_open_funcs.c:778,1
    - Dst: OSSL_LIB_CTX_free
      Src: /src/mhd2/src/mhd2/tls_open_funcs.c:780,1
    - Dst: mhd_LOG_MSG
      Src: /src/mhd2/src/mhd2/tls_open_funcs.c:781,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 28
    argCount: 3
    argNames:
    - d
    - d_tls
    - s
    argTypes:
    - struct MHD_Daemon*
    - struct mhd_TlsOpenDaemonData*
    - struct DaemonOptions*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 784
      start: 722
    functionDepth: 5
    functionLinenumber: 722
    functionLinenumberEnd: 784
    functionName: daemon_init_lib_ctx
    functionSourceFile: /src/mhd2/src/mhd2/tls_open_funcs.c
    functionUses: 0
    functionsReached:
    - daemon_load_lib_conf
    - OSSL_LIB_CTX_free
    - mhd_LOG_MSG
    - create_lib_ctx
    - mhd_assert
    linkageType: ''
    returnType: MHD_FN_PAR_NONNULL_ALL_
    signature: "MHD_FN_PAR_NONNULL_ALL_ daemon_init_lib_ctx (struct MHD_Daemon *restrict
      d,\n                     struct mhd_TlsOpenDaemonData *restrict d_tls,\n                     struct
      DaemonOptions *restrict s)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/tls_open_funcs.c:794,1
    - Dst: OSSL_LIB_CTX_free
      Src: /src/mhd2/src/mhd2/tls_open_funcs.c:795,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - d_tls
    argTypes:
    - struct mhd_TlsOpenDaemonData*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 796
      start: 791
    functionDepth: 1
    functionLinenumber: 791
    functionLinenumberEnd: 796
    functionName: daemon_deinit_lib_ctx
    functionSourceFile: /src/mhd2/src/mhd2/tls_open_funcs.c
    functionUses: 0
    functionsReached:
    - mhd_assert
    - OSSL_LIB_CTX_free
    linkageType: ''
    returnType: MHD_FN_PAR_NONNULL_ALL_
    signature: MHD_FN_PAR_NONNULL_ALL_ daemon_deinit_lib_ctx (struct mhd_TlsOpenDaemonData
      *restrict d_tls)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 4
    argNames:
    - sess
    - out
    - outlen
    - cls
    argTypes:
    - SSL*
    - unsigned char**
    - unsigned int*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 852
      start: 840
    functionDepth: 0
    functionLinenumber: 840
    functionLinenumberEnd: 852
    functionName: get_npn_list
    functionSourceFile: /src/mhd2/src/mhd2/tls_open_funcs.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: "int get_npn_list (SSL *sess,\n              const unsigned char **out,\n
      \             unsigned int *outlen,\n              void *cls)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: SSL_select_next_proto
      Src: /src/mhd2/src/mhd2/tls_open_funcs.c:880,1
    - Dst: mhd_DROP_CONST
      Src: /src/mhd2/src/mhd2/tls_open_funcs.c:880,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 6
    argNames:
    - sess
    - out
    - outlen
    - in
    - inlen
    - cls
    argTypes:
    - SSL*
    - unsigned char**
    - unsigned char*
    - unsigned char*
    - unsigned int
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 889
      start: 868
    functionDepth: 1
    functionLinenumber: 868
    functionLinenumberEnd: 889
    functionName: select_alpn_prot
    functionSourceFile: /src/mhd2/src/mhd2/tls_open_funcs.c
    functionUses: 0
    functionsReached:
    - SSL_select_next_proto
    - mhd_DROP_CONST
    linkageType: ''
    returnType: int
    signature: "int select_alpn_prot (SSL *sess,\n                  const unsigned
      char **out,\n                  unsigned char *outlen,\n                  const
      unsigned char *in,\n                  unsigned int inlen,\n                  void
      *cls)"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/tls_open_funcs.c:912,1
    - Dst: ERR_clear_error
      Src: /src/mhd2/src/mhd2/tls_open_funcs.c:914,1
    - Dst: SSL_CTX_new_ex
      Src: /src/mhd2/src/mhd2/tls_open_funcs.c:916,1
    - Dst: TLS_server_method
      Src: /src/mhd2/src/mhd2/tls_open_funcs.c:918,1
    - Dst: mhd_DBG_PRINT_TLS_ERRS
      Src: /src/mhd2/src/mhd2/tls_open_funcs.c:921,1
    - Dst: mhd_LOG_MSG
      Src: /src/mhd2/src/mhd2/tls_open_funcs.c:922,1
    - Dst: SSL_CTX_set_options
      Src: /src/mhd2/src/mhd2/tls_open_funcs.c:951,1
    - Dst: SSL_CTX_set_default_passwd_cb
      Src: /src/mhd2/src/mhd2/tls_open_funcs.c:955,1
    - Dst: SSL_CTX_set_mode
      Src: /src/mhd2/src/mhd2/tls_open_funcs.c:962,1
    - Dst: SSL_CTX_clear_mode
      Src: /src/mhd2/src/mhd2/tls_open_funcs.c:965,1
    - Dst: SSL_CTX_set_read_ahead
      Src: /src/mhd2/src/mhd2/tls_open_funcs.c:969,1
    - Dst: mhd_UNREACHABLE
      Src: /src/mhd2/src/mhd2/tls_open_funcs.c:995,1
    - Dst: SSL_CTX_set_alpn_select_cb
      Src: /src/mhd2/src/mhd2/tls_open_funcs.c:997,1
    - Dst: SSL_CTX_set_next_protos_advertised_cb
      Src: /src/mhd2/src/mhd2/tls_open_funcs.c:1001,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 38
    argCount: 3
    argNames:
    - d
    - d_tls
    - s
    argTypes:
    - struct MHD_Daemon*
    - struct mhd_TlsOpenDaemonData*
    - struct DaemonOptions*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1007
      start: 900
    functionDepth: 1
    functionLinenumber: 900
    functionLinenumberEnd: 1007
    functionName: daemon_init_ctx
    functionSourceFile: /src/mhd2/src/mhd2/tls_open_funcs.c
    functionUses: 0
    functionsReached:
    - SSL_CTX_clear_mode
    - SSL_CTX_set_next_protos_advertised_cb
    - SSL_CTX_set_read_ahead
    - SSL_CTX_new_ex
    - mhd_LOG_MSG
    - SSL_CTX_set_default_passwd_cb
    - ERR_clear_error
    - mhd_UNREACHABLE
    - mhd_DBG_PRINT_TLS_ERRS
    - SSL_CTX_set_alpn_select_cb
    - SSL_CTX_set_mode
    - mhd_assert
    - SSL_CTX_set_options
    - TLS_server_method
    linkageType: ''
    returnType: MHD_FN_PAR_NONNULL_ALL_
    signature: "MHD_FN_PAR_NONNULL_ALL_ daemon_init_ctx (struct MHD_Daemon *restrict
      d,\n                 struct mhd_TlsOpenDaemonData *restrict d_tls,\n                 struct
      DaemonOptions *restrict s)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/tls_open_funcs.c:1017,1
    - Dst: SSL_CTX_free
      Src: /src/mhd2/src/mhd2/tls_open_funcs.c:1018,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - d_tls
    argTypes:
    - struct mhd_TlsOpenDaemonData*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1019
      start: 1014
    functionDepth: 1
    functionLinenumber: 1014
    functionLinenumberEnd: 1019
    functionName: daemon_deinit_ctx
    functionSourceFile: /src/mhd2/src/mhd2/tls_open_funcs.c
    functionUses: 0
    functionsReached:
    - SSL_CTX_free
    - mhd_assert
    linkageType: ''
    returnType: MHD_FN_PAR_NONNULL_ALL_
    signature: MHD_FN_PAR_NONNULL_ALL_ daemon_deinit_ctx (struct mhd_TlsOpenDaemonData
      *restrict d_tls)
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: X509_new_ex
      Src: /src/mhd2/src/mhd2/tls_open_funcs.c:1042,1
    - Dst: mhd_DBG_PRINT_TLS_ERRS
      Src: /src/mhd2/src/mhd2/tls_open_funcs.c:1046,1
    - Dst: mhd_LOG_MSG
      Src: /src/mhd2/src/mhd2/tls_open_funcs.c:1047,1
    - Dst: PEM_read_bio_X509_AUX
      Src: /src/mhd2/src/mhd2/tls_open_funcs.c:1052,1
    - Dst: mhd_DBG_PRINT_TLS_ERRS
      Src: /src/mhd2/src/mhd2/tls_open_funcs.c:1057,1
    - Dst: mhd_LOG_MSG
      Src: /src/mhd2/src/mhd2/tls_open_funcs.c:1058,1
    - Dst: SSL_CTX_use_certificate
      Src: /src/mhd2/src/mhd2/tls_open_funcs.c:1064,1
    - Dst: mhd_DBG_PRINT_TLS_ERRS
      Src: /src/mhd2/src/mhd2/tls_open_funcs.c:1067,1
    - Dst: mhd_LOG_MSG
      Src: /src/mhd2/src/mhd2/tls_open_funcs.c:1068,1
    - Dst: ERR_peek_error
      Src: /src/mhd2/src/mhd2/tls_open_funcs.c:1074,1
    - Dst: mhd_DBG_PRINT_TLS_ERRS
      Src: /src/mhd2/src/mhd2/tls_open_funcs.c:1075,1
    - Dst: X509_free
      Src: /src/mhd2/src/mhd2/tls_open_funcs.c:1079,1
    - Dst: X509_new_ex
      Src: /src/mhd2/src/mhd2/tls_open_funcs.c:1086,1
    - Dst: mhd_DBG_PRINT_TLS_ERRS
      Src: /src/mhd2/src/mhd2/tls_open_funcs.c:1090,1
    - Dst: mhd_LOG_MSG
      Src: /src/mhd2/src/mhd2/tls_open_funcs.c:1091,1
    - Dst: PEM_read_bio_X509
      Src: /src/mhd2/src/mhd2/tls_open_funcs.c:1095,1
    - Dst: ERR_peek_last_error
      Src: /src/mhd2/src/mhd2/tls_open_funcs.c:1101,1
    - Dst: ERR_GET_LIB
      Src: /src/mhd2/src/mhd2/tls_open_funcs.c:1105,1
    - Dst: ERR_GET_REASON
      Src: /src/mhd2/src/mhd2/tls_open_funcs.c:1106,1
    - Dst: ERR_clear_error
      Src: /src/mhd2/src/mhd2/tls_open_funcs.c:1109,1
    - Dst: X509_free
      Src: /src/mhd2/src/mhd2/tls_open_funcs.c:1110,1
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/tls_open_funcs.c:1112,1
    - Dst: mhd_LOG_MSG
      Src: /src/mhd2/src/mhd2/tls_open_funcs.c:1119,1
    - Dst: SSL_CTX_add0_chain_cert
      Src: /src/mhd2/src/mhd2/tls_open_funcs.c:1126,1
    - Dst: mhd_DBG_PRINT_TLS_ERRS
      Src: /src/mhd2/src/mhd2/tls_open_funcs.c:1135,1
    - Dst: mhd_LOG_MSG
      Src: /src/mhd2/src/mhd2/tls_open_funcs.c:1136,1
    - Dst: X509_free
      Src: /src/mhd2/src/mhd2/tls_open_funcs.c:1142,1
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/tls_open_funcs.c:1143,1
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/tls_open_funcs.c:1145,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 54
    argCount: 3
    argNames:
    - d
    - d_tls
    - bio
    argTypes:
    - struct MHD_Daemon*
    - struct mhd_TlsOpenDaemonData*
    - BIO*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1147
      start: 1030
    functionDepth: 1
    functionLinenumber: 1030
    functionLinenumberEnd: 1147
    functionName: daemon_load_certs_chain_obio
    functionSourceFile: /src/mhd2/src/mhd2/tls_open_funcs.c
    functionUses: 0
    functionsReached:
    - PEM_read_bio_X509
    - ERR_peek_last_error
    - X509_free
    - ERR_peek_error
    - mhd_LOG_MSG
    - SSL_CTX_add0_chain_cert
    - PEM_read_bio_X509_AUX
    - ERR_clear_error
    - ERR_GET_LIB
    - SSL_CTX_use_certificate
    - X509_new_ex
    - mhd_DBG_PRINT_TLS_ERRS
    - mhd_assert
    - ERR_GET_REASON
    linkageType: ''
    returnType: MHD_FN_PAR_NONNULL_ALL_
    signature: "MHD_FN_PAR_NONNULL_ALL_ daemon_load_certs_chain_obio (struct MHD_Daemon
      *restrict d,\n                              struct mhd_TlsOpenDaemonData *restrict
      d_tls,\n                              BIO *restrict bio)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/tls_open_funcs.c:1166,1
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/tls_open_funcs.c:1167,1
    - Dst: ERR_clear_error
      Src: /src/mhd2/src/mhd2/tls_open_funcs.c:1169,1
    - Dst: BIO_new_mem_buf
      Src: /src/mhd2/src/mhd2/tls_open_funcs.c:1171,1
    - Dst: mhd_DBG_PRINT_TLS_ERRS
      Src: /src/mhd2/src/mhd2/tls_open_funcs.c:1175,1
    - Dst: daemon_load_certs_chain_obio
      Src: /src/mhd2/src/mhd2/tls_open_funcs.c:1178,1
    - Dst: BIO_free
      Src: /src/mhd2/src/mhd2/tls_open_funcs.c:1181,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 12
    argCount: 3
    argNames:
    - d
    - d_tls
    - s
    argTypes:
    - struct MHD_Daemon*
    - struct mhd_TlsOpenDaemonData*
    - struct DaemonOptions*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1183
      start: 1158
    functionDepth: 2
    functionLinenumber: 1158
    functionLinenumberEnd: 1183
    functionName: daemon_load_certs_chain
    functionSourceFile: /src/mhd2/src/mhd2/tls_open_funcs.c
    functionUses: 0
    functionsReached:
    - daemon_load_certs_chain_obio
    - BIO_free
    - ERR_clear_error
    - BIO_new_mem_buf
    - mhd_DBG_PRINT_TLS_ERRS
    - mhd_assert
    linkageType: ''
    returnType: MHD_FN_PAR_NONNULL_ALL_
    signature: "MHD_FN_PAR_NONNULL_ALL_ daemon_load_certs_chain (struct MHD_Daemon
      *restrict d,\n                         struct mhd_TlsOpenDaemonData *restrict
      d_tls,\n                         struct DaemonOptions *restrict s)"
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/tls_open_funcs.c:1206,1
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/tls_open_funcs.c:1207,1
    - Dst: ERR_clear_error
      Src: /src/mhd2/src/mhd2/tls_open_funcs.c:1209,1
    - Dst: daemon_load_certs_chain
      Src: /src/mhd2/src/mhd2/tls_open_funcs.c:1211,1
    - Dst: SSL_CTX_build_cert_chain
      Src: /src/mhd2/src/mhd2/tls_open_funcs.c:1220,1
    - Dst: mhd_DBG_PRINT_TLS_ERRS
      Src: /src/mhd2/src/mhd2/tls_open_funcs.c:1229,1
    - Dst: mhd_LOG_MSG
      Src: /src/mhd2/src/mhd2/tls_open_funcs.c:1230,1
    - Dst: mhd_DBG_PRINT_TLS_ERRS
      Src: /src/mhd2/src/mhd2/tls_open_funcs.c:1235,1
    - Dst: BIO_new_mem_buf
      Src: /src/mhd2/src/mhd2/tls_open_funcs.c:1237,1
    - Dst: mhd_DBG_PRINT_TLS_ERRS
      Src: /src/mhd2/src/mhd2/tls_open_funcs.c:1241,1
    - Dst: PEM_read_bio_PrivateKey_ex
      Src: /src/mhd2/src/mhd2/tls_open_funcs.c:1245,1
    - Dst: mhd_DROP_CONST
      Src: /src/mhd2/src/mhd2/tls_open_funcs.c:1249,1
    - Dst: BIO_free
      Src: /src/mhd2/src/mhd2/tls_open_funcs.c:1252,1
    - Dst: mhd_DBG_PRINT_TLS_ERRS
      Src: /src/mhd2/src/mhd2/tls_open_funcs.c:1255,1
    - Dst: mhd_LOG_MSG
      Src: /src/mhd2/src/mhd2/tls_open_funcs.c:1256,1
    - Dst: SSL_CTX_use_PrivateKey
      Src: /src/mhd2/src/mhd2/tls_open_funcs.c:1261,1
    - Dst: EVP_PKEY_free
      Src: /src/mhd2/src/mhd2/tls_open_funcs.c:1263,1
    - Dst: mhd_DBG_PRINT_TLS_ERRS
      Src: /src/mhd2/src/mhd2/tls_open_funcs.c:1266,1
    - Dst: mhd_LOG_MSG
      Src: /src/mhd2/src/mhd2/tls_open_funcs.c:1267,1
    - Dst: SSL_CTX_check_private_key
      Src: /src/mhd2/src/mhd2/tls_open_funcs.c:1274,1
    - Dst: mhd_DBG_PRINT_TLS_ERRS
      Src: /src/mhd2/src/mhd2/tls_open_funcs.c:1276,1
    - Dst: mhd_LOG_MSG
      Src: /src/mhd2/src/mhd2/tls_open_funcs.c:1277,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 40
    argCount: 3
    argNames:
    - d
    - d_tls
    - s
    argTypes:
    - struct MHD_Daemon*
    - struct mhd_TlsOpenDaemonData*
    - struct DaemonOptions*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1283
      start: 1195
    functionDepth: 3
    functionLinenumber: 1195
    functionLinenumberEnd: 1283
    functionName: daemon_init_cert
    functionSourceFile: /src/mhd2/src/mhd2/tls_open_funcs.c
    functionUses: 0
    functionsReached:
    - PEM_read_bio_PrivateKey_ex
    - EVP_PKEY_free
    - SSL_CTX_use_PrivateKey
    - BIO_free
    - mhd_LOG_MSG
    - SSL_CTX_build_cert_chain
    - ERR_clear_error
    - BIO_new_mem_buf
    - mhd_DBG_PRINT_TLS_ERRS
    - daemon_load_certs_chain
    - mhd_assert
    - mhd_DROP_CONST
    - SSL_CTX_check_private_key
    linkageType: ''
    returnType: MHD_FN_PAR_NONNULL_ALL_
    signature: "MHD_FN_PAR_NONNULL_ALL_ daemon_init_cert (struct MHD_Daemon *restrict
      d,\n                  struct mhd_TlsOpenDaemonData *restrict d_tls,\n                  struct
      DaemonOptions *restrict s)"
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/tls_open_funcs.c:1297,1
    - Dst: check_app_tls_settings
      Src: /src/mhd2/src/mhd2/tls_open_funcs.c:1299,1
    - Dst: mhd_calloc
      Src: /src/mhd2/src/mhd2/tls_open_funcs.c:1304,1
    - Dst: daemon_init_lib_ctx
      Src: /src/mhd2/src/mhd2/tls_open_funcs.c:1309,1
    - Dst: daemon_init_ctx
      Src: /src/mhd2/src/mhd2/tls_open_funcs.c:1314,1
    - Dst: daemon_init_cert
      Src: /src/mhd2/src/mhd2/tls_open_funcs.c:1319,1
    - Dst: daemon_deinit_ctx
      Src: /src/mhd2/src/mhd2/tls_open_funcs.c:1326,1
    - Dst: daemon_deinit_lib_ctx
      Src: /src/mhd2/src/mhd2/tls_open_funcs.c:1328,1
    - Dst: free
      Src: /src/mhd2/src/mhd2/tls_open_funcs.c:1330,1
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/tls_open_funcs.c:1332,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 24
    argCount: 4
    argNames:
    - d
    - sk_edge_trigg
    - s
    - p_d_tls
    argTypes:
    - struct MHD_Daemon*
    - bool
    - struct DaemonOptions*
    - struct mhd_TlsOpenDaemonData**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1334
      start: 1286
    functionDepth: 6
    functionLinenumber: 1286
    functionLinenumberEnd: 1334
    functionName: mhd_tls_open_daemon_init
    functionSourceFile: /src/mhd2/src/mhd2/tls_open_funcs.c
    functionUses: 0
    functionsReached:
    - daemon_init_cert
    - daemon_init_lib_ctx
    - daemon_deinit_lib_ctx
    - daemon_init_ctx
    - free
    - mhd_calloc
    - daemon_deinit_ctx
    - check_app_tls_settings
    - mhd_assert
    linkageType: ''
    returnType: MHD_INTERNAL
    signature: "MHD_INTERNAL mhd_tls_open_daemon_init (struct MHD_Daemon *restrict
      d,\n                          bool sk_edge_trigg,\n                          struct
      DaemonOptions *restrict s,\n                          struct mhd_TlsOpenDaemonData
      **restrict p_d_tls)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/tls_open_funcs.c:1341,1
    - Dst: daemon_deinit_ctx
      Src: /src/mhd2/src/mhd2/tls_open_funcs.c:1342,1
    - Dst: daemon_deinit_lib_ctx
      Src: /src/mhd2/src/mhd2/tls_open_funcs.c:1343,1
    - Dst: free
      Src: /src/mhd2/src/mhd2/tls_open_funcs.c:1344,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 1
    argNames:
    - d_tls
    argTypes:
    - struct mhd_TlsOpenDaemonData*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1345
      start: 1338
    functionDepth: 2
    functionLinenumber: 1338
    functionLinenumberEnd: 1345
    functionName: mhd_tls_open_daemon_deinit
    functionSourceFile: /src/mhd2/src/mhd2/tls_open_funcs.c
    functionUses: 0
    functionsReached:
    - free
    - daemon_deinit_lib_ctx
    - mhd_assert
    - daemon_deinit_ctx
    linkageType: ''
    returnType: void
    signature: void mhd_tls_open_daemon_deinit (struct mhd_TlsOpenDaemonData *restrict
      d_tls)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: OPENSSL_thread_stop_ex
      Src: /src/mhd2/src/mhd2/tls_open_funcs.c:1352,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - d_tls
    argTypes:
    - struct mhd_TlsOpenDaemonData*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1353
      start: 1349
    functionDepth: 0
    functionLinenumber: 1349
    functionLinenumberEnd: 1353
    functionName: mhd_tls_open_thread_cleanup
    functionSourceFile: /src/mhd2/src/mhd2/tls_open_funcs.c
    functionUses: 0
    functionsReached:
    - OPENSSL_thread_stop_ex
    linkageType: ''
    returnType: void
    signature: void mhd_tls_open_thread_cleanup (struct mhd_TlsOpenDaemonData *restrict
      d_tls)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1362
      start: 1358
    functionDepth: 0
    functionLinenumber: 1358
    functionLinenumberEnd: 1362
    functionName: mhd_tls_open_conn_get_tls_size_v
    functionSourceFile: /src/mhd2/src/mhd2/tls_open_funcs.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: MHD_INTERNAL
    signature: MHD_INTERNAL mhd_tls_open_conn_get_tls_size_v (void)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: ERR_clear_error
      Src: /src/mhd2/src/mhd2/tls_open_funcs.c:1373,1
    - Dst: SSL_new
      Src: /src/mhd2/src/mhd2/tls_open_funcs.c:1379,1
    - Dst: mhd_DBG_PRINT_TLS_ERRS
      Src: /src/mhd2/src/mhd2/tls_open_funcs.c:1383,1
    - Dst: SSL_set_fd
      Src: /src/mhd2/src/mhd2/tls_open_funcs.c:1387,1
    - Dst: SSL_set_accept_state
      Src: /src/mhd2/src/mhd2/tls_open_funcs.c:1389,1
    - Dst: SSL_free
      Src: /src/mhd2/src/mhd2/tls_open_funcs.c:1397,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 18
    argCount: 3
    argNames:
    - d_tls
    - sk
    - c_tls
    argTypes:
    - struct mhd_TlsOpenDaemonData*
    - struct mhd_ConnSocket*
    - struct mhd_TlsOpenConnData*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1400
      start: 1365
    functionDepth: 0
    functionLinenumber: 1365
    functionLinenumberEnd: 1400
    functionName: mhd_tls_open_conn_init
    functionSourceFile: /src/mhd2/src/mhd2/tls_open_funcs.c
    functionUses: 0
    functionsReached:
    - SSL_new
    - SSL_set_fd
    - ERR_clear_error
    - SSL_free
    - SSL_set_accept_state
    - mhd_DBG_PRINT_TLS_ERRS
    linkageType: ''
    returnType: MHD_INTERNAL
    signature: "MHD_INTERNAL mhd_tls_open_conn_init (const struct mhd_TlsOpenDaemonData
      *restrict d_tls,\n                        const struct mhd_ConnSocket *sk,\n
      \                       struct mhd_TlsOpenConnData *restrict c_tls)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/tls_open_funcs.c:1406,1
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/tls_open_funcs.c:1407,1
    - Dst: SSL_free
      Src: /src/mhd2/src/mhd2/tls_open_funcs.c:1408,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - c_tls
    argTypes:
    - struct mhd_TlsOpenConnData*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1409
      start: 1403
    functionDepth: 1
    functionLinenumber: 1403
    functionLinenumberEnd: 1409
    functionName: mhd_tls_open_conn_deinit
    functionSourceFile: /src/mhd2/src/mhd2/tls_open_funcs.c
    functionUses: 0
    functionsReached:
    - mhd_assert
    - SSL_free
    linkageType: ''
    returnType: MHD_INTERNAL
    signature: MHD_INTERNAL mhd_tls_open_conn_deinit (struct mhd_TlsOpenConnData *restrict
      c_tls)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/tls_open_funcs.c:1420,1
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/tls_open_funcs.c:1421,1
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/tls_open_funcs.c:1422,1
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/tls_open_funcs.c:1423,1
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/tls_open_funcs.c:1424,1
    - Dst: ERR_clear_error
      Src: /src/mhd2/src/mhd2/tls_open_funcs.c:1426,1
    - Dst: SSL_do_handshake
      Src: /src/mhd2/src/mhd2/tls_open_funcs.c:1428,1
    - Dst: SSL_get_error
      Src: /src/mhd2/src/mhd2/tls_open_funcs.c:1438,1
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/tls_open_funcs.c:1469,1
    - Dst: mhd_UNREACHABLE
      Src: /src/mhd2/src/mhd2/tls_open_funcs.c:1470,1
    - Dst: mhd_DBG_PRINT_TLS_ERRS
      Src: /src/mhd2/src/mhd2/tls_open_funcs.c:1475,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 27
    argCount: 1
    argNames:
    - c_tls
    argTypes:
    - struct mhd_TlsOpenConnData*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1480
      start: 1415
    functionDepth: 1
    functionLinenumber: 1415
    functionLinenumberEnd: 1480
    functionName: mhd_tls_open_conn_handshake
    functionSourceFile: /src/mhd2/src/mhd2/tls_open_funcs.c
    functionUses: 0
    functionsReached:
    - SSL_get_error
    - ERR_clear_error
    - mhd_UNREACHABLE
    - SSL_do_handshake
    - mhd_DBG_PRINT_TLS_ERRS
    - mhd_assert
    linkageType: ''
    returnType: enum mhd_TlsProcedureResult
    signature: enum mhd_TlsProcedureResult mhd_tls_open_conn_handshake (struct mhd_TlsOpenConnData
      *restrict c_tls)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/tls_open_funcs.c:1489,1
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/tls_open_funcs.c:1490,1
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/tls_open_funcs.c:1491,1
    - Dst: ERR_clear_error
      Src: /src/mhd2/src/mhd2/tls_open_funcs.c:1493,1
    - Dst: SSL_shutdown
      Src: /src/mhd2/src/mhd2/tls_open_funcs.c:1495,1
    - Dst: SSL_get_error
      Src: /src/mhd2/src/mhd2/tls_open_funcs.c:1514,1
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/tls_open_funcs.c:1546,1
    - Dst: mhd_DBG_PRINT_TLS_ERRS
      Src: /src/mhd2/src/mhd2/tls_open_funcs.c:1552,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 27
    argCount: 1
    argNames:
    - c_tls
    argTypes:
    - struct mhd_TlsOpenConnData*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1557
      start: 1484
    functionDepth: 1
    functionLinenumber: 1484
    functionLinenumberEnd: 1557
    functionName: mhd_tls_open_conn_shutdown
    functionSourceFile: /src/mhd2/src/mhd2/tls_open_funcs.c
    functionUses: 0
    functionsReached:
    - SSL_get_error
    - ERR_clear_error
    - SSL_shutdown
    - mhd_DBG_PRINT_TLS_ERRS
    - mhd_assert
    linkageType: ''
    returnType: enum mhd_TlsProcedureResult
    signature: enum mhd_TlsProcedureResult mhd_tls_open_conn_shutdown (struct mhd_TlsOpenConnData
      *restrict c_tls)
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: MHD_FN_PAR_DYN_ARR_SIZE_
      Src: /src/mhd2/src/mhd2/tls_open_funcs.c:1567,1
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/tls_open_funcs.c:1572,1
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/tls_open_funcs.c:1573,1
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/tls_open_funcs.c:1574,1
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/tls_open_funcs.c:1575,1
    - Dst: ERR_clear_error
      Src: /src/mhd2/src/mhd2/tls_open_funcs.c:1577,1
    - Dst: SSL_read_ex
      Src: /src/mhd2/src/mhd2/tls_open_funcs.c:1579,1
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/tls_open_funcs.c:1585,1
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/tls_open_funcs.c:1589,1
    - Dst: SSL_get_error
      Src: /src/mhd2/src/mhd2/tls_open_funcs.c:1591,1
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/tls_open_funcs.c:1611,1
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/tls_open_funcs.c:1614,1
    - Dst: mhd_DBG_PRINT_TLS_ERRS
      Src: /src/mhd2/src/mhd2/tls_open_funcs.c:1617,1
    - Dst: mhd_DBG_PRINT_TLS_ERRS
      Src: /src/mhd2/src/mhd2/tls_open_funcs.c:1627,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 36
    argCount: 4
    argNames:
    - c_tls
    - buf_size
    - buf
    - received
    argTypes:
    - struct mhd_TlsOpenConnData*
    - size_t
    - char[]
    - size_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1632
      start: 1564
    functionDepth: 1
    functionLinenumber: 1564
    functionLinenumberEnd: 1632
    functionName: mhd_tls_open_conn_recv
    functionSourceFile: /src/mhd2/src/mhd2/tls_open_funcs.c
    functionUses: 0
    functionsReached:
    - SSL_get_error
    - ERR_clear_error
    - MHD_FN_PAR_DYN_ARR_SIZE_
    - mhd_DBG_PRINT_TLS_ERRS
    - mhd_assert
    - SSL_read_ex
    linkageType: ''
    returnType: enum mhd_SocketError
    signature: "enum mhd_SocketError mhd_tls_open_conn_recv (struct mhd_TlsOpenConnData
      *restrict c_tls,\n                        size_t buf_size,\n                        char
      buf[MHD_FN_PAR_DYN_ARR_SIZE_ (buf_size)],\n                        size_t *restrict
      received)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: SSL_pending
      Src: /src/mhd2/src/mhd2/tls_open_funcs.c:1638,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - c_tls
    argTypes:
    - struct mhd_TlsOpenConnData*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1639
      start: 1635
    functionDepth: 0
    functionLinenumber: 1635
    functionLinenumberEnd: 1639
    functionName: mhd_tls_open_conn_has_data_in
    functionSourceFile: /src/mhd2/src/mhd2/tls_open_funcs.c
    functionUses: 0
    functionsReached:
    - SSL_pending
    linkageType: ''
    returnType: MHD_INTERNAL
    signature: MHD_INTERNAL mhd_tls_open_conn_has_data_in (struct mhd_TlsOpenConnData
      *restrict c_tls)
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: MHD_FN_PAR_DYN_ARR_SIZE_
      Src: /src/mhd2/src/mhd2/tls_open_funcs.c:1647,1
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/tls_open_funcs.c:1652,1
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/tls_open_funcs.c:1653,1
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/tls_open_funcs.c:1654,1
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/tls_open_funcs.c:1655,1
    - Dst: ERR_clear_error
      Src: /src/mhd2/src/mhd2/tls_open_funcs.c:1657,1
    - Dst: SSL_write_ex
      Src: /src/mhd2/src/mhd2/tls_open_funcs.c:1659,1
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/tls_open_funcs.c:1665,1
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/tls_open_funcs.c:1669,1
    - Dst: SSL_get_error
      Src: /src/mhd2/src/mhd2/tls_open_funcs.c:1671,1
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/tls_open_funcs.c:1688,1
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/tls_open_funcs.c:1691,1
    - Dst: mhd_DBG_PRINT_TLS_ERRS
      Src: /src/mhd2/src/mhd2/tls_open_funcs.c:1697,1
    - Dst: mhd_DBG_PRINT_TLS_ERRS
      Src: /src/mhd2/src/mhd2/tls_open_funcs.c:1707,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 36
    argCount: 4
    argNames:
    - c_tls
    - buf_size
    - buf
    - sent
    argTypes:
    - struct mhd_TlsOpenConnData*
    - size_t
    - char[]
    - size_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1712
      start: 1644
    functionDepth: 1
    functionLinenumber: 1644
    functionLinenumberEnd: 1712
    functionName: mhd_tls_open_conn_send4
    functionSourceFile: /src/mhd2/src/mhd2/tls_open_funcs.c
    functionUses: 0
    functionsReached:
    - SSL_write_ex
    - SSL_get_error
    - ERR_clear_error
    - MHD_FN_PAR_DYN_ARR_SIZE_
    - mhd_DBG_PRINT_TLS_ERRS
    - mhd_assert
    linkageType: ''
    returnType: enum mhd_SocketError
    signature: "enum mhd_SocketError mhd_tls_open_conn_send4 (struct mhd_TlsOpenConnData
      *restrict c_tls,\n                         size_t buf_size,\n                         const
      char buf[MHD_FN_PAR_DYN_ARR_SIZE_ (buf_size)],\n                         size_t
      *restrict sent)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - c_tls
    - tls_sess_out
    argTypes:
    - struct mhd_TlsOpenConnData*
    - union MHD_ConnInfoDynamicTlsSess*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1724
      start: 1718
    functionDepth: 0
    functionLinenumber: 1718
    functionLinenumberEnd: 1724
    functionName: mhd_tls_open_conn_get_tls_sess
    functionSourceFile: /src/mhd2/src/mhd2/tls_open_funcs.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: "void mhd_tls_open_conn_get_tls_sess (\n  struct mhd_TlsOpenConnData
      *restrict c_tls,\n  union MHD_ConnInfoDynamicTlsSess *restrict tls_sess_out)"
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/tls_open_funcs.c:1734,1
    - Dst: SSL_version
      Src: /src/mhd2/src/mhd2/tls_open_funcs.c:1736,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 22
    argCount: 2
    argNames:
    - c_tls
    - tls_ver_out
    argTypes:
    - struct mhd_TlsOpenConnData*
    - struct mhd_StctTlsVersion*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1758
      start: 1728
    functionDepth: 1
    functionLinenumber: 1728
    functionLinenumberEnd: 1758
    functionName: mhd_tls_open_conn_get_tls_ver
    functionSourceFile: /src/mhd2/src/mhd2/tls_open_funcs.c
    functionUses: 0
    functionsReached:
    - mhd_assert
    - SSL_version
    linkageType: ''
    returnType: bool
    signature: "bool mhd_tls_open_conn_get_tls_ver (struct mhd_TlsOpenConnData *restrict
      c_tls,\n                               struct mhd_StctTlsVersion *restrict tls_ver_out)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: SSL_get0_alpn_selected
      Src: /src/mhd2/src/mhd2/tls_open_funcs.c:1767,1
    - Dst: SSL_get0_next_proto_negotiated
      Src: /src/mhd2/src/mhd2/tls_open_funcs.c:1775,1
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/tls_open_funcs.c:1781,1
    - Dst: mhd_tls_alpn_decode_n
      Src: /src/mhd2/src/mhd2/tls_open_funcs.c:1783,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 1
    argNames:
    - c_tls
    argTypes:
    - struct mhd_TlsOpenConnData*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1785
      start: 1761
    functionDepth: 1
    functionLinenumber: 1761
    functionLinenumberEnd: 1785
    functionName: mhd_tls_open_conn_get_alpn_prot
    functionSourceFile: /src/mhd2/src/mhd2/tls_open_funcs.c
    functionUses: 0
    functionsReached:
    - SSL_get0_next_proto_negotiated
    - mhd_tls_alpn_decode_n
    - mhd_assert
    - SSL_get0_alpn_selected
    linkageType: ''
    returnType: MHD_INTERNAL
    signature: MHD_INTERNAL mhd_tls_open_conn_get_alpn_prot (struct mhd_TlsOpenConnData
      *restrict c_tls)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - resp
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 419
      start: 417
    functionDepth: 0
    functionLinenumber: 417
    functionLinenumberEnd: 419
    functionName: mhd_RESP_HAS_AUTH_DIGEST
    functionSourceFile: /src/mhd2/src/mhd2/mhd_response.h
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: mhd_RESP_HAS_AUTH_DIGEST(resp)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - resp
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 421
      start: 420
    functionDepth: 0
    functionLinenumber: 420
    functionLinenumberEnd: 421
    functionName: mhd_RESP_HAS_AUTH_DIGEST
    functionSourceFile: /src/mhd2/src/mhd2/mhd_response.h
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: mhd_RESP_HAS_AUTH_DIGEST(resp)
  - BBCount: 46
    BranchProfiles: []
    Callsites:
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/daemon_get_info.c:74,1
    - Dst: mhd_D_HAS_MASTER
      Src: /src/mhd2/src/mhd2/daemon_get_info.c:74,1
    - Dst: mhd_WM_INT_HAS_EXT_EVENTS
      Src: /src/mhd2/src/mhd2/daemon_get_info.c:83,1
    - Dst: mhd_WM_INT_HAS_THREADS
      Src: /src/mhd2/src/mhd2/daemon_get_info.c:92,1
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/daemon_get_info.c:102,1
    - Dst: mhd_D_IS_USING_EPOLL
      Src: /src/mhd2/src/mhd2/daemon_get_info.c:141,1
    - Dst: mhd_D_HAS_TLS
      Src: /src/mhd2/src/mhd2/daemon_get_info.c:154,1
    - Dst: mhd_UNREACHABLE
      Src: /src/mhd2/src/mhd2/daemon_get_info.c:159,1
    - Dst: mhd_UNREACHABLE
      Src: /src/mhd2/src/mhd2/daemon_get_info.c:180,1
    CyclomaticComplexity: 35
    EdgeCount: 35
    ICount: 122
    argCount: 4
    argNames:
    - MHD_RESTRICT
    - info_type
    - MHD_RESTRICT
    - output_buf_size
    argTypes:
    - struct MHD_Daemon*
    - enum MHD_DaemonInfoFixedType
    - union MHD_DaemonInfoFixedData*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 237
      start: 67
    functionDepth: 1
    functionLinenumber: 67
    functionLinenumberEnd: 237
    functionName: MHD_daemon_get_info_fixed_sz
    functionSourceFile: /src/mhd2/src/mhd2/daemon_get_info.c
    functionUses: 0
    functionsReached:
    - mhd_WM_INT_HAS_EXT_EVENTS
    - mhd_UNREACHABLE
    - mhd_D_HAS_MASTER
    - mhd_WM_INT_HAS_THREADS
    - mhd_D_HAS_TLS
    - mhd_assert
    - mhd_D_IS_USING_EPOLL
    linkageType: ''
    returnType: enum MHD_StatusCode
    signature: "enum MHD_StatusCode MHD_daemon_get_info_fixed_sz (\n  struct MHD_Daemon
      *MHD_RESTRICT daemon,\n  enum MHD_DaemonInfoFixedType info_type,\n  union MHD_DaemonInfoFixedData
      *MHD_RESTRICT output_buf,\n  size_t output_buf_size)"
  - BBCount: 12
    BranchProfiles: []
    Callsites:
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/daemon_get_info.c:249,1
    - Dst: mhd_D_HAS_MASTER
      Src: /src/mhd2/src/mhd2/daemon_get_info.c:249,1
    - Dst: mhd_WM_INT_HAS_THREADS
      Src: /src/mhd2/src/mhd2/daemon_get_info.c:258,1
    - Dst: mhd_daemon_get_wait_max
      Src: /src/mhd2/src/mhd2/daemon_get_info.c:262,1
    - Dst: mhd_D_HAS_WORKERS
      Src: /src/mhd2/src/mhd2/daemon_get_info.c:274,1
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/daemon_get_info.c:281,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 37
    argCount: 4
    argNames:
    - MHD_RESTRICT
    - info_type
    - MHD_RESTRICT
    - output_buf_size
    argTypes:
    - struct MHD_Daemon*
    - enum MHD_DaemonInfoDynamicType
    - union MHD_DaemonInfoDynamicData*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 303
      start: 242
    functionDepth: 1
    functionLinenumber: 242
    functionLinenumberEnd: 303
    functionName: MHD_daemon_get_info_dynamic_sz
    functionSourceFile: /src/mhd2/src/mhd2/daemon_get_info.c
    functionUses: 0
    functionsReached:
    - mhd_D_HAS_WORKERS
    - mhd_D_HAS_MASTER
    - mhd_WM_INT_HAS_THREADS
    - mhd_daemon_get_wait_max
    - mhd_assert
    linkageType: ''
    returnType: enum MHD_StatusCode
    signature: "enum MHD_StatusCode MHD_daemon_get_info_dynamic_sz (\n  struct MHD_Daemon
      *MHD_RESTRICT daemon,\n  enum MHD_DaemonInfoDynamicType info_type,\n  union
      MHD_DaemonInfoDynamicData *MHD_RESTRICT output_buf,\n  size_t output_buf_size)"
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/request_get_value.c:76,1
    - Dst: strlen
      Src: /src/mhd2/src/mhd2/request_get_value.c:76,1
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/request_get_value.c:80,1
    - Dst: strlen
      Src: /src/mhd2/src/mhd2/request_get_value.c:80,1
    - Dst: mhd_REQ_IS_HTTP2
      Src: /src/mhd2/src/mhd2/request_get_value.c:83,1
    - Dst: mhd_h2_request_get_value_n
      Src: /src/mhd2/src/mhd2/request_get_value.c:84,1
    - Dst: mhd_DLINKEDL_GET_FIRST
      Src: /src/mhd2/src/mhd2/request_get_value.c:95,1
    - Dst: mhd_DLINKEDL_GET_NEXT
      Src: /src/mhd2/src/mhd2/request_get_value.c:96,1
    - Dst: mhd_str_equal_caseless_bin_n
      Src: /src/mhd2/src/mhd2/request_get_value.c:100,1
    - Dst: mhd_DLINKEDL_GET_FIRST
      Src: /src/mhd2/src/mhd2/request_get_value.c:115,1
    - Dst: mhd_DLINKEDL_GET_NEXT
      Src: /src/mhd2/src/mhd2/request_get_value.c:116,1
    - Dst: mhd_str_equal_caseless_bin_n
      Src: /src/mhd2/src/mhd2/request_get_value.c:119,1
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/request_get_value.c:128,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 26
    argCount: 5
    argNames:
    - request
    - kind
    - key_len
    - key
    - value_out
    argTypes:
    - struct MHD_Request*
    - enum MHD_ValueKind
    - size_t
    - char*
    - struct MHD_StringNullable*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 138
      start: 69
    functionDepth: 1
    functionLinenumber: 69
    functionLinenumberEnd: 138
    functionName: mhd_request_get_value_n
    functionSourceFile: /src/mhd2/src/mhd2/request_get_value.c
    functionUses: 0
    functionsReached:
    - mhd_str_equal_caseless_bin_n
    - mhd_h2_request_get_value_n
    - mhd_REQ_IS_HTTP2
    - mhd_DLINKEDL_GET_NEXT
    - strlen
    - mhd_assert
    - mhd_DLINKEDL_GET_FIRST
    linkageType: ''
    returnType: bool
    signature: "bool mhd_request_get_value_n (struct MHD_Request *restrict request,\n
      \                        enum MHD_ValueKind kind,\n                         size_t
      key_len,\n                         const char *restrict key,\n                         struct
      MHD_StringNullable *restrict value_out)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: strlen
      Src: /src/mhd2/src/mhd2/request_get_value.c:151,1
    - Dst: mhd_request_get_value_n
      Src: /src/mhd2/src/mhd2/request_get_value.c:152,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 4
    argNames:
    - MHD_RESTRICT
    - kind
    - MHD_RESTRICT
    - MHD_RESTRICT
    argTypes:
    - struct MHD_Request*
    - enum MHD_ValueKind
    - char*
    - struct MHD_StringNullable*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 157
      start: 144
    functionDepth: 2
    functionLinenumber: 144
    functionLinenumberEnd: 157
    functionName: MHD_request_get_value
    functionSourceFile: /src/mhd2/src/mhd2/request_get_value.c
    functionUses: 5
    functionsReached:
    - strlen
    - mhd_request_get_value_n
    linkageType: ''
    returnType: enum MHD_Bool
    signature: "enum MHD_Bool MHD_request_get_value (struct MHD_Request *MHD_RESTRICT
      request,\n                       enum MHD_ValueKind kind,\n                       const
      char *MHD_RESTRICT key,\n                       struct MHD_StringNullable *MHD_RESTRICT
      value_out)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/request_get_value.c:171,1
    - Dst: mhd_DLINKEDL_GET_FIRST
      Src: /src/mhd2/src/mhd2/request_get_value.c:173,1
    - Dst: mhd_DLINKEDL_GET_NEXT
      Src: /src/mhd2/src/mhd2/request_get_value.c:175,1
    - Dst: mhd_str_equal_caseless_bin_n
      Src: /src/mhd2/src/mhd2/request_get_value.c:179,1
    - Dst: mhd_str_has_token_caseless
      Src: /src/mhd2/src/mhd2/request_get_value.c:182,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 7
    argCount: 5
    argNames:
    - c
    - header_len
    - header
    - token_len
    - token
    argTypes:
    - struct MHD_Connection*
    - size_t
    - char*
    - size_t
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 189
      start: 162
    functionDepth: 1
    functionLinenumber: 162
    functionLinenumberEnd: 189
    functionName: mhd_stream_has_header_token
    functionSourceFile: /src/mhd2/src/mhd2/request_get_value.c
    functionUses: 0
    functionsReached:
    - mhd_str_equal_caseless_bin_n
    - mhd_DLINKEDL_GET_NEXT
    - mhd_str_has_token_caseless
    - mhd_assert
    - mhd_DLINKEDL_GET_FIRST
    linkageType: ''
    returnType: bool
    signature: "bool mhd_stream_has_header_token (const struct MHD_Connection *restrict
      c,\n                             size_t header_len,\n                             const
      char *restrict header,\n                             size_t token_len,\n                             const
      char *restrict token)"
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: mhd_REQ_IS_HTTP2
      Src: /src/mhd2/src/mhd2/request_get_value.c:202,1
    - Dst: mhd_h2_request_get_values_cb
      Src: /src/mhd2/src/mhd2/request_get_value.c:203,1
    - Dst: mhd_DLINKEDL_GET_FIRST
      Src: /src/mhd2/src/mhd2/request_get_value.c:214,1
    - Dst: mhd_DLINKEDL_GET_NEXT
      Src: /src/mhd2/src/mhd2/request_get_value.c:215,1
    - Dst: iterator
      Src: /src/mhd2/src/mhd2/request_get_value.c:224,1
    - Dst: mhd_DLINKEDL_GET_FIRST
      Src: /src/mhd2/src/mhd2/request_get_value.c:237,1
    - Dst: mhd_DLINKEDL_GET_NEXT
      Src: /src/mhd2/src/mhd2/request_get_value.c:238,1
    - Dst: iterator
      Src: /src/mhd2/src/mhd2/request_get_value.c:252,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 29
    argCount: 4
    argNames:
    - request
    - kind
    - iterator
    - iterator_cls
    argTypes:
    - struct MHD_Request*
    - enum MHD_ValueKind
    - MHD_NameValueIterator
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 262
      start: 193
    functionDepth: 1
    functionLinenumber: 193
    functionLinenumberEnd: 262
    functionName: MHD_request_get_values_cb
    functionSourceFile: /src/mhd2/src/mhd2/request_get_value.c
    functionUses: 2
    functionsReached:
    - iterator
    - mhd_REQ_IS_HTTP2
    - mhd_DLINKEDL_GET_NEXT
    - mhd_h2_request_get_values_cb
    - mhd_DLINKEDL_GET_FIRST
    linkageType: ''
    returnType: size_t
    signature: "size_t MHD_request_get_values_cb (struct MHD_Request *request,\n                           enum
      MHD_ValueKind kind,\n                           MHD_NameValueIterator iterator,\n
      \                          void *iterator_cls)"
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: mhd_DLINKEDL_GET_FIRST
      Src: /src/mhd2/src/mhd2/request_get_value.c:278,1
    - Dst: mhd_DLINKEDL_GET_NEXT
      Src: /src/mhd2/src/mhd2/request_get_value.c:279,1
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/request_get_value.c:312,1
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/request_get_value.c:313,1
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/request_get_value.c:314,1
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/request_get_value.c:316,1
    - Dst: iterator
      Src: /src/mhd2/src/mhd2/request_get_value.c:320,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 32
    argCount: 3
    argNames:
    - request
    - iterator
    - iterator_cls
    argTypes:
    - struct MHD_Request*
    - MHD_PostDataIterator
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 326
      start: 268
    functionDepth: 1
    functionLinenumber: 268
    functionLinenumberEnd: 326
    functionName: MHD_request_get_post_data_cb
    functionSourceFile: /src/mhd2/src/mhd2/request_get_value.c
    functionUses: 2
    functionsReached:
    - mhd_DLINKEDL_GET_NEXT
    - iterator
    - mhd_assert
    - mhd_DLINKEDL_GET_FIRST
    linkageType: ''
    returnType: size_t
    signature: "size_t MHD_request_get_post_data_cb (struct MHD_Request *request,\n
      \                             MHD_PostDataIterator iterator,\n                              void
      *iterator_cls)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: EVP_MD_CTX_new
      Src: /src/mhd2/src/mhd2/sha512_256_openssl.c:59,1
    - Dst: mhd_SHA512_256_ossl_reset
      Src: /src/mhd2/src/mhd2/sha512_256_openssl.c:62,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - ctx
    argTypes:
    - struct mhd_Sha512_256CtxOssl*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 63
      start: 56
    functionDepth: 1
    functionLinenumber: 56
    functionLinenumberEnd: 63
    functionName: mhd_SHA512_256_ossl_init
    functionSourceFile: /src/mhd2/src/mhd2/sha512_256_openssl.c
    functionUses: 0
    functionsReached:
    - EVP_MD_CTX_new
    - mhd_SHA512_256_ossl_reset
    linkageType: ''
    returnType: void
    signature: void mhd_SHA512_256_ossl_init (struct mhd_Sha512_256CtxOssl *ctx)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/sha512_256_openssl.c:72,1
    - Dst: EVP_DigestInit_ex
      Src: /src/mhd2/src/mhd2/sha512_256_openssl.c:74,1
    - Dst: EVP_sha512_256
      Src: /src/mhd2/src/mhd2/sha512_256_openssl.c:75,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - ctx
    argTypes:
    - struct mhd_Sha512_256CtxOssl*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 77
      start: 66
    functionDepth: 1
    functionLinenumber: 66
    functionLinenumberEnd: 77
    functionName: mhd_SHA512_256_ossl_reset
    functionSourceFile: /src/mhd2/src/mhd2/sha512_256_openssl.c
    functionUses: 1
    functionsReached:
    - EVP_sha512_256
    - mhd_assert
    - EVP_DigestInit_ex
    linkageType: ''
    returnType: void
    signature: void mhd_SHA512_256_ossl_reset (struct mhd_Sha512_256CtxOssl *ctx)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/sha512_256_openssl.c:87,1
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/sha512_256_openssl.c:93,1
    - Dst: EVP_DigestUpdate
      Src: /src/mhd2/src/mhd2/sha512_256_openssl.c:95,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 3
    argNames:
    - ctx
    - size
    - data
    argTypes:
    - struct mhd_Sha512_256CtxOssl*
    - size_t
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 98
      start: 81
    functionDepth: 1
    functionLinenumber: 81
    functionLinenumberEnd: 98
    functionName: mhd_SHA512_256_ossl_update
    functionSourceFile: /src/mhd2/src/mhd2/sha512_256_openssl.c
    functionUses: 0
    functionsReached:
    - EVP_DigestUpdate
    - mhd_assert
    linkageType: ''
    returnType: void
    signature: "void mhd_SHA512_256_ossl_update (struct mhd_Sha512_256CtxOssl *restrict
      ctx,\n                            size_t size,\n                            const
      void *restrict data)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: MHD_FN_PAR_FIX_ARR_SIZE_
      Src: /src/mhd2/src/mhd2/sha512_256_openssl.c:105,1
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/sha512_256_openssl.c:112,1
    - Dst: EVP_DigestFinal_ex
      Src: /src/mhd2/src/mhd2/sha512_256_openssl.c:114,1
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/sha512_256_openssl.c:117,1
    - Dst: EVP_DigestFinal_ex
      Src: /src/mhd2/src/mhd2/sha512_256_openssl.c:119,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 2
    argNames:
    - ctx
    - digest
    argTypes:
    - struct mhd_Sha512_256CtxOssl*
    - uint8_t[]
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 124
      start: 102
    functionDepth: 1
    functionLinenumber: 102
    functionLinenumberEnd: 124
    functionName: mhd_SHA512_256_ossl_finish
    functionSourceFile: /src/mhd2/src/mhd2/sha512_256_openssl.c
    functionUses: 0
    functionsReached:
    - EVP_DigestFinal_ex
    - mhd_assert
    - MHD_FN_PAR_FIX_ARR_SIZE_
    linkageType: ''
    returnType: void
    signature: "void mhd_SHA512_256_ossl_finish (\n  struct mhd_Sha512_256CtxOssl
      *restrict ctx,\n  uint8_t digest[MHD_FN_PAR_FIX_ARR_SIZE_ (mhd_SHA512_256_DIGEST_SIZE)])"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: EVP_MD_CTX_free
      Src: /src/mhd2/src/mhd2/sha512_256_openssl.c:130,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - ctx
    argTypes:
    - struct mhd_Sha512_256CtxOssl*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 132
      start: 127
    functionDepth: 0
    functionLinenumber: 127
    functionLinenumberEnd: 132
    functionName: mhd_SHA512_256_ossl_deinit
    functionSourceFile: /src/mhd2/src/mhd2/sha512_256_openssl.c
    functionUses: 0
    functionsReached:
    - EVP_MD_CTX_free
    linkageType: ''
    returnType: void
    signature: void mhd_SHA512_256_ossl_deinit (struct mhd_Sha512_256CtxOssl *ctx)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - membr_ptr
    - ','
    - cntnr_type
    - ','
    - membr_name
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 71
      start: 66
    functionDepth: 0
    functionLinenumber: 66
    functionLinenumberEnd: 71
    functionName: mhd_CNTNR_PTR
    functionSourceFile: /src/mhd2/src/mhd2/mhd_cntnr_ptr.h
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: mhd_CNTNR_PTR(membr_ptr, cntnr_type, membr_name)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - membr_ptr
    - ','
    - cntnr_type
    - ','
    - membr_name
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 89
      start: 84
    functionDepth: 0
    functionLinenumber: 84
    functionLinenumberEnd: 89
    functionName: mhd_CNTNR_CPTR
    functionSourceFile: /src/mhd2/src/mhd2/mhd_cntnr_ptr.h
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: mhd_CNTNR_CPTR(membr_ptr, cntnr_type, membr_name)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - ctx
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 142
      start: 141
    functionDepth: 0
    functionLinenumber: 141
    functionLinenumberEnd: 142
    functionName: mhd_MD5_gtls_reset
    functionSourceFile: /src/mhd2/src/mhd2/md5_gnutls.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: mhd_MD5_gtls_reset(ctx)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: gnutls_hash_init
      Src: /src/mhd2/src/mhd2/sha256_gnutls.c:57,1
    - Dst: mhd_SHA256_gtls_deinit
      Src: /src/mhd2/src/mhd2/sha256_gnutls.c:64,1
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/sha256_gnutls.c:68,1
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/sha256_gnutls.c:70,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 8
    argCount: 1
    argNames:
    - ctx
    argTypes:
    - struct mhd_Sha256CtxGtls*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 71
      start: 53
    functionDepth: 1
    functionLinenumber: 53
    functionLinenumberEnd: 71
    functionName: mhd_SHA256_gtls_init
    functionSourceFile: /src/mhd2/src/mhd2/sha256_gnutls.c
    functionUses: 0
    functionsReached:
    - gnutls_hash_init
    - mhd_SHA256_gtls_deinit
    - mhd_assert
    linkageType: ''
    returnType: void
    signature: void mhd_SHA256_gtls_init (struct mhd_Sha256CtxGtls *ctx)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/sha256_gnutls.c:81,1
    - Dst: gnutls_hash
      Src: /src/mhd2/src/mhd2/sha256_gnutls.c:85,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 3
    argNames:
    - ctx
    - size
    - data
    argTypes:
    - struct mhd_Sha256CtxGtls*
    - size_t
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 88
      start: 75
    functionDepth: 1
    functionLinenumber: 75
    functionLinenumberEnd: 88
    functionName: mhd_SHA256_gtls_update
    functionSourceFile: /src/mhd2/src/mhd2/sha256_gnutls.c
    functionUses: 0
    functionsReached:
    - mhd_assert
    - gnutls_hash
    linkageType: ''
    returnType: void
    signature: "void mhd_SHA256_gtls_update (struct mhd_Sha256CtxGtls *restrict ctx,\n
      \                       size_t size,\n                        const void *restrict
      data)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: MHD_FN_PAR_FIX_ARR_SIZE_
      Src: /src/mhd2/src/mhd2/sha256_gnutls.c:95,1
    - Dst: gnutls_hash_output
      Src: /src/mhd2/src/mhd2/sha256_gnutls.c:98,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 3
    argCount: 2
    argNames:
    - ctx
    - digest
    argTypes:
    - struct mhd_Sha256CtxGtls*
    - uint8_t[]
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 100
      start: 92
    functionDepth: 0
    functionLinenumber: 92
    functionLinenumberEnd: 100
    functionName: mhd_SHA256_gtls_finish
    functionSourceFile: /src/mhd2/src/mhd2/sha256_gnutls.c
    functionUses: 0
    functionsReached:
    - gnutls_hash_output
    - MHD_FN_PAR_FIX_ARR_SIZE_
    linkageType: ''
    returnType: void
    signature: "void mhd_SHA256_gtls_finish (\n  struct mhd_Sha256CtxGtls *restrict
      ctx,\n  uint8_t digest[MHD_FN_PAR_FIX_ARR_SIZE_ (mhd_SHA256_DIGEST_SIZE)])"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: gnutls_hash_deinit
      Src: /src/mhd2/src/mhd2/sha256_gnutls.c:109,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - ctx
    argTypes:
    - struct mhd_Sha256CtxGtls*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 113
      start: 104
    functionDepth: 0
    functionLinenumber: 104
    functionLinenumberEnd: 113
    functionName: mhd_SHA256_gtls_deinit
    functionSourceFile: /src/mhd2/src/mhd2/sha256_gnutls.c
    functionUses: 1
    functionsReached:
    - gnutls_hash_deinit
    linkageType: ''
    returnType: void
    signature: void mhd_SHA256_gtls_deinit (struct mhd_Sha256CtxGtls *ctx)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - s1
    - ','
    - s2
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 90
      start: 88
    functionDepth: 0
    functionLinenumber: 88
    functionLinenumberEnd: 90
    functionName: mhd_str_equal_caseless
    functionSourceFile: /src/mhd2/src/mhd2/mhd_str.h
    functionUses: 4
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: mhd_str_equal_caseless(s1, s2)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - arr
    - ','
    - str
    - ','
    - l
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 144
      start: 141
    functionDepth: 0
    functionLinenumber: 141
    functionLinenumberEnd: 144
    functionName: mhd_str_equal_caseless_n_st
    functionSourceFile: /src/mhd2/src/mhd2/mhd_str.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: mhd_str_equal_caseless_n_st(arr, str, l)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - str
    - ','
    - tkn
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 240
      start: 238
    functionDepth: 0
    functionLinenumber: 238
    functionLinenumberEnd: 240
    functionName: mhd_str_has_s_token_caseless
    functionSourceFile: /src/mhd2/src/mhd2/mhd_str.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: mhd_str_has_s_token_caseless(str, tkn)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - s
    - ','
    - ov
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 459
      start: 455
    functionDepth: 0
    functionLinenumber: 455
    functionLinenumberEnd: 459
    functionName: mhd_str_to_uint64
    functionSourceFile: /src/mhd2/src/mhd2/mhd_str.h
    functionUses: 5
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: mhd_str_to_uint64(s, ov)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - s
    - ','
    - ml
    - ','
    - ov
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 464
      start: 460
    functionDepth: 0
    functionLinenumber: 460
    functionLinenumberEnd: 464
    functionName: mhd_str_to_uint64_n
    functionSourceFile: /src/mhd2/src/mhd2/mhd_str.h
    functionUses: 5
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: mhd_str_to_uint64_n(s, ml, ov)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - s
    - ','
    - ov
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 469
      start: 465
    functionDepth: 0
    functionLinenumber: 465
    functionLinenumberEnd: 469
    functionName: mhd_strx_to_sizet
    functionSourceFile: /src/mhd2/src/mhd2/mhd_str.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: mhd_strx_to_sizet(s, ov)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - s
    - ','
    - ml
    - ','
    - ov
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 474
      start: 470
    functionDepth: 0
    functionLinenumber: 470
    functionLinenumberEnd: 474
    functionName: mhd_strx_to_sizet_n
    functionSourceFile: /src/mhd2/src/mhd2/mhd_str.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: mhd_strx_to_sizet_n(s, ml, ov)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - s
    - ','
    - ov
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 479
      start: 475
    functionDepth: 0
    functionLinenumber: 475
    functionLinenumberEnd: 479
    functionName: mhd_strx_to_uint32
    functionSourceFile: /src/mhd2/src/mhd2/mhd_str.h
    functionUses: 5
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: mhd_strx_to_uint32(s, ov)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - s
    - ','
    - ml
    - ','
    - ov
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 484
      start: 480
    functionDepth: 0
    functionLinenumber: 480
    functionLinenumberEnd: 484
    functionName: mhd_strx_to_uint32_n
    functionSourceFile: /src/mhd2/src/mhd2/mhd_str.h
    functionUses: 5
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: mhd_strx_to_uint32_n(s, ml, ov)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - s
    - ','
    - ov
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 489
      start: 485
    functionDepth: 0
    functionLinenumber: 485
    functionLinenumberEnd: 489
    functionName: mhd_strx_to_uint64
    functionSourceFile: /src/mhd2/src/mhd2/mhd_str.h
    functionUses: 5
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: mhd_strx_to_uint64(s, ov)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - s
    - ','
    - ml
    - ','
    - ov
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 494
      start: 490
    functionDepth: 0
    functionLinenumber: 490
    functionLinenumberEnd: 494
    functionName: mhd_strx_to_uint64_n
    functionSourceFile: /src/mhd2/src/mhd2/mhd_str.h
    functionUses: 5
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: mhd_strx_to_uint64_n(s, ml, ov)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - v
    - ','
    - b
    - ','
    - s
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 534
      start: 533
    functionDepth: 0
    functionLinenumber: 533
    functionLinenumberEnd: 534
    functionName: mhd_uint16_to_str
    functionSourceFile: /src/mhd2/src/mhd2/mhd_str.h
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: mhd_uint16_to_str(v, b, s)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - q
    - ','
    - l
    - ','
    - u
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 776
      start: 774
    functionDepth: 0
    functionLinenumber: 774
    functionLinenumberEnd: 776
    functionName: mhd_str_equal_quoted_s_bin_n
    functionSourceFile: /src/mhd2/src/mhd2/mhd_str.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: mhd_str_equal_quoted_s_bin_n(q, l, u)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - q
    - ','
    - l
    - ','
    - u
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 824
      start: 822
    functionDepth: 0
    functionLinenumber: 822
    functionLinenumberEnd: 824
    functionName: mhd_str_equal_caseless_quoted_s_bin_n
    functionSourceFile: /src/mhd2/src/mhd2/mhd_str.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: mhd_str_equal_caseless_quoted_s_bin_n(q, l, u)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - enc_size
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 889
      start: 888
    functionDepth: 0
    functionLinenumber: 888
    functionLinenumberEnd: 889
    functionName: mhd_base64_max_dec_size
    functionSourceFile: /src/mhd2/src/mhd2/mhd_str.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: mhd_base64_max_dec_size(enc_size)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - p_scktns
    - ','
    - flag
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 92
      start: 87
    functionDepth: 0
    functionLinenumber: 87
    functionLinenumberEnd: 92
    functionName: mhd_SCKT_NET_ST_CLEAR_FLAG
    functionSourceFile: /src/mhd2/src/mhd2/mhd_conn_socket.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: mhd_SCKT_NET_ST_CLEAR_FLAG(p_scktns, flag)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - p_scktns
    - ','
    - flag
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 98
      start: 94
    functionDepth: 0
    functionLinenumber: 94
    functionLinenumberEnd: 98
    functionName: mhd_SCKT_NET_ST_SET_FLAG
    functionSourceFile: /src/mhd2/src/mhd2/mhd_conn_socket.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: mhd_SCKT_NET_ST_SET_FLAG(p_scktns, flag)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - scktns
    - ','
    - flag
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 102
      start: 100
    functionDepth: 0
    functionLinenumber: 100
    functionLinenumberEnd: 102
    functionName: mhd_SCKT_NET_ST_HAS_FLAG
    functionSourceFile: /src/mhd2/src/mhd2/mhd_conn_socket.h
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: mhd_SCKT_NET_ST_HAS_FLAG(scktns, flag)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - scktns
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 106
      start: 104
    functionDepth: 0
    functionLinenumber: 104
    functionLinenumberEnd: 106
    functionName: mhd_SCKT_NET_ST_HAS_FLAG_RECV
    functionSourceFile: /src/mhd2/src/mhd2/mhd_conn_socket.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: mhd_SCKT_NET_ST_HAS_FLAG_RECV(scktns)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - scktns
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 110
      start: 108
    functionDepth: 0
    functionLinenumber: 108
    functionLinenumberEnd: 110
    functionName: mhd_SCKT_NET_ST_HAS_FLAG_SEND
    functionSourceFile: /src/mhd2/src/mhd2/mhd_conn_socket.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: mhd_SCKT_NET_ST_HAS_FLAG_SEND(scktns)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - scktns
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 114
      start: 112
    functionDepth: 0
    functionLinenumber: 112
    functionLinenumberEnd: 114
    functionName: mhd_SCKT_NET_ST_HAS_FLAG_ERROR
    functionSourceFile: /src/mhd2/src/mhd2/mhd_conn_socket.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: mhd_SCKT_NET_ST_HAS_FLAG_ERROR(scktns)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - name_suffix
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 123
      start: 120
    functionDepth: 0
    functionLinenumber: 120
    functionLinenumberEnd: 123
    functionName: mhd_SHA512_256_FUNC
    functionSourceFile: /src/mhd2/src/mhd2/mhd_sha512_256.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: mhd_SHA512_256_FUNC(name_suffix)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - name_suffix
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 130
      start: 127
    functionDepth: 0
    functionLinenumber: 127
    functionLinenumberEnd: 130
    functionName: mhd_SHA512_256_MACRO
    functionSourceFile: /src/mhd2/src/mhd2/mhd_sha512_256.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: mhd_SHA512_256_MACRO(name_suffix)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - ctx
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 147
      start: 146
    functionDepth: 0
    functionLinenumber: 146
    functionLinenumberEnd: 147
    functionName: mhd_SHA512_256_has_err
    functionSourceFile: /src/mhd2/src/mhd2/mhd_sha512_256.h
    functionUses: 6
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: mhd_SHA512_256_has_err(ctx)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - ctx
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 151
      start: 150
    functionDepth: 0
    functionLinenumber: 150
    functionLinenumberEnd: 151
    functionName: mhd_SHA512_256_get_err
    functionSourceFile: /src/mhd2/src/mhd2/mhd_sha512_256.h
    functionUses: 6
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: mhd_SHA512_256_get_err(ctx)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - ctx
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 153
      start: 152
    functionDepth: 0
    functionLinenumber: 152
    functionLinenumberEnd: 153
    functionName: mhd_SHA512_256_has_err
    functionSourceFile: /src/mhd2/src/mhd2/mhd_sha512_256.h
    functionUses: 6
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: mhd_SHA512_256_has_err(ctx)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - ctx
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 157
      start: 156
    functionDepth: 0
    functionLinenumber: 156
    functionLinenumberEnd: 157
    functionName: mhd_SHA512_256_get_err
    functionSourceFile: /src/mhd2/src/mhd2/mhd_sha512_256.h
    functionUses: 6
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: mhd_SHA512_256_get_err(ctx)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - ctx
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 174
      start: 173
    functionDepth: 0
    functionLinenumber: 173
    functionLinenumberEnd: 174
    functionName: mhd_SHA512_256_init
    functionSourceFile: /src/mhd2/src/mhd2/mhd_sha512_256.h
    functionUses: 6
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: mhd_SHA512_256_init(ctx)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - ctx
    - ','
    - size
    - ','
    - data
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 188
      start: 186
    functionDepth: 0
    functionLinenumber: 186
    functionLinenumberEnd: 188
    functionName: mhd_SHA512_256_update
    functionSourceFile: /src/mhd2/src/mhd2/mhd_sha512_256.h
    functionUses: 6
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: mhd_SHA512_256_update(ctx, size, data)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - ctx
    - ','
    - digest
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 201
      start: 199
    functionDepth: 0
    functionLinenumber: 199
    functionLinenumberEnd: 201
    functionName: mhd_SHA512_256_finish
    functionSourceFile: /src/mhd2/src/mhd2/mhd_sha512_256.h
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: mhd_SHA512_256_finish(ctx, digest)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - ctx
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 216
      start: 215
    functionDepth: 0
    functionLinenumber: 215
    functionLinenumberEnd: 216
    functionName: mhd_SHA512_256_reset
    functionSourceFile: /src/mhd2/src/mhd2/mhd_sha512_256.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: mhd_SHA512_256_reset(ctx)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - ctx
    - ','
    - digest
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 231
      start: 229
    functionDepth: 0
    functionLinenumber: 229
    functionLinenumberEnd: 231
    functionName: mhd_SHA512_256_finish_reset
    functionSourceFile: /src/mhd2/src/mhd2/mhd_sha512_256.h
    functionUses: 6
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: mhd_SHA512_256_finish_reset(ctx, digest)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - ctx
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 244
      start: 243
    functionDepth: 0
    functionLinenumber: 243
    functionLinenumberEnd: 244
    functionName: mhd_SHA512_256_deinit
    functionSourceFile: /src/mhd2/src/mhd2/mhd_sha512_256.h
    functionUses: 6
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: mhd_SHA512_256_deinit(ctx)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - ctx
    - ','
    - digest
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 258
      start: 256
    functionDepth: 0
    functionLinenumber: 256
    functionLinenumberEnd: 258
    functionName: mhd_SHA512_256_finish_deinit
    functionSourceFile: /src/mhd2/src/mhd2/mhd_sha512_256.h
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: mhd_SHA512_256_finish_deinit(ctx, digest)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: mhd_lib_init_global_if_needed
      Src: /src/mhd2/src/mhd2/daemon_create.c:75,1
    - Dst: fprintf
      Src: /src/mhd2/src/mhd2/daemon_create.c:78,1
    - Dst: fflush
      Src: /src/mhd2/src/mhd2/daemon_create.c:79,1
    - Dst: mhd_calloc
      Src: /src/mhd2/src/mhd2/daemon_create.c:87,1
    - Dst: mhd_calloc
      Src: /src/mhd2/src/mhd2/daemon_create.c:91,1
    - Dst: free
      Src: /src/mhd2/src/mhd2/daemon_create.c:94,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 45
    argCount: 2
    argNames:
    - req_cb
    - req_cb_cls
    argTypes:
    - MHD_RequestCallback
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 137
      start: 68
    functionDepth: 3
    functionLinenumber: 68
    functionLinenumberEnd: 137
    functionName: MHD_daemon_create
    functionSourceFile: /src/mhd2/src/mhd2/daemon_create.c
    functionUses: 13
    functionsReached:
    - fprintf
    - free
    - mhd_calloc
    - fflush
    - mhd_lib_init_global_if_needed
    linkageType: ''
    returnType: MHD_FN_MUST_CHECK_RESULT_
    signature: "MHD_FN_MUST_CHECK_RESULT_ *\nMHD_daemon_create (MHD_RequestCallback
      req_cb,\n                   void *req_cb_cls)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 2
    argNames:
    - (
    - )
    argTypes:
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 93
      start: 92
    functionDepth: 0
    functionLinenumber: 92
    functionLinenumberEnd: 93
    functionName: mhd_tls_open_global_re_init
    functionSourceFile: /src/mhd2/src/mhd2/tls_open_funcs.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: mhd_tls_open_global_re_init()
  - 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: mhd_tls_open_global_deinit
    functionSourceFile: /src/mhd2/src/mhd2/tls_open_funcs.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: mhd_tls_open_global_deinit()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - s
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 119
      start: 118
    functionDepth: 0
    functionLinenumber: 118
    functionLinenumberEnd: 119
    functionName: mhd_tls_open_is_edge_trigg_supported
    functionSourceFile: /src/mhd2/src/mhd2/tls_open_funcs.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: mhd_tls_open_is_edge_trigg_supported(s)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - d_tls
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 173
      start: 171
    functionDepth: 0
    functionLinenumber: 171
    functionLinenumberEnd: 173
    functionName: mhd_tls_open_conn_get_tls_size
    functionSourceFile: /src/mhd2/src/mhd2/tls_open_funcs.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: mhd_tls_open_conn_get_tls_size(d_tls)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 11
    argNames:
    - (
    - c_tls
    - ','
    - buf_size
    - ','
    - buf
    - ','
    - push_data
    - ','
    - sent
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 286
      start: 284
    functionDepth: 0
    functionLinenumber: 284
    functionLinenumberEnd: 286
    functionName: mhd_tls_open_conn_send
    functionSourceFile: /src/mhd2/src/mhd2/tls_open_funcs.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: mhd_tls_open_conn_send(c_tls, buf_size, buf, push_data, sent)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - c_tls
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 305
      start: 304
    functionDepth: 0
    functionLinenumber: 304
    functionLinenumberEnd: 305
    functionName: mhd_tls_open_conn_has_cstm_tr
    functionSourceFile: /src/mhd2/src/mhd2/tls_open_funcs.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: mhd_tls_open_conn_has_cstm_tr(c_tls)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 2
    argNames:
    - (
    - )
    argTypes:
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 71
      start: 70
    functionDepth: 0
    functionLinenumber: 70
    functionLinenumberEnd: 71
    functionName: mhd_kqueue
    functionSourceFile: /src/mhd2/src/mhd2/sys_kqueue.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: mhd_kqueue()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 2
    argNames:
    - (
    - )
    argTypes:
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 72
      start: 71
    functionDepth: 0
    functionLinenumber: 71
    functionLinenumberEnd: 72
    functionName: mhd_KQUEUE_HAS_CLOEXEC_SET
    functionSourceFile: /src/mhd2/src/mhd2/sys_kqueue.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: mhd_KQUEUE_HAS_CLOEXEC_SET()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 2
    argNames:
    - (
    - )
    argTypes:
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 84
      start: 83
    functionDepth: 0
    functionLinenumber: 83
    functionLinenumberEnd: 84
    functionName: mhd_kqueue
    functionSourceFile: /src/mhd2/src/mhd2/sys_kqueue.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: mhd_kqueue()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 2
    argNames:
    - (
    - )
    argTypes:
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 85
      start: 84
    functionDepth: 0
    functionLinenumber: 84
    functionLinenumberEnd: 85
    functionName: mhd_KQUEUE_HAS_CLOEXEC_SET
    functionSourceFile: /src/mhd2/src/mhd2/sys_kqueue.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: mhd_KQUEUE_HAS_CLOEXEC_SET()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 2
    argNames:
    - (
    - )
    argTypes:
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 93
      start: 92
    functionDepth: 0
    functionLinenumber: 92
    functionLinenumberEnd: 93
    functionName: mhd_kqueue
    functionSourceFile: /src/mhd2/src/mhd2/sys_kqueue.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: mhd_kqueue()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 2
    argNames:
    - (
    - )
    argTypes:
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 94
      start: 93
    functionDepth: 0
    functionLinenumber: 93
    functionLinenumberEnd: 94
    functionName: mhd_KQUEUE_HAS_CLOEXEC_SET
    functionSourceFile: /src/mhd2/src/mhd2/sys_kqueue.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: mhd_KQUEUE_HAS_CLOEXEC_SET()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - ptr
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 106
      start: 105
    functionDepth: 0
    functionLinenumber: 105
    functionLinenumberEnd: 106
    functionName: mhd_PTR_TO_KE_UDATA
    functionSourceFile: /src/mhd2/src/mhd2/sys_kqueue.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: mhd_PTR_TO_KE_UDATA(ptr)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - ud
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 107
      start: 106
    functionDepth: 0
    functionLinenumber: 106
    functionLinenumberEnd: 107
    functionName: mhd_KE_UDATA_TO_PTR
    functionSourceFile: /src/mhd2/src/mhd2/sys_kqueue.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: mhd_KE_UDATA_TO_PTR(ud)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - ptr
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 110
      start: 109
    functionDepth: 0
    functionLinenumber: 109
    functionLinenumberEnd: 110
    functionName: mhd_PTR_TO_KE_UDATA
    functionSourceFile: /src/mhd2/src/mhd2/sys_kqueue.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: mhd_PTR_TO_KE_UDATA(ptr)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - ud
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 111
      start: 110
    functionDepth: 0
    functionLinenumber: 110
    functionLinenumberEnd: 111
    functionName: mhd_KE_UDATA_TO_PTR
    functionSourceFile: /src/mhd2/src/mhd2/sys_kqueue.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: mhd_KE_UDATA_TO_PTR(ud)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - ev_ptr
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 114
      start: 113
    functionDepth: 0
    functionLinenumber: 113
    functionLinenumberEnd: 114
    functionName: mhd_KE_GET_UDATA
    functionSourceFile: /src/mhd2/src/mhd2/sys_kqueue.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: mhd_KE_GET_UDATA(ev_ptr)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 11
    argNames:
    - (
    - ev_ptr
    - ','
    - fd
    - ','
    - evfltr
    - ','
    - evflags
    - ','
    - evudata_ptr
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 122
      start: 115
    functionDepth: 0
    functionLinenumber: 115
    functionLinenumberEnd: 122
    functionName: mhd_KE_SET
    functionSourceFile: /src/mhd2/src/mhd2/sys_kqueue.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: mhd_KE_SET(ev_ptr, fd, evfltr, evflags, evudata_ptr)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 13
    argNames:
    - (
    - kqfd
    - ','
    - chlist
    - ','
    - nchs
    - ','
    - evlist
    - ','
    - nevs
    - ','
    - tmout
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 132
      start: 130
    functionDepth: 0
    functionLinenumber: 130
    functionLinenumberEnd: 132
    functionName: mhd_kevent
    functionSourceFile: /src/mhd2/src/mhd2/sys_kqueue.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: mhd_kevent(kqfd, chlist, nchs, evlist, nevs, tmout)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 13
    argNames:
    - (
    - kqfd
    - ','
    - chlist
    - ','
    - nchs
    - ','
    - evlist
    - ','
    - nevs
    - ','
    - tmout
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 136
      start: 133
    functionDepth: 0
    functionLinenumber: 133
    functionLinenumberEnd: 136
    functionName: mhd_kevent
    functionSourceFile: /src/mhd2/src/mhd2/sys_kqueue.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: mhd_kevent(kqfd, chlist, nchs, evlist, nevs, tmout)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - x
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 74
      start: 73
    functionDepth: 0
    functionLinenumber: 73
    functionLinenumberEnd: 74
    functionName: mhd_HAS_BUILTIN
    functionSourceFile: /src/mhd2/src/mhd2/mhd_bithelpers.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: mhd_HAS_BUILTIN(x)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - x
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 76
      start: 75
    functionDepth: 0
    functionLinenumber: 75
    functionLinenumberEnd: 76
    functionName: mhd_HAS_BUILTIN
    functionSourceFile: /src/mhd2/src/mhd2/mhd_bithelpers.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: mhd_HAS_BUILTIN(x)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - value16
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 90
      start: 88
    functionDepth: 0
    functionLinenumber: 88
    functionLinenumberEnd: 90
    functionName: mhd_BYTES_SWAP16
    functionSourceFile: /src/mhd2/src/mhd2/mhd_bithelpers.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: mhd_BYTES_SWAP16(value16)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - value16
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 96
      start: 94
    functionDepth: 0
    functionLinenumber: 94
    functionLinenumberEnd: 96
    functionName: mhd_BYTES_SWAP16
    functionSourceFile: /src/mhd2/src/mhd2/mhd_bithelpers.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: mhd_BYTES_SWAP16(value16)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - value16
    argTypes:
    - uint16_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 101
      start: 97
    functionDepth: 0
    functionLinenumber: 97
    functionLinenumberEnd: 101
    functionName: mhd_BYTES_SWAP16
    functionSourceFile: /src/mhd2/src/mhd2/mhd_bithelpers.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: mhd_static_inline
    signature: mhd_static_inline mhd_BYTES_SWAP16 (uint16_t value16)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - value32
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 110
      start: 108
    functionDepth: 0
    functionLinenumber: 108
    functionLinenumberEnd: 110
    functionName: mhd_BYTES_SWAP32
    functionSourceFile: /src/mhd2/src/mhd2/mhd_bithelpers.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: mhd_BYTES_SWAP32(value32)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - value32
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 116
      start: 114
    functionDepth: 0
    functionLinenumber: 114
    functionLinenumberEnd: 116
    functionName: mhd_BYTES_SWAP32
    functionSourceFile: /src/mhd2/src/mhd2/mhd_bithelpers.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: mhd_BYTES_SWAP32(value32)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - value32
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 120
      start: 118
    functionDepth: 0
    functionLinenumber: 118
    functionLinenumberEnd: 120
    functionName: mhd_BYTES_SWAP32
    functionSourceFile: /src/mhd2/src/mhd2/mhd_bithelpers.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: mhd_BYTES_SWAP32(value32)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 1
    argNames:
    - value32
    argTypes:
    - uint32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 130
      start: 121
    functionDepth: 0
    functionLinenumber: 121
    functionLinenumberEnd: 130
    functionName: mhd_BYTES_SWAP32
    functionSourceFile: /src/mhd2/src/mhd2/mhd_bithelpers.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: mhd_static_inline
    signature: mhd_static_inline mhd_BYTES_SWAP32 (uint32_t value32)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - value64
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 139
      start: 137
    functionDepth: 0
    functionLinenumber: 137
    functionLinenumberEnd: 139
    functionName: mhd_BYTES_SWAP64
    functionSourceFile: /src/mhd2/src/mhd2/mhd_bithelpers.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: mhd_BYTES_SWAP64(value64)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - value64
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 145
      start: 143
    functionDepth: 0
    functionLinenumber: 143
    functionLinenumberEnd: 145
    functionName: mhd_BYTES_SWAP64
    functionSourceFile: /src/mhd2/src/mhd2/mhd_bithelpers.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: mhd_BYTES_SWAP64(value64)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - value64
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 149
      start: 147
    functionDepth: 0
    functionLinenumber: 147
    functionLinenumberEnd: 149
    functionName: mhd_BYTES_SWAP64
    functionSourceFile: /src/mhd2/src/mhd2/mhd_bithelpers.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: mhd_BYTES_SWAP64(value64)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 10
    argCount: 1
    argNames:
    - value64
    argTypes:
    - uint64_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 163
      start: 150
    functionDepth: 0
    functionLinenumber: 150
    functionLinenumberEnd: 163
    functionName: mhd_BYTES_SWAP64
    functionSourceFile: /src/mhd2/src/mhd2/mhd_bithelpers.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: mhd_static_inline
    signature: mhd_static_inline mhd_BYTES_SWAP64(uint64_t value64)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - value128
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 190
      start: 173
    functionDepth: 0
    functionLinenumber: 173
    functionLinenumberEnd: 190
    functionName: mhd_BYTES_SWAP128
    functionSourceFile: /src/mhd2/src/mhd2/mhd_bithelpers.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: mhd_BYTES_SWAP128(value128)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 9
    argCount: 2
    argNames:
    - addr
    - value64
    argTypes:
    - void*
    - uint64_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 208
      start: 196
    functionDepth: 0
    functionLinenumber: 196
    functionLinenumberEnd: 208
    functionName: mhd_PUT_64BIT_LE_SLOW
    functionSourceFile: /src/mhd2/src/mhd2/mhd_bithelpers.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: mhd_static_inline
    signature: mhd_static_inline mhd_PUT_64BIT_LE_SLOW(void *addr, uint64_t value64)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - addr
    - ','
    - value64
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 212
      start: 210
    functionDepth: 0
    functionLinenumber: 210
    functionLinenumberEnd: 212
    functionName: mhd_PUT_64BIT_LE
    functionSourceFile: /src/mhd2/src/mhd2/mhd_bithelpers.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: mhd_PUT_64BIT_LE(addr, value64)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - addr
    - ','
    - value64
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 215
      start: 213
    functionDepth: 0
    functionLinenumber: 213
    functionLinenumberEnd: 215
    functionName: mhd_PUT_64BIT_LE
    functionSourceFile: /src/mhd2/src/mhd2/mhd_bithelpers.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: mhd_PUT_64BIT_LE(addr, value64)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - addr
    - ','
    - value64
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 219
      start: 217
    functionDepth: 0
    functionLinenumber: 217
    functionLinenumberEnd: 219
    functionName: mhd_PUT_64BIT_LE
    functionSourceFile: /src/mhd2/src/mhd2/mhd_bithelpers.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: mhd_PUT_64BIT_LE(addr, value64)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - addr
    - ','
    - value64
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 227
      start: 225
    functionDepth: 0
    functionLinenumber: 225
    functionLinenumberEnd: 227
    functionName: mhd_PUT_64BIT_LE_UNALIGN
    functionSourceFile: /src/mhd2/src/mhd2/mhd_bithelpers.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: mhd_PUT_64BIT_LE_UNALIGN(addr, value64)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - addr
    - ','
    - value64
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 233
      start: 228
    functionDepth: 0
    functionLinenumber: 228
    functionLinenumberEnd: 233
    functionName: mhd_PUT_64BIT_LE_UNALIGN
    functionSourceFile: /src/mhd2/src/mhd2/mhd_bithelpers.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: mhd_PUT_64BIT_LE_UNALIGN(addr, value64)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 2
    argNames:
    - addr
    - value32
    argTypes:
    - void*
    - uint32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 248
      start: 240
    functionDepth: 0
    functionLinenumber: 240
    functionLinenumberEnd: 248
    functionName: mhd_PUT_32BIT_LE_SLOW
    functionSourceFile: /src/mhd2/src/mhd2/mhd_bithelpers.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: mhd_static_inline
    signature: mhd_static_inline mhd_PUT_32BIT_LE_SLOW(void *addr, uint32_t value32)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - addr
    - ','
    - value32
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 252
      start: 250
    functionDepth: 0
    functionLinenumber: 250
    functionLinenumberEnd: 252
    functionName: mhd_PUT_32BIT_LE
    functionSourceFile: /src/mhd2/src/mhd2/mhd_bithelpers.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: mhd_PUT_32BIT_LE(addr, value32)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - addr
    - ','
    - value32
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 255
      start: 253
    functionDepth: 0
    functionLinenumber: 253
    functionLinenumberEnd: 255
    functionName: mhd_PUT_32BIT_LE
    functionSourceFile: /src/mhd2/src/mhd2/mhd_bithelpers.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: mhd_PUT_32BIT_LE(addr, value32)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - addr
    - ','
    - value32
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 259
      start: 257
    functionDepth: 0
    functionLinenumber: 257
    functionLinenumberEnd: 259
    functionName: mhd_PUT_32BIT_LE
    functionSourceFile: /src/mhd2/src/mhd2/mhd_bithelpers.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: mhd_PUT_32BIT_LE(addr, value32)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - addr
    - ','
    - value32
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 267
      start: 265
    functionDepth: 0
    functionLinenumber: 265
    functionLinenumberEnd: 267
    functionName: mhd_PUT_32BIT_LE_UNALIGN
    functionSourceFile: /src/mhd2/src/mhd2/mhd_bithelpers.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: mhd_PUT_32BIT_LE_UNALIGN(addr, value32)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - addr
    - ','
    - value32
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 273
      start: 268
    functionDepth: 0
    functionLinenumber: 268
    functionLinenumberEnd: 273
    functionName: mhd_PUT_32BIT_LE_UNALIGN
    functionSourceFile: /src/mhd2/src/mhd2/mhd_bithelpers.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: mhd_PUT_32BIT_LE_UNALIGN(addr, value32)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 1
    argNames:
    - addr
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 291
      start: 281
    functionDepth: 0
    functionLinenumber: 281
    functionLinenumberEnd: 291
    functionName: mhd_GET_32BIT_LE_SLOW
    functionSourceFile: /src/mhd2/src/mhd2/mhd_bithelpers.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: mhd_static_inline
    signature: mhd_static_inline mhd_GET_32BIT_LE_SLOW(const void *addr)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - addr
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 295
      start: 293
    functionDepth: 0
    functionLinenumber: 293
    functionLinenumberEnd: 295
    functionName: mhd_GET_32BIT_LE
    functionSourceFile: /src/mhd2/src/mhd2/mhd_bithelpers.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: mhd_GET_32BIT_LE(addr)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - addr
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 298
      start: 296
    functionDepth: 0
    functionLinenumber: 296
    functionLinenumberEnd: 298
    functionName: mhd_GET_32BIT_LE
    functionSourceFile: /src/mhd2/src/mhd2/mhd_bithelpers.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: mhd_GET_32BIT_LE(addr)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - addr
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 301
      start: 300
    functionDepth: 0
    functionLinenumber: 300
    functionLinenumberEnd: 301
    functionName: mhd_GET_32BIT_LE
    functionSourceFile: /src/mhd2/src/mhd2/mhd_bithelpers.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: mhd_GET_32BIT_LE(addr)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - addr
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 308
      start: 307
    functionDepth: 0
    functionLinenumber: 307
    functionLinenumberEnd: 308
    functionName: mhd_GET_32BIT_LE_UNALIGN
    functionSourceFile: /src/mhd2/src/mhd2/mhd_bithelpers.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: mhd_GET_32BIT_LE_UNALIGN(addr)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: memcpy
      Src: /src/mhd2/src/mhd2/mhd_bithelpers.h:314,1
    - Dst: mhd_GET_32BIT_LE
      Src: /src/mhd2/src/mhd2/mhd_bithelpers.h:315,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - addr
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 316
      start: 310
    functionDepth: 1
    functionLinenumber: 310
    functionLinenumberEnd: 316
    functionName: mhd_GET_32BIT_LE_UNALIGN
    functionSourceFile: /src/mhd2/src/mhd2/mhd_bithelpers.h
    functionUses: 0
    functionsReached:
    - memcpy
    - mhd_GET_32BIT_LE
    linkageType: ''
    returnType: mhd_static_inline
    signature: mhd_static_inline mhd_GET_32BIT_LE_UNALIGN (const void *addr)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 10
    argCount: 1
    argNames:
    - addr
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 339
      start: 325
    functionDepth: 0
    functionLinenumber: 325
    functionLinenumberEnd: 339
    functionName: mhd_GET_64BIT_LE_SLOW
    functionSourceFile: /src/mhd2/src/mhd2/mhd_bithelpers.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: mhd_static_inline
    signature: mhd_static_inline mhd_GET_64BIT_LE_SLOW (const void *addr)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - addr
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 343
      start: 341
    functionDepth: 0
    functionLinenumber: 341
    functionLinenumberEnd: 343
    functionName: mhd_GET_64BIT_LE
    functionSourceFile: /src/mhd2/src/mhd2/mhd_bithelpers.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: mhd_GET_64BIT_LE(addr)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - addr
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 346
      start: 344
    functionDepth: 0
    functionLinenumber: 344
    functionLinenumberEnd: 346
    functionName: mhd_GET_64BIT_LE
    functionSourceFile: /src/mhd2/src/mhd2/mhd_bithelpers.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: mhd_GET_64BIT_LE(addr)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - addr
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 349
      start: 348
    functionDepth: 0
    functionLinenumber: 348
    functionLinenumberEnd: 349
    functionName: mhd_GET_64BIT_LE
    functionSourceFile: /src/mhd2/src/mhd2/mhd_bithelpers.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: mhd_GET_64BIT_LE(addr)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - addr
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 354
      start: 353
    functionDepth: 0
    functionLinenumber: 353
    functionLinenumberEnd: 354
    functionName: mhd_GET_64BIT_LE_UNALIGN
    functionSourceFile: /src/mhd2/src/mhd2/mhd_bithelpers.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: mhd_GET_64BIT_LE_UNALIGN(addr)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: memcpy
      Src: /src/mhd2/src/mhd2/mhd_bithelpers.h:359,1
    - Dst: mhd_GET_64BIT_LE
      Src: /src/mhd2/src/mhd2/mhd_bithelpers.h:360,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - addr
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 361
      start: 355
    functionDepth: 1
    functionLinenumber: 355
    functionLinenumberEnd: 361
    functionName: mhd_GET_64BIT_LE_UNALIGN
    functionSourceFile: /src/mhd2/src/mhd2/mhd_bithelpers.h
    functionUses: 0
    functionsReached:
    - mhd_GET_64BIT_LE
    - memcpy
    linkageType: ''
    returnType: mhd_static_inline
    signature: mhd_static_inline mhd_GET_64BIT_LE_UNALIGN (const void *addr)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - addr
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 371
      start: 369
    functionDepth: 0
    functionLinenumber: 369
    functionLinenumberEnd: 371
    functionName: mhd_GET_UINTFAST32_LE
    functionSourceFile: /src/mhd2/src/mhd2/mhd_bithelpers.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: mhd_GET_UINTFAST32_LE(addr)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - addr
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 374
      start: 372
    functionDepth: 0
    functionLinenumber: 372
    functionLinenumberEnd: 374
    functionName: mhd_GET_UINTFAST32_LE
    functionSourceFile: /src/mhd2/src/mhd2/mhd_bithelpers.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: mhd_GET_UINTFAST32_LE(addr)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - addr
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 384
      start: 375
    functionDepth: 0
    functionLinenumber: 375
    functionLinenumberEnd: 384
    functionName: uint_fast32_t::mhd_GET_UINTFAST32_LE
    functionSourceFile: /src/mhd2/src/mhd2/mhd_bithelpers.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: mhd_static_inline
    signature: 'mhd_static_inline uint_fast32_t

      mhd_GET_UINTFAST32_LE(const void *addr)'
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 9
    argCount: 2
    argNames:
    - addr
    - value64
    argTypes:
    - void*
    - uint64_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 405
      start: 393
    functionDepth: 0
    functionLinenumber: 393
    functionLinenumberEnd: 405
    functionName: mhd_PUT_64BIT_BE_SLOW
    functionSourceFile: /src/mhd2/src/mhd2/mhd_bithelpers.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: mhd_static_inline
    signature: mhd_static_inline mhd_PUT_64BIT_BE_SLOW(void *addr, uint64_t value64)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - addr
    - ','
    - value64
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 409
      start: 407
    functionDepth: 0
    functionLinenumber: 407
    functionLinenumberEnd: 409
    functionName: mhd_PUT_64BIT_BE
    functionSourceFile: /src/mhd2/src/mhd2/mhd_bithelpers.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: mhd_PUT_64BIT_BE(addr, value64)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - addr
    - ','
    - value64
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 412
      start: 410
    functionDepth: 0
    functionLinenumber: 410
    functionLinenumberEnd: 412
    functionName: mhd_PUT_64BIT_BE
    functionSourceFile: /src/mhd2/src/mhd2/mhd_bithelpers.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: mhd_PUT_64BIT_BE(addr, value64)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - addr
    - ','
    - value64
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 415
      start: 414
    functionDepth: 0
    functionLinenumber: 414
    functionLinenumberEnd: 415
    functionName: mhd_PUT_64BIT_BE
    functionSourceFile: /src/mhd2/src/mhd2/mhd_bithelpers.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: mhd_PUT_64BIT_BE(addr, value64)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - addr
    - ','
    - value64
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 423
      start: 421
    functionDepth: 0
    functionLinenumber: 421
    functionLinenumberEnd: 423
    functionName: mhd_PUT_64BIT_BE_UNALIGN
    functionSourceFile: /src/mhd2/src/mhd2/mhd_bithelpers.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: mhd_PUT_64BIT_BE_UNALIGN(addr, value64)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - addr
    - ','
    - value64
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 429
      start: 424
    functionDepth: 0
    functionLinenumber: 424
    functionLinenumberEnd: 429
    functionName: mhd_PUT_64BIT_BE_UNALIGN
    functionSourceFile: /src/mhd2/src/mhd2/mhd_bithelpers.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: mhd_PUT_64BIT_BE_UNALIGN(addr, value64)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - addr
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 438
      start: 436
    functionDepth: 0
    functionLinenumber: 436
    functionLinenumberEnd: 438
    functionName: mhd_GET_64BIT_BE
    functionSourceFile: /src/mhd2/src/mhd2/mhd_bithelpers.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: mhd_GET_64BIT_BE(addr)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - addr
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 441
      start: 439
    functionDepth: 0
    functionLinenumber: 439
    functionLinenumberEnd: 441
    functionName: mhd_GET_64BIT_BE
    functionSourceFile: /src/mhd2/src/mhd2/mhd_bithelpers.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: mhd_GET_64BIT_BE(addr)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 10
    argCount: 1
    argNames:
    - addr
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 457
      start: 443
    functionDepth: 0
    functionLinenumber: 443
    functionLinenumberEnd: 457
    functionName: mhd_GET_64BIT_BE
    functionSourceFile: /src/mhd2/src/mhd2/mhd_bithelpers.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: mhd_static_inline
    signature: mhd_static_inline mhd_GET_64BIT_BE(const void *addr)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - addr
    - ','
    - value32
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 470
      start: 468
    functionDepth: 0
    functionLinenumber: 468
    functionLinenumberEnd: 470
    functionName: mhd_PUT_32BIT_BE
    functionSourceFile: /src/mhd2/src/mhd2/mhd_bithelpers.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: mhd_PUT_32BIT_BE(addr, value32)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - addr
    - ','
    - value32
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 473
      start: 471
    functionDepth: 0
    functionLinenumber: 471
    functionLinenumberEnd: 473
    functionName: mhd_PUT_32BIT_BE
    functionSourceFile: /src/mhd2/src/mhd2/mhd_bithelpers.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: mhd_PUT_32BIT_BE(addr, value32)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 2
    argNames:
    - addr
    - value32
    argTypes:
    - void*
    - uint32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 483
      start: 475
    functionDepth: 0
    functionLinenumber: 475
    functionLinenumberEnd: 483
    functionName: mhd_PUT_32BIT_BE
    functionSourceFile: /src/mhd2/src/mhd2/mhd_bithelpers.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: mhd_static_inline
    signature: mhd_static_inline mhd_PUT_32BIT_BE(void *addr, uint32_t value32)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - addr
    - ','
    - value32
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 492
      start: 490
    functionDepth: 0
    functionLinenumber: 490
    functionLinenumberEnd: 492
    functionName: mhd_PUT_32BIT_BE_UNALIGN
    functionSourceFile: /src/mhd2/src/mhd2/mhd_bithelpers.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: mhd_PUT_32BIT_BE_UNALIGN(addr, value32)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - addr
    - ','
    - value32
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 498
      start: 493
    functionDepth: 0
    functionLinenumber: 493
    functionLinenumberEnd: 498
    functionName: mhd_PUT_32BIT_BE_UNALIGN
    functionSourceFile: /src/mhd2/src/mhd2/mhd_bithelpers.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: mhd_PUT_32BIT_BE_UNALIGN(addr, value32)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - addr
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 508
      start: 506
    functionDepth: 0
    functionLinenumber: 506
    functionLinenumberEnd: 508
    functionName: mhd_GET_32BIT_BE
    functionSourceFile: /src/mhd2/src/mhd2/mhd_bithelpers.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: mhd_GET_32BIT_BE(addr)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - addr
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 511
      start: 509
    functionDepth: 0
    functionLinenumber: 509
    functionLinenumberEnd: 511
    functionName: mhd_GET_32BIT_BE
    functionSourceFile: /src/mhd2/src/mhd2/mhd_bithelpers.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: mhd_GET_32BIT_BE(addr)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 1
    argNames:
    - addr
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 523
      start: 513
    functionDepth: 0
    functionLinenumber: 513
    functionLinenumberEnd: 523
    functionName: mhd_GET_32BIT_BE
    functionSourceFile: /src/mhd2/src/mhd2/mhd_bithelpers.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: mhd_static_inline
    signature: mhd_static_inline mhd_GET_32BIT_BE(const void *addr)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - addr
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 530
      start: 529
    functionDepth: 0
    functionLinenumber: 529
    functionLinenumberEnd: 530
    functionName: mhd_GET_32BIT_BE_UNALIGN
    functionSourceFile: /src/mhd2/src/mhd2/mhd_bithelpers.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: mhd_GET_32BIT_BE_UNALIGN(addr)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: memcpy
      Src: /src/mhd2/src/mhd2/mhd_bithelpers.h:536,1
    - Dst: mhd_GET_32BIT_BE
      Src: /src/mhd2/src/mhd2/mhd_bithelpers.h:539,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - addr
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 540
      start: 532
    functionDepth: 1
    functionLinenumber: 532
    functionLinenumberEnd: 540
    functionName: mhd_GET_32BIT_BE_UNALIGN
    functionSourceFile: /src/mhd2/src/mhd2/mhd_bithelpers.h
    functionUses: 0
    functionsReached:
    - memcpy
    - mhd_GET_32BIT_BE
    linkageType: ''
    returnType: mhd_static_inline
    signature: mhd_static_inline mhd_GET_32BIT_BE_UNALIGN (const void *addr)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - addr
    - ','
    - uif32
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 552
      start: 550
    functionDepth: 0
    functionLinenumber: 550
    functionLinenumberEnd: 552
    functionName: mhd_PUT_UINTFAST32_BE
    functionSourceFile: /src/mhd2/src/mhd2/mhd_bithelpers.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: mhd_PUT_UINTFAST32_BE(addr, uif32)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - addr
    - ','
    - uif32
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 555
      start: 553
    functionDepth: 0
    functionLinenumber: 553
    functionLinenumberEnd: 555
    functionName: mhd_PUT_UINTFAST32_BE
    functionSourceFile: /src/mhd2/src/mhd2/mhd_bithelpers.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: mhd_PUT_UINTFAST32_BE(addr, uif32)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 3
    argCount: 2
    argNames:
    - addr
    - uif32
    argTypes:
    - void*
    - uint_fast32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 563
      start: 556
    functionDepth: 0
    functionLinenumber: 556
    functionLinenumberEnd: 563
    functionName: mhd_PUT_UINTFAST32_BE
    functionSourceFile: /src/mhd2/src/mhd2/mhd_bithelpers.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: mhd_static_inline
    signature: mhd_static_inline mhd_PUT_UINTFAST32_BE(void *addr, uint_fast32_t uif32)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - addr
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 572
      start: 570
    functionDepth: 0
    functionLinenumber: 570
    functionLinenumberEnd: 572
    functionName: mhd_GET_UINTFAST32_BE
    functionSourceFile: /src/mhd2/src/mhd2/mhd_bithelpers.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: mhd_GET_UINTFAST32_BE(addr)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - addr
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 575
      start: 573
    functionDepth: 0
    functionLinenumber: 573
    functionLinenumberEnd: 575
    functionName: mhd_GET_UINTFAST32_BE
    functionSourceFile: /src/mhd2/src/mhd2/mhd_bithelpers.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: mhd_GET_UINTFAST32_BE(addr)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - addr
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 588
      start: 576
    functionDepth: 0
    functionLinenumber: 576
    functionLinenumberEnd: 588
    functionName: uint_fast32_t::mhd_GET_UINTFAST32_BE
    functionSourceFile: /src/mhd2/src/mhd2/mhd_bithelpers.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: mhd_static_inline
    signature: 'mhd_static_inline uint_fast32_t

      mhd_GET_UINTFAST32_BE(const void *addr)'
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - addr
    - ','
    - value16
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 599
      start: 597
    functionDepth: 0
    functionLinenumber: 597
    functionLinenumberEnd: 599
    functionName: mhd_PUT_16BIT_BE
    functionSourceFile: /src/mhd2/src/mhd2/mhd_bithelpers.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: mhd_PUT_16BIT_BE(addr, value16)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - addr
    - ','
    - value16
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 602
      start: 600
    functionDepth: 0
    functionLinenumber: 600
    functionLinenumberEnd: 602
    functionName: mhd_PUT_16BIT_BE
    functionSourceFile: /src/mhd2/src/mhd2/mhd_bithelpers.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: mhd_PUT_16BIT_BE(addr, value16)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - addr
    - value16
    argTypes:
    - void*
    - uint16_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 610
      start: 604
    functionDepth: 0
    functionLinenumber: 604
    functionLinenumberEnd: 610
    functionName: mhd_PUT_16BIT_BE
    functionSourceFile: /src/mhd2/src/mhd2/mhd_bithelpers.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: mhd_static_inline
    signature: mhd_static_inline mhd_PUT_16BIT_BE(void *addr, uint16_t value16)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - addr
    - ','
    - value16
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 619
      start: 617
    functionDepth: 0
    functionLinenumber: 617
    functionLinenumberEnd: 619
    functionName: mhd_PUT_16BIT_BE_UNALIGN
    functionSourceFile: /src/mhd2/src/mhd2/mhd_bithelpers.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: mhd_PUT_16BIT_BE_UNALIGN(addr, value16)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - addr
    - ','
    - value16
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 625
      start: 620
    functionDepth: 0
    functionLinenumber: 620
    functionLinenumberEnd: 625
    functionName: mhd_PUT_16BIT_BE_UNALIGN
    functionSourceFile: /src/mhd2/src/mhd2/mhd_bithelpers.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: mhd_PUT_16BIT_BE_UNALIGN(addr, value16)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - addr
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 634
      start: 632
    functionDepth: 0
    functionLinenumber: 632
    functionLinenumberEnd: 634
    functionName: mhd_GET_16BIT_BE
    functionSourceFile: /src/mhd2/src/mhd2/mhd_bithelpers.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: mhd_GET_16BIT_BE(addr)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - addr
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 637
      start: 635
    functionDepth: 0
    functionLinenumber: 635
    functionLinenumberEnd: 637
    functionName: mhd_GET_16BIT_BE
    functionSourceFile: /src/mhd2/src/mhd2/mhd_bithelpers.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: mhd_GET_16BIT_BE(addr)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - addr
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 644
      start: 639
    functionDepth: 0
    functionLinenumber: 639
    functionLinenumberEnd: 644
    functionName: mhd_GET_16BIT_BE
    functionSourceFile: /src/mhd2/src/mhd2/mhd_bithelpers.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: mhd_static_inline
    signature: mhd_static_inline mhd_GET_16BIT_BE(const void *addr)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - addr
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 651
      start: 650
    functionDepth: 0
    functionLinenumber: 650
    functionLinenumberEnd: 651
    functionName: mhd_GET_16BIT_BE_UNALIGN
    functionSourceFile: /src/mhd2/src/mhd2/mhd_bithelpers.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: mhd_GET_16BIT_BE_UNALIGN(addr)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: memcpy
      Src: /src/mhd2/src/mhd2/mhd_bithelpers.h:657,1
    - Dst: mhd_GET_16BIT_BE
      Src: /src/mhd2/src/mhd2/mhd_bithelpers.h:660,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - addr
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 661
      start: 653
    functionDepth: 1
    functionLinenumber: 653
    functionLinenumberEnd: 661
    functionName: mhd_GET_16BIT_BE_UNALIGN
    functionSourceFile: /src/mhd2/src/mhd2/mhd_bithelpers.h
    functionUses: 0
    functionsReached:
    - memcpy
    - mhd_GET_16BIT_BE
    linkageType: ''
    returnType: mhd_static_inline
    signature: mhd_static_inline mhd_GET_16BIT_BE_UNALIGN (const void *addr)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - value32
    - ','
    - bits
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 673
      start: 671
    functionDepth: 0
    functionLinenumber: 671
    functionLinenumberEnd: 673
    functionName: mhd_ROTR32
    functionSourceFile: /src/mhd2/src/mhd2/mhd_bithelpers.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: mhd_ROTR32(value32, bits)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - value32
    - ','
    - bits
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 676
      start: 674
    functionDepth: 0
    functionLinenumber: 674
    functionLinenumberEnd: 676
    functionName: mhd_ROTR32
    functionSourceFile: /src/mhd2/src/mhd2/mhd_bithelpers.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: mhd_ROTR32(value32, bits)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - value32
    - ','
    - bits
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 679
      start: 677
    functionDepth: 0
    functionLinenumber: 677
    functionLinenumberEnd: 679
    functionName: mhd_ROTR32
    functionSourceFile: /src/mhd2/src/mhd2/mhd_bithelpers.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: mhd_ROTR32(value32, bits)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - value32
    - bits
    argTypes:
    - uint32_t
    - unsigned int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 685
      start: 680
    functionDepth: 0
    functionLinenumber: 680
    functionLinenumberEnd: 685
    functionName: mhd_ROTR32
    functionSourceFile: /src/mhd2/src/mhd2/mhd_bithelpers.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: mhd_static_inline
    signature: mhd_static_inline mhd_ROTR32 (uint32_t value32, unsigned int bits)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - value32
    - ','
    - bits
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 700
      start: 698
    functionDepth: 0
    functionLinenumber: 698
    functionLinenumberEnd: 700
    functionName: mhd_ROTL32
    functionSourceFile: /src/mhd2/src/mhd2/mhd_bithelpers.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: mhd_ROTL32(value32, bits)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - value32
    - ','
    - bits
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 703
      start: 701
    functionDepth: 0
    functionLinenumber: 701
    functionLinenumberEnd: 703
    functionName: mhd_ROTL32
    functionSourceFile: /src/mhd2/src/mhd2/mhd_bithelpers.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: mhd_ROTL32(value32, bits)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - value32
    - ','
    - bits
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 706
      start: 704
    functionDepth: 0
    functionLinenumber: 704
    functionLinenumberEnd: 706
    functionName: mhd_ROTL32
    functionSourceFile: /src/mhd2/src/mhd2/mhd_bithelpers.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: mhd_ROTL32(value32, bits)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - value32
    - bits
    argTypes:
    - uint32_t
    - unsigned int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 712
      start: 707
    functionDepth: 0
    functionLinenumber: 707
    functionLinenumberEnd: 712
    functionName: mhd_ROTL32
    functionSourceFile: /src/mhd2/src/mhd2/mhd_bithelpers.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: mhd_static_inline
    signature: mhd_static_inline mhd_ROTL32 (uint32_t value32, unsigned int bits)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - value64
    - ','
    - bits
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 727
      start: 725
    functionDepth: 0
    functionLinenumber: 725
    functionLinenumberEnd: 727
    functionName: mhd_ROTR64
    functionSourceFile: /src/mhd2/src/mhd2/mhd_bithelpers.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: mhd_ROTR64(value64, bits)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - value64
    - ','
    - bits
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 730
      start: 728
    functionDepth: 0
    functionLinenumber: 728
    functionLinenumberEnd: 730
    functionName: mhd_ROTR64
    functionSourceFile: /src/mhd2/src/mhd2/mhd_bithelpers.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: mhd_ROTR64(value64, bits)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - value64
    - ','
    - bits
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 733
      start: 731
    functionDepth: 0
    functionLinenumber: 731
    functionLinenumberEnd: 733
    functionName: mhd_ROTR64
    functionSourceFile: /src/mhd2/src/mhd2/mhd_bithelpers.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: mhd_ROTR64(value64, bits)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - value64
    - bits
    argTypes:
    - uint64_t
    - unsigned int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 739
      start: 734
    functionDepth: 0
    functionLinenumber: 734
    functionLinenumberEnd: 739
    functionName: mhd_ROTR64
    functionSourceFile: /src/mhd2/src/mhd2/mhd_bithelpers.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: mhd_static_inline
    signature: mhd_static_inline mhd_ROTR64 (uint64_t value64, unsigned int bits)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - val32
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 753
      start: 751
    functionDepth: 0
    functionLinenumber: 751
    functionLinenumberEnd: 753
    functionName: mhd_LEADING_ZEROS32NZ
    functionSourceFile: /src/mhd2/src/mhd2/mhd_bithelpers.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: mhd_LEADING_ZEROS32NZ(val32)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - val32
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 756
      start: 754
    functionDepth: 0
    functionLinenumber: 754
    functionLinenumberEnd: 756
    functionName: mhd_LEADING_ZEROS32NZ
    functionSourceFile: /src/mhd2/src/mhd2/mhd_bithelpers.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: mhd_LEADING_ZEROS32NZ(val32)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - val32
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 760
      start: 758
    functionDepth: 0
    functionLinenumber: 758
    functionLinenumberEnd: 760
    functionName: mhd_LEADING_ZEROS32NZ
    functionSourceFile: /src/mhd2/src/mhd2/mhd_bithelpers.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: mhd_LEADING_ZEROS32NZ(val32)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - val32
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 764
      start: 761
    functionDepth: 0
    functionLinenumber: 761
    functionLinenumberEnd: 764
    functionName: mhd_LEADING_ZEROS32NZ
    functionSourceFile: /src/mhd2/src/mhd2/mhd_bithelpers.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: mhd_LEADING_ZEROS32NZ(val32)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: _BitScanReverse
      Src: /src/mhd2/src/mhd2/mhd_bithelpers.h:785,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - val32
    argTypes:
    - uint_least32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 787
      start: 781
    functionDepth: 0
    functionLinenumber: 781
    functionLinenumberEnd: 787
    functionName: uint_least8_t::mhd_bh_func_bit_width32nz
    functionSourceFile: /src/mhd2/src/mhd2/mhd_bithelpers.h
    functionUses: 0
    functionsReached:
    - _BitScanReverse
    linkageType: ''
    returnType: mhd_static_inline
    signature: 'mhd_static_inline uint_least8_t

      mhd_bh_func_bit_width32nz(uint_least32_t val32)'
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - val32
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 789
      start: 788
    functionDepth: 0
    functionLinenumber: 788
    functionLinenumberEnd: 789
    functionName: mhd_BIT_WIDTH32NZ
    functionSourceFile: /src/mhd2/src/mhd2/mhd_bithelpers.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: mhd_BIT_WIDTH32NZ(val32)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - val32
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 803
      start: 801
    functionDepth: 0
    functionLinenumber: 801
    functionLinenumberEnd: 803
    functionName: mhd_LEADING_ZEROS32
    functionSourceFile: /src/mhd2/src/mhd2/mhd_bithelpers.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: mhd_LEADING_ZEROS32(val32)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - val32
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 808
      start: 804
    functionDepth: 0
    functionLinenumber: 804
    functionLinenumberEnd: 808
    functionName: mhd_LEADING_ZEROS32
    functionSourceFile: /src/mhd2/src/mhd2/mhd_bithelpers.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: mhd_LEADING_ZEROS32(val32)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - val32
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 820
      start: 818
    functionDepth: 0
    functionLinenumber: 818
    functionLinenumberEnd: 820
    functionName: mhd_LEADING_ZEROS32
    functionSourceFile: /src/mhd2/src/mhd2/mhd_bithelpers.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: mhd_LEADING_ZEROS32(val32)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - val32
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 825
      start: 822
    functionDepth: 0
    functionLinenumber: 822
    functionLinenumberEnd: 825
    functionName: mhd_LEADING_ZEROS32
    functionSourceFile: /src/mhd2/src/mhd2/mhd_bithelpers.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: mhd_LEADING_ZEROS32(val32)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - val32
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 830
      start: 826
    functionDepth: 0
    functionLinenumber: 826
    functionLinenumberEnd: 830
    functionName: mhd_LEADING_ZEROS32
    functionSourceFile: /src/mhd2/src/mhd2/mhd_bithelpers.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: mhd_LEADING_ZEROS32(val32)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: _BitScanReverse
      Src: /src/mhd2/src/mhd2/mhd_bithelpers.h:852,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - val32
    argTypes:
    - uint_least32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 855
      start: 848
    functionDepth: 0
    functionLinenumber: 848
    functionLinenumberEnd: 855
    functionName: uint_least8_t::mhd_bh_func_bit_width32
    functionSourceFile: /src/mhd2/src/mhd2/mhd_bithelpers.h
    functionUses: 0
    functionsReached:
    - _BitScanReverse
    linkageType: ''
    returnType: mhd_static_inline
    signature: 'mhd_static_inline uint_least8_t

      mhd_bh_func_bit_width32(uint_least32_t val32)'
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - val32
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 857
      start: 856
    functionDepth: 0
    functionLinenumber: 856
    functionLinenumberEnd: 857
    functionName: mhd_BIT_WIDTH32
    functionSourceFile: /src/mhd2/src/mhd2/mhd_bithelpers.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: mhd_BIT_WIDTH32(val32)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - val32
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 860
      start: 858
    functionDepth: 0
    functionLinenumber: 858
    functionLinenumberEnd: 860
    functionName: mhd_BIT_WIDTH32
    functionSourceFile: /src/mhd2/src/mhd2/mhd_bithelpers.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: mhd_BIT_WIDTH32(val32)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - val32
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 868
      start: 866
    functionDepth: 0
    functionLinenumber: 866
    functionLinenumberEnd: 868
    functionName: mhd_LEADING_ZEROS32NZ
    functionSourceFile: /src/mhd2/src/mhd2/mhd_bithelpers.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: mhd_LEADING_ZEROS32NZ(val32)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - val32
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 875
      start: 873
    functionDepth: 0
    functionLinenumber: 873
    functionLinenumberEnd: 875
    functionName: mhd_BIT_WIDTH32NZ
    functionSourceFile: /src/mhd2/src/mhd2/mhd_bithelpers.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: mhd_BIT_WIDTH32NZ(val32)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - val32
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 882
      start: 880
    functionDepth: 0
    functionLinenumber: 880
    functionLinenumberEnd: 882
    functionName: mhd_LEADING_ZEROS32
    functionSourceFile: /src/mhd2/src/mhd2/mhd_bithelpers.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: mhd_LEADING_ZEROS32(val32)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - val32
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 889
      start: 887
    functionDepth: 0
    functionLinenumber: 887
    functionLinenumberEnd: 889
    functionName: mhd_BIT_WIDTH32
    functionSourceFile: /src/mhd2/src/mhd2/mhd_bithelpers.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: mhd_BIT_WIDTH32(val32)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - val32
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 895
      start: 894
    functionDepth: 0
    functionLinenumber: 894
    functionLinenumberEnd: 895
    functionName: mhd_LEADING_ZEROS32NZ
    functionSourceFile: /src/mhd2/src/mhd2/mhd_bithelpers.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: mhd_LEADING_ZEROS32NZ(val32)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - val32
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 896
      start: 895
    functionDepth: 0
    functionLinenumber: 895
    functionLinenumberEnd: 896
    functionName: mhd_BIT_WIDTH32NZ
    functionSourceFile: /src/mhd2/src/mhd2/mhd_bithelpers.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: mhd_BIT_WIDTH32NZ(val32)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: mhd_LEADING_ZEROS32NZ
      Src: /src/mhd2/src/mhd2/mhd_bithelpers.h:905,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - val32
    argTypes:
    - uint_least32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 906
      start: 900
    functionDepth: 1
    functionLinenumber: 900
    functionLinenumberEnd: 906
    functionName: uint_least8_t::mhd_bh_func_leading_zeros32
    functionSourceFile: /src/mhd2/src/mhd2/mhd_bithelpers.h
    functionUses: 0
    functionsReached:
    - mhd_LEADING_ZEROS32NZ
    linkageType: ''
    returnType: mhd_static_inline
    signature: 'mhd_static_inline uint_least8_t

      mhd_bh_func_leading_zeros32(uint_least32_t val32)'
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: mhd_BIT_WIDTH32NZ
      Src: /src/mhd2/src/mhd2/mhd_bithelpers.h:913,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - val32
    argTypes:
    - uint_least32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 914
      start: 908
    functionDepth: 1
    functionLinenumber: 908
    functionLinenumberEnd: 914
    functionName: uint_least8_t::mhd_bh_func_bit_width32
    functionSourceFile: /src/mhd2/src/mhd2/mhd_bithelpers.h
    functionUses: 0
    functionsReached:
    - mhd_BIT_WIDTH32NZ
    linkageType: ''
    returnType: mhd_static_inline
    signature: 'mhd_static_inline uint_least8_t

      mhd_bh_func_bit_width32(uint_least32_t val32)'
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - val32
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 917
      start: 916
    functionDepth: 0
    functionLinenumber: 916
    functionLinenumberEnd: 917
    functionName: mhd_LEADING_ZEROS32
    functionSourceFile: /src/mhd2/src/mhd2/mhd_bithelpers.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: mhd_LEADING_ZEROS32(val32)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - val32
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 918
      start: 917
    functionDepth: 0
    functionLinenumber: 917
    functionLinenumberEnd: 918
    functionName: mhd_BIT_WIDTH32
    functionSourceFile: /src/mhd2/src/mhd2/mhd_bithelpers.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: mhd_BIT_WIDTH32(val32)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/mhd_bithelpers.h:947,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 18
    argCount: 1
    argNames:
    - val32
    argTypes:
    - uint_least32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 972
      start: 941
    functionDepth: 1
    functionLinenumber: 941
    functionLinenumberEnd: 972
    functionName: uint_least8_t::mhd_bh_func_bit_width32
    functionSourceFile: /src/mhd2/src/mhd2/mhd_bithelpers.h
    functionUses: 0
    functionsReached:
    - mhd_assert
    linkageType: ''
    returnType: mhd_static_inline
    signature: 'mhd_static_inline uint_least8_t

      mhd_bh_func_bit_width32(uint_least32_t val32)'
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - val32
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 977
      start: 974
    functionDepth: 0
    functionLinenumber: 974
    functionLinenumberEnd: 977
    functionName: mhd_LEADING_ZEROS32NZ
    functionSourceFile: /src/mhd2/src/mhd2/mhd_bithelpers.h
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: mhd_LEADING_ZEROS32NZ(val32)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - val32
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 978
      start: 977
    functionDepth: 0
    functionLinenumber: 977
    functionLinenumberEnd: 978
    functionName: mhd_BIT_WIDTH32NZ
    functionSourceFile: /src/mhd2/src/mhd2/mhd_bithelpers.h
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: mhd_BIT_WIDTH32NZ(val32)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - val32
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 981
      start: 978
    functionDepth: 0
    functionLinenumber: 978
    functionLinenumberEnd: 981
    functionName: mhd_LEADING_ZEROS32
    functionSourceFile: /src/mhd2/src/mhd2/mhd_bithelpers.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: mhd_LEADING_ZEROS32(val32)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - val32
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 982
      start: 981
    functionDepth: 0
    functionLinenumber: 981
    functionLinenumberEnd: 982
    functionName: mhd_BIT_WIDTH32
    functionSourceFile: /src/mhd2/src/mhd2/mhd_bithelpers.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: mhd_BIT_WIDTH32(val32)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - val32
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 997
      start: 995
    functionDepth: 0
    functionLinenumber: 995
    functionLinenumberEnd: 997
    functionName: mhd_LEADING_ONES32
    functionSourceFile: /src/mhd2/src/mhd2/mhd_bithelpers.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: mhd_LEADING_ONES32(val32)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - val32
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1001
      start: 998
    functionDepth: 0
    functionLinenumber: 998
    functionLinenumberEnd: 1001
    functionName: mhd_LEADING_ONES32
    functionSourceFile: /src/mhd2/src/mhd2/mhd_bithelpers.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: mhd_LEADING_ONES32(val32)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/upgrade_proc.c:72,1
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/upgrade_proc.c:73,1
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/upgrade_proc.c:75,1
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/upgrade_proc.c:76,1
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/upgrade_proc.c:77,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 10
    argCount: 1
    argNames:
    - c
    argTypes:
    - struct MHD_Connection*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 85
      start: 69
    functionDepth: 1
    functionLinenumber: 69
    functionLinenumberEnd: 85
    functionName: mhd_upgrade_try_start_upgrading
    functionSourceFile: /src/mhd2/src/mhd2/upgrade_proc.c
    functionUses: 0
    functionsReached:
    - mhd_assert
    linkageType: ''
    returnType: bool
    signature: bool mhd_upgrade_try_start_upgrading (struct MHD_Connection *restrict
      c)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/upgrade_proc.c:93,1
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/upgrade_proc.c:94,1
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/upgrade_proc.c:95,1
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/upgrade_proc.c:96,1
    - Dst: mhd_mutex_init
      Src: /src/mhd2/src/mhd2/upgrade_proc.c:105,1
    - Dst: mhd_LOG_MSG
      Src: /src/mhd2/src/mhd2/upgrade_proc.c:108,1
    - Dst: mhd_conn_start_closing_no_sys_res
      Src: /src/mhd2/src/mhd2/upgrade_proc.c:111,1
    - Dst: mhd_DLINKEDL_INIT_LINKS
      Src: /src/mhd2/src/mhd2/upgrade_proc.c:114,1
    - Dst: mhd_stream_release_write_buffer
      Src: /src/mhd2/src/mhd2/upgrade_proc.c:115,1
    - Dst: mhd_conn_pre_upgrade
      Src: /src/mhd2/src/mhd2/upgrade_proc.c:116,1
    - Dst: mhd_conn_pre_clean_part1
      Src: /src/mhd2/src/mhd2/upgrade_proc.c:118,1
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/upgrade_proc.c:122,1
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/upgrade_proc.c:123,1
    - Dst: mhd_DLINKEDL_GET_PREV
      Src: /src/mhd2/src/mhd2/upgrade_proc.c:123,1
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/upgrade_proc.c:124,1
    - Dst: mhd_DLINKEDL_GET_NEXT
      Src: /src/mhd2/src/mhd2/upgrade_proc.c:124,1
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/upgrade_proc.c:125,1
    - Dst: mhd_DLINKEDL_GET_FIRST
      Src: /src/mhd2/src/mhd2/upgrade_proc.c:125,1
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/upgrade_proc.c:126,1
    - Dst: mhd_DLINKEDL_GET_LAST
      Src: /src/mhd2/src/mhd2/upgrade_proc.c:126,1
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/upgrade_proc.c:127,1
    - Dst: mhd_DLINKEDL_GET_FIRST
      Src: /src/mhd2/src/mhd2/upgrade_proc.c:127,1
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/upgrade_proc.c:128,1
    - Dst: mhd_DLINKEDL_GET_LAST
      Src: /src/mhd2/src/mhd2/upgrade_proc.c:128,1
    - Dst: struct mhd_UpgradeActionData*::cb
      Src: /src/mhd2/src/mhd2/upgrade_proc.c:130,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 27
    argCount: 1
    argNames:
    - c
    argTypes:
    - struct MHD_Connection*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 134
      start: 89
    functionDepth: 1
    functionLinenumber: 89
    functionLinenumberEnd: 134
    functionName: mhd_upgrade_finish_switch_to_upgraded
    functionSourceFile: /src/mhd2/src/mhd2/upgrade_proc.c
    functionUses: 0
    functionsReached:
    - mhd_conn_start_closing_no_sys_res
    - mhd_DLINKEDL_GET_LAST
    - mhd_stream_release_write_buffer
    - mhd_conn_pre_upgrade
    - mhd_mutex_init
    - mhd_DLINKEDL_INIT_LINKS
    - mhd_LOG_MSG
    - struct mhd_UpgradeActionData*::cb
    - mhd_DLINKEDL_GET_PREV
    - mhd_conn_pre_clean_part1
    - mhd_DLINKEDL_GET_NEXT
    - mhd_assert
    - mhd_DLINKEDL_GET_FIRST
    linkageType: ''
    returnType: bool
    signature: bool mhd_upgrade_finish_switch_to_upgraded (struct MHD_Connection *restrict
      c)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: mhd_mutex_lock_chk
      Src: /src/mhd2/src/mhd2/upgrade_proc.c:148,1
    - Dst: mhd_DLINKEDL_INS_LAST
      Src: /src/mhd2/src/mhd2/upgrade_proc.c:149,1
    - Dst: mhd_mutex_unlock_chk
      Src: /src/mhd2/src/mhd2/upgrade_proc.c:150,1
    - Dst: mhd_daemon_trigger_itc
      Src: /src/mhd2/src/mhd2/upgrade_proc.c:151,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 9
    argCount: 1
    argNames:
    - urh
    argTypes:
    - struct MHD_UpgradedHandle*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 154
      start: 138
    functionDepth: 1
    functionLinenumber: 138
    functionLinenumberEnd: 154
    functionName: MHD_upgraded_close
    functionSourceFile: /src/mhd2/src/mhd2/upgrade_proc.c
    functionUses: 1
    functionsReached:
    - mhd_daemon_trigger_itc
    - mhd_mutex_lock_chk
    - mhd_mutex_unlock_chk
    - mhd_DLINKEDL_INS_LAST
    linkageType: ''
    returnType: enum MHD_StatusCode
    signature: enum MHD_StatusCode MHD_upgraded_close (struct MHD_UpgradedHandle *urh)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/upgrade_proc.c:161,1
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/upgrade_proc.c:163,1
    - Dst: mhd_mutex_destroy_chk
      Src: /src/mhd2/src/mhd2/upgrade_proc.c:165,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - c
    argTypes:
    - struct MHD_Connection*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 166
      start: 158
    functionDepth: 1
    functionLinenumber: 158
    functionLinenumberEnd: 166
    functionName: mhd_upgraded_deinit
    functionSourceFile: /src/mhd2/src/mhd2/upgrade_proc.c
    functionUses: 0
    functionsReached:
    - mhd_mutex_destroy_chk
    - mhd_assert
    linkageType: ''
    returnType: void
    signature: void mhd_upgraded_deinit (struct MHD_Connection *restrict c)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: mbedtls_sha256_init
      Src: /src/mhd2/src/mhd2/sha256_mbedtls.c:57,1
    - Dst: mbedtls_sha256_starts
      Src: /src/mhd2/src/mhd2/sha256_mbedtls.c:59,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - ctx
    argTypes:
    - struct mhd_Sha256CtxMtls*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 61
      start: 54
    functionDepth: 0
    functionLinenumber: 54
    functionLinenumberEnd: 61
    functionName: mhd_SHA256_mtls_init
    functionSourceFile: /src/mhd2/src/mhd2/sha256_mbedtls.c
    functionUses: 0
    functionsReached:
    - mbedtls_sha256_starts
    - mbedtls_sha256_init
    linkageType: ''
    returnType: void
    signature: void mhd_SHA256_mtls_init (struct mhd_Sha256CtxMtls *ctx)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: mbedtls_sha256_starts
      Src: /src/mhd2/src/mhd2/sha256_mbedtls.c:71,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - ctx
    argTypes:
    - struct mhd_Sha256CtxMtls*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 73
      start: 64
    functionDepth: 0
    functionLinenumber: 64
    functionLinenumberEnd: 73
    functionName: mhd_SHA256_mtls_reset
    functionSourceFile: /src/mhd2/src/mhd2/sha256_mbedtls.c
    functionUses: 0
    functionsReached:
    - mbedtls_sha256_starts
    linkageType: ''
    returnType: void
    signature: void mhd_SHA256_mtls_reset (struct mhd_Sha256CtxMtls *ctx)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/sha256_mbedtls.c:83,1
    - Dst: mbedtls_sha256_update
      Src: /src/mhd2/src/mhd2/sha256_mbedtls.c:89,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 3
    argNames:
    - ctx
    - size
    - data
    argTypes:
    - struct mhd_Sha256CtxMtls*
    - size_t
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 92
      start: 77
    functionDepth: 1
    functionLinenumber: 77
    functionLinenumberEnd: 92
    functionName: mhd_SHA256_mtls_update
    functionSourceFile: /src/mhd2/src/mhd2/sha256_mbedtls.c
    functionUses: 0
    functionsReached:
    - mbedtls_sha256_update
    - mhd_assert
    linkageType: ''
    returnType: void
    signature: "void mhd_SHA256_mtls_update (struct mhd_Sha256CtxMtls *restrict ctx,\n
      \                       size_t size,\n                        const void *restrict
      data)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: MHD_FN_PAR_FIX_ARR_SIZE_
      Src: /src/mhd2/src/mhd2/sha256_mbedtls.c:99,1
    - Dst: mbedtls_sha256_finish
      Src: /src/mhd2/src/mhd2/sha256_mbedtls.c:104,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 2
    argNames:
    - ctx
    - digest
    argTypes:
    - struct mhd_Sha256CtxMtls*
    - uint8_t[]
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 106
      start: 96
    functionDepth: 0
    functionLinenumber: 96
    functionLinenumberEnd: 106
    functionName: mhd_SHA256_mtls_finish
    functionSourceFile: /src/mhd2/src/mhd2/sha256_mbedtls.c
    functionUses: 0
    functionsReached:
    - mbedtls_sha256_finish
    - MHD_FN_PAR_FIX_ARR_SIZE_
    linkageType: ''
    returnType: void
    signature: "void mhd_SHA256_mtls_finish (\n  struct mhd_Sha256CtxMtls *restrict
      ctx,\n  uint8_t digest[MHD_FN_PAR_FIX_ARR_SIZE_ (mhd_SHA256_DIGEST_SIZE)])"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: mbedtls_sha256_free
      Src: /src/mhd2/src/mhd2/sha256_mbedtls.c:112,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ctx
    argTypes:
    - struct mhd_Sha256CtxMtls*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 113
      start: 109
    functionDepth: 0
    functionLinenumber: 109
    functionLinenumberEnd: 113
    functionName: mhd_SHA256_mtls_deinit
    functionSourceFile: /src/mhd2/src/mhd2/sha256_mbedtls.c
    functionUses: 0
    functionsReached:
    - mbedtls_sha256_free
    linkageType: ''
    returnType: void
    signature: void mhd_SHA256_mtls_deinit (struct mhd_Sha256CtxMtls *ctx)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: mhd_response_remove_auth_digest_headers
      Src: /src/mhd2/src/mhd2/response_destroy.c:78,1
    - Dst: mhd_response_remove_all_headers
      Src: /src/mhd2/src/mhd2/response_destroy.c:80,1
    - Dst: free
      Src: /src/mhd2/src/mhd2/response_destroy.c:82,1
    - Dst: mhd_response_deinit_reusable
      Src: /src/mhd2/src/mhd2/response_destroy.c:84,1
    - Dst: mhd_response_deinit_content_data
      Src: /src/mhd2/src/mhd2/response_destroy.c:85,1
    - Dst: free
      Src: /src/mhd2/src/mhd2/response_destroy.c:88,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 1
    argNames:
    - r
    argTypes:
    - struct MHD_Response*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 89
      start: 74
    functionDepth: 1
    functionLinenumber: 74
    functionLinenumberEnd: 89
    functionName: '(1) void

      response_full_deinit (struct MHD_Response *restrict r)'
    functionSourceFile: /src/mhd2/src/mhd2/response_destroy.c
    functionUses: 0
    functionsReached:
    - mhd_response_deinit_content_data
    - free
    - mhd_response_remove_auth_digest_headers
    - mhd_response_deinit_reusable
    - mhd_response_remove_all_headers
    linkageType: ''
    returnType: MHD_FN_PAR_NONNULL_
    signature: 'MHD_FN_PAR_NONNULL_ (1) void

      response_full_deinit (struct MHD_Response *restrict r)'
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/response_destroy.c:95,1
    - Dst: MHD_PANIC
      Src: /src/mhd2/src/mhd2/response_destroy.c:97,1
    - Dst: mhd_atomic_counter_get_dec
      Src: /src/mhd2/src/mhd2/response_destroy.c:101,1
    - Dst: response_full_deinit
      Src: /src/mhd2/src/mhd2/response_destroy.c:105,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 9
    argCount: 1
    argNames:
    - r
    argTypes:
    - struct MHD_Response*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 106
      start: 92
    functionDepth: 1
    functionLinenumber: 92
    functionLinenumberEnd: 106
    functionName: mhd_response_dec_use_count
    functionSourceFile: /src/mhd2/src/mhd2/response_destroy.c
    functionUses: 2
    functionsReached:
    - MHD_PANIC
    - mhd_assert
    - mhd_atomic_counter_get_dec
    - response_full_deinit
    linkageType: ''
    returnType: MHD_INTERNAL
    signature: MHD_INTERNAL mhd_response_dec_use_count (struct MHD_Response *restrict
      r)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/response_destroy.c:112,1
    - Dst: MHD_PANIC
      Src: /src/mhd2/src/mhd2/response_destroy.c:114,1
    - Dst: mhd_atomic_counter_inc
      Src: /src/mhd2/src/mhd2/response_destroy.c:119,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 1
    argNames:
    - r
    argTypes:
    - struct MHD_Response*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 120
      start: 109
    functionDepth: 1
    functionLinenumber: 109
    functionLinenumberEnd: 120
    functionName: mhd_response_inc_use_count
    functionSourceFile: /src/mhd2/src/mhd2/response_destroy.c
    functionUses: 2
    functionsReached:
    - mhd_atomic_counter_inc
    - MHD_PANIC
    - mhd_assert
    linkageType: ''
    returnType: MHD_INTERNAL
    signature: MHD_INTERNAL mhd_response_inc_use_count (struct MHD_Response *restrict
      r)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: MHD_PANIC
      Src: /src/mhd2/src/mhd2/response_destroy.c:128,1
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/response_destroy.c:133,1
    - Dst: free
      Src: /src/mhd2/src/mhd2/response_destroy.c:134,1
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/response_destroy.c:138,1
    - Dst: mhd_atomic_counter_get_dec
      Src: /src/mhd2/src/mhd2/response_destroy.c:138,1
    - Dst: response_full_deinit
      Src: /src/mhd2/src/mhd2/response_destroy.c:140,1
    - Dst: mhd_response_dec_use_count
      Src: /src/mhd2/src/mhd2/response_destroy.c:144,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 12
    argCount: 1
    argNames:
    - response
    argTypes:
    - struct MHD_Response*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 145
      start: 124
    functionDepth: 2
    functionLinenumber: 124
    functionLinenumberEnd: 145
    functionName: MHD_response_destroy
    functionSourceFile: /src/mhd2/src/mhd2/response_destroy.c
    functionUses: 12
    functionsReached:
    - MHD_PANIC
    - free
    - mhd_atomic_counter_get_dec
    - mhd_response_dec_use_count
    - mhd_assert
    - response_full_deinit
    linkageType: ''
    returnType: void
    signature: void MHD_response_destroy (struct MHD_Response *response)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - statement
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 69
      start: 68
    functionDepth: 0
    functionLinenumber: 68
    functionLinenumberEnd: 69
    functionName: mhd_ASSUME
    functionSourceFile: /src/mhd2/src/mhd2/mhd_assume.h
    functionUses: 6
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: mhd_ASSUME(statement)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - statement
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 72
      start: 70
    functionDepth: 0
    functionLinenumber: 70
    functionLinenumberEnd: 72
    functionName: mhd_ASSUME
    functionSourceFile: /src/mhd2/src/mhd2/mhd_assume.h
    functionUses: 6
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: mhd_ASSUME(statement)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - statement
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 74
      start: 73
    functionDepth: 0
    functionLinenumber: 73
    functionLinenumberEnd: 74
    functionName: mhd_ASSUME
    functionSourceFile: /src/mhd2/src/mhd2/mhd_assume.h
    functionUses: 6
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: mhd_ASSUME(statement)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - statement
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 78
      start: 76
    functionDepth: 0
    functionLinenumber: 76
    functionLinenumberEnd: 78
    functionName: mhd_ASSUME
    functionSourceFile: /src/mhd2/src/mhd2/mhd_assume.h
    functionUses: 6
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: mhd_ASSUME(statement)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - cond
    - ','
    - prob
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 137
      start: 135
    functionDepth: 0
    functionLinenumber: 135
    functionLinenumberEnd: 137
    functionName: mhd_COND_PRED_TRUE_P
    functionSourceFile: /src/mhd2/src/mhd2/mhd_predict.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: mhd_COND_PRED_TRUE_P(cond, prob)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - cond
    - ','
    - prob
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 139
      start: 137
    functionDepth: 0
    functionLinenumber: 137
    functionLinenumberEnd: 139
    functionName: mhd_COND_PRED_FALSE_P
    functionSourceFile: /src/mhd2/src/mhd2/mhd_predict.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: mhd_COND_PRED_FALSE_P(cond, prob)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - cond
    - ','
    - prob
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 142
      start: 140
    functionDepth: 0
    functionLinenumber: 140
    functionLinenumberEnd: 142
    functionName: mhd_COND_PRED_TRUE_P
    functionSourceFile: /src/mhd2/src/mhd2/mhd_predict.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: mhd_COND_PRED_TRUE_P(cond, prob)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - cond
    - ','
    - prob
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 144
      start: 142
    functionDepth: 0
    functionLinenumber: 142
    functionLinenumberEnd: 144
    functionName: mhd_COND_PRED_FALSE_P
    functionSourceFile: /src/mhd2/src/mhd2/mhd_predict.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: mhd_COND_PRED_FALSE_P(cond, prob)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - cond
    - ','
    - prob
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 146
      start: 145
    functionDepth: 0
    functionLinenumber: 145
    functionLinenumberEnd: 146
    functionName: mhd_COND_PRED_TRUE_P
    functionSourceFile: /src/mhd2/src/mhd2/mhd_predict.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: mhd_COND_PRED_TRUE_P(cond, prob)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - cond
    - ','
    - prob
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 147
      start: 146
    functionDepth: 0
    functionLinenumber: 146
    functionLinenumberEnd: 147
    functionName: mhd_COND_PRED_FALSE_P
    functionSourceFile: /src/mhd2/src/mhd2/mhd_predict.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: mhd_COND_PRED_FALSE_P(cond, prob)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - cond
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 169
      start: 168
    functionDepth: 0
    functionLinenumber: 168
    functionLinenumberEnd: 169
    functionName: mhd_COND_VIRTUALLY_ALWAYS
    functionSourceFile: /src/mhd2/src/mhd2/mhd_predict.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: mhd_COND_VIRTUALLY_ALWAYS(cond)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - cond
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 173
      start: 172
    functionDepth: 0
    functionLinenumber: 172
    functionLinenumberEnd: 173
    functionName: mhd_COND_ALMOST_ALWAYS
    functionSourceFile: /src/mhd2/src/mhd2/mhd_predict.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: mhd_COND_ALMOST_ALWAYS(cond)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - cond
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 177
      start: 176
    functionDepth: 0
    functionLinenumber: 176
    functionLinenumberEnd: 177
    functionName: mhd_COND_PREDOMINANTLY
    functionSourceFile: /src/mhd2/src/mhd2/mhd_predict.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: mhd_COND_PREDOMINANTLY(cond)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - cond
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 181
      start: 180
    functionDepth: 0
    functionLinenumber: 180
    functionLinenumberEnd: 181
    functionName: mhd_COND_USUALLY
    functionSourceFile: /src/mhd2/src/mhd2/mhd_predict.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: mhd_COND_USUALLY(cond)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - cond
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 186
      start: 185
    functionDepth: 0
    functionLinenumber: 185
    functionLinenumberEnd: 186
    functionName: mhd_COND_RARELY
    functionSourceFile: /src/mhd2/src/mhd2/mhd_predict.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: mhd_COND_RARELY(cond)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - cond
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 190
      start: 189
    functionDepth: 0
    functionLinenumber: 189
    functionLinenumberEnd: 190
    functionName: mhd_COND_VERY_RARELY
    functionSourceFile: /src/mhd2/src/mhd2/mhd_predict.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: mhd_COND_VERY_RARELY(cond)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - cond
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 195
      start: 194
    functionDepth: 0
    functionLinenumber: 194
    functionLinenumberEnd: 195
    functionName: mhd_COND_ALMOST_NEVER
    functionSourceFile: /src/mhd2/src/mhd2/mhd_predict.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: mhd_COND_ALMOST_NEVER(cond)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - cond
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 202
      start: 201
    functionDepth: 0
    functionLinenumber: 201
    functionLinenumberEnd: 202
    functionName: mhd_COND_HARDLY_EVER
    functionSourceFile: /src/mhd2/src/mhd2/mhd_predict.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: mhd_COND_HARDLY_EVER(cond)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - wm_i
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 194
      start: 192
    functionDepth: 0
    functionLinenumber: 192
    functionLinenumberEnd: 194
    functionName: mhd_WM_INT_HAS_THREADS
    functionSourceFile: /src/mhd2/src/mhd2/mhd_daemon.h
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: mhd_WM_INT_HAS_THREADS(wm_i)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - wm_i
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 199
      start: 197
    functionDepth: 0
    functionLinenumber: 197
    functionLinenumberEnd: 199
    functionName: mhd_WM_INT_IS_THREAD_PER_CONN
    functionSourceFile: /src/mhd2/src/mhd2/mhd_daemon.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: mhd_WM_INT_IS_THREAD_PER_CONN(wm_i)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - wm_i
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 204
      start: 202
    functionDepth: 0
    functionLinenumber: 202
    functionLinenumberEnd: 204
    functionName: mhd_WM_INT_IS_THREAD_POOL
    functionSourceFile: /src/mhd2/src/mhd2/mhd_daemon.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: mhd_WM_INT_IS_THREAD_POOL(wm_i)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - wm_i
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 206
      start: 205
    functionDepth: 0
    functionLinenumber: 205
    functionLinenumberEnd: 206
    functionName: mhd_WM_INT_HAS_THREADS
    functionSourceFile: /src/mhd2/src/mhd2/mhd_daemon.h
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: mhd_WM_INT_HAS_THREADS(wm_i)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - wm_i
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 207
      start: 206
    functionDepth: 0
    functionLinenumber: 206
    functionLinenumberEnd: 207
    functionName: mhd_WM_INT_IS_THREAD_PER_CONN
    functionSourceFile: /src/mhd2/src/mhd2/mhd_daemon.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: mhd_WM_INT_IS_THREAD_PER_CONN(wm_i)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - wm_i
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 208
      start: 207
    functionDepth: 0
    functionLinenumber: 207
    functionLinenumberEnd: 208
    functionName: mhd_WM_INT_IS_THREAD_POOL
    functionSourceFile: /src/mhd2/src/mhd2/mhd_daemon.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: mhd_WM_INT_IS_THREAD_POOL(wm_i)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - wm_i
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 215
      start: 213
    functionDepth: 0
    functionLinenumber: 213
    functionLinenumberEnd: 215
    functionName: mhd_WM_INT_HAS_EXT_EVENTS
    functionSourceFile: /src/mhd2/src/mhd2/mhd_daemon.h
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: mhd_WM_INT_HAS_EXT_EVENTS(wm_i)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - poll_type
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 268
      start: 266
    functionDepth: 0
    functionLinenumber: 266
    functionLinenumberEnd: 268
    functionName: mhd_POLL_TYPE_INT_IS_EPOLL
    functionSourceFile: /src/mhd2/src/mhd2/mhd_daemon.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: mhd_POLL_TYPE_INT_IS_EPOLL(poll_type)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - poll_type
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 270
      start: 269
    functionDepth: 0
    functionLinenumber: 269
    functionLinenumberEnd: 270
    functionName: mhd_POLL_TYPE_INT_IS_EPOLL
    functionSourceFile: /src/mhd2/src/mhd2/mhd_daemon.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: mhd_POLL_TYPE_INT_IS_EPOLL(poll_type)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - poll_type
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 278
      start: 276
    functionDepth: 0
    functionLinenumber: 276
    functionLinenumberEnd: 278
    functionName: mhd_POLL_TYPE_INT_IS_KQUEUE
    functionSourceFile: /src/mhd2/src/mhd2/mhd_daemon.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: mhd_POLL_TYPE_INT_IS_KQUEUE(poll_type)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - poll_type
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 280
      start: 279
    functionDepth: 0
    functionLinenumber: 279
    functionLinenumberEnd: 280
    functionName: mhd_POLL_TYPE_INT_IS_KQUEUE
    functionSourceFile: /src/mhd2/src/mhd2/mhd_daemon.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: mhd_POLL_TYPE_INT_IS_KQUEUE(poll_type)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - poll_type
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 285
      start: 282
    functionDepth: 0
    functionLinenumber: 282
    functionLinenumberEnd: 285
    functionName: mhd_POLL_TYPE_INT_IS_EDGE_TRIG
    functionSourceFile: /src/mhd2/src/mhd2/mhd_daemon.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: mhd_POLL_TYPE_INT_IS_EDGE_TRIG(poll_type)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - t
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 961
      start: 959
    functionDepth: 0
    functionLinenumber: 959
    functionLinenumberEnd: 961
    functionName: mhd_D_TYPE_IS_VALID
    functionSourceFile: /src/mhd2/src/mhd2/mhd_daemon.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: mhd_D_TYPE_IS_VALID(t)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - t
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 967
      start: 965
    functionDepth: 0
    functionLinenumber: 965
    functionLinenumberEnd: 967
    functionName: mhd_D_TYPE_IS_INTERNAL_ONLY
    functionSourceFile: /src/mhd2/src/mhd2/mhd_daemon.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: mhd_D_TYPE_IS_INTERNAL_ONLY(t)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - t
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 972
      start: 970
    functionDepth: 0
    functionLinenumber: 970
    functionLinenumberEnd: 972
    functionName: mhd_D_TYPE_HAS_EVENTS_PROCESSING
    functionSourceFile: /src/mhd2/src/mhd2/mhd_daemon.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: mhd_D_TYPE_HAS_EVENTS_PROCESSING(t)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - t
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 978
      start: 976
    functionDepth: 0
    functionLinenumber: 976
    functionLinenumberEnd: 978
    functionName: mhd_D_TYPE_HAS_WORKERS
    functionSourceFile: /src/mhd2/src/mhd2/mhd_daemon.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: mhd_D_TYPE_HAS_WORKERS(t)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - t
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 984
      start: 982
    functionDepth: 0
    functionLinenumber: 982
    functionLinenumberEnd: 984
    functionName: mhd_D_TYPE_HAS_MASTER_DAEMON
    functionSourceFile: /src/mhd2/src/mhd2/mhd_daemon.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: mhd_D_TYPE_HAS_MASTER_DAEMON(t)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - t
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 991
      start: 989
    functionDepth: 0
    functionLinenumber: 989
    functionLinenumberEnd: 991
    functionName: mhd_D_TYPE_IS_LISTEN_ONLY
    functionSourceFile: /src/mhd2/src/mhd2/mhd_daemon.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: mhd_D_TYPE_IS_LISTEN_ONLY(t)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - t
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 999
      start: 998
    functionDepth: 0
    functionLinenumber: 998
    functionLinenumberEnd: 999
    functionName: mhd_D_TYPE_IS_VALID
    functionSourceFile: /src/mhd2/src/mhd2/mhd_daemon.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: mhd_D_TYPE_IS_VALID(t)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - t
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1004
      start: 1003
    functionDepth: 0
    functionLinenumber: 1003
    functionLinenumberEnd: 1004
    functionName: mhd_D_TYPE_IS_INTERNAL_ONLY
    functionSourceFile: /src/mhd2/src/mhd2/mhd_daemon.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: mhd_D_TYPE_IS_INTERNAL_ONLY(t)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - t
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1009
      start: 1008
    functionDepth: 0
    functionLinenumber: 1008
    functionLinenumberEnd: 1009
    functionName: mhd_D_TYPE_HAS_EVENTS_PROCESSING
    functionSourceFile: /src/mhd2/src/mhd2/mhd_daemon.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: mhd_D_TYPE_HAS_EVENTS_PROCESSING(t)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - t
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1014
      start: 1013
    functionDepth: 0
    functionLinenumber: 1013
    functionLinenumberEnd: 1014
    functionName: mhd_D_TYPE_HAS_WORKERS
    functionSourceFile: /src/mhd2/src/mhd2/mhd_daemon.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: mhd_D_TYPE_HAS_WORKERS(t)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - t
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1019
      start: 1018
    functionDepth: 0
    functionLinenumber: 1018
    functionLinenumberEnd: 1019
    functionName: mhd_D_TYPE_HAS_MASTER_DAEMON
    functionSourceFile: /src/mhd2/src/mhd2/mhd_daemon.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: mhd_D_TYPE_HAS_MASTER_DAEMON(t)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - t
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1025
      start: 1024
    functionDepth: 0
    functionLinenumber: 1024
    functionLinenumberEnd: 1025
    functionName: mhd_D_TYPE_IS_LISTEN_ONLY
    functionSourceFile: /src/mhd2/src/mhd2/mhd_daemon.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: mhd_D_TYPE_IS_LISTEN_ONLY(t)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - strictness
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1328
      start: 1327
    functionDepth: 0
    functionLinenumber: 1327
    functionLinenumberEnd: 1328
    functionName: mhd_ALLOW_BARE_LF_AS_CRLF
    functionSourceFile: /src/mhd2/src/mhd2/mhd_daemon.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: mhd_ALLOW_BARE_LF_AS_CRLF(strictness)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - d_ptr
    - ','
    - fd
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1469
      start: 1466
    functionDepth: 0
    functionLinenumber: 1466
    functionLinenumberEnd: 1469
    functionName: mhd_FD_FITS_DAEMON
    functionSourceFile: /src/mhd2/src/mhd2/mhd_daemon.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: mhd_FD_FITS_DAEMON(d_ptr, fd)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - d_ptr
    - ','
    - fd
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1471
      start: 1470
    functionDepth: 0
    functionLinenumber: 1470
    functionLinenumberEnd: 1471
    functionName: mhd_FD_FITS_DAEMON
    functionSourceFile: /src/mhd2/src/mhd2/mhd_daemon.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: mhd_FD_FITS_DAEMON(d_ptr, fd)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - d
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1475
      start: 1473
    functionDepth: 0
    functionLinenumber: 1473
    functionLinenumberEnd: 1475
    functionName: mhd_D_IS_USING_EPOLL
    functionSourceFile: /src/mhd2/src/mhd2/mhd_daemon.h
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: mhd_D_IS_USING_EPOLL(d)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - d
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1478
      start: 1476
    functionDepth: 0
    functionLinenumber: 1476
    functionLinenumberEnd: 1478
    functionName: mhd_D_IS_USING_KQUEUE
    functionSourceFile: /src/mhd2/src/mhd2/mhd_daemon.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: mhd_D_IS_USING_KQUEUE(d)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - d
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1481
      start: 1479
    functionDepth: 0
    functionLinenumber: 1479
    functionLinenumberEnd: 1481
    functionName: mhd_D_POLL_IS_EDGE_TRIG
    functionSourceFile: /src/mhd2/src/mhd2/mhd_daemon.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: mhd_D_POLL_IS_EDGE_TRIG(d)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - d
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1488
      start: 1485
    functionDepth: 0
    functionLinenumber: 1485
    functionLinenumberEnd: 1488
    functionName: mhd_D_HAS_EDGE_TRIGG
    functionSourceFile: /src/mhd2/src/mhd2/mhd_daemon.h
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: mhd_D_HAS_EDGE_TRIGG(d)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - d
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1491
      start: 1490
    functionDepth: 0
    functionLinenumber: 1490
    functionLinenumberEnd: 1491
    functionName: mhd_D_HAS_THREADS
    functionSourceFile: /src/mhd2/src/mhd2/mhd_daemon.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: mhd_D_HAS_THREADS(d)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - d
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1493
      start: 1492
    functionDepth: 0
    functionLinenumber: 1492
    functionLinenumberEnd: 1493
    functionName: mhd_D_HAS_THREADS
    functionSourceFile: /src/mhd2/src/mhd2/mhd_daemon.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: mhd_D_HAS_THREADS(d)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - d
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1499
      start: 1496
    functionDepth: 0
    functionLinenumber: 1496
    functionLinenumberEnd: 1499
    functionName: mhd_D_HAS_THR_PER_CONN
    functionSourceFile: /src/mhd2/src/mhd2/mhd_daemon.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: mhd_D_HAS_THR_PER_CONN(d)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - d
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1501
      start: 1500
    functionDepth: 0
    functionLinenumber: 1500
    functionLinenumberEnd: 1501
    functionName: mhd_D_HAS_THR_PER_CONN
    functionSourceFile: /src/mhd2/src/mhd2/mhd_daemon.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: mhd_D_HAS_THR_PER_CONN(d)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - d
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1505
      start: 1504
    functionDepth: 0
    functionLinenumber: 1504
    functionLinenumberEnd: 1505
    functionName: mhd_D_HAS_STOP_REQ
    functionSourceFile: /src/mhd2/src/mhd2/mhd_daemon.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: mhd_D_HAS_STOP_REQ(d)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - d
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1507
      start: 1506
    functionDepth: 0
    functionLinenumber: 1506
    functionLinenumberEnd: 1507
    functionName: mhd_D_HAS_STOP_REQ
    functionSourceFile: /src/mhd2/src/mhd2/mhd_daemon.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: mhd_D_HAS_STOP_REQ(d)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - d
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1510
      start: 1509
    functionDepth: 0
    functionLinenumber: 1509
    functionLinenumberEnd: 1510
    functionName: mhd_D_HAS_WORKERS
    functionSourceFile: /src/mhd2/src/mhd2/mhd_daemon.h
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: mhd_D_HAS_WORKERS(d)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - d
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1512
      start: 1511
    functionDepth: 0
    functionLinenumber: 1511
    functionLinenumberEnd: 1512
    functionName: mhd_D_HAS_MASTER
    functionSourceFile: /src/mhd2/src/mhd2/mhd_daemon.h
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: mhd_D_HAS_MASTER(d)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - d
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1515
      start: 1513
    functionDepth: 0
    functionLinenumber: 1513
    functionLinenumberEnd: 1515
    functionName: mhd_D_IS_INTERNAL_ONLY
    functionSourceFile: /src/mhd2/src/mhd2/mhd_daemon.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: mhd_D_IS_INTERNAL_ONLY(d)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - d
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1521
      start: 1520
    functionDepth: 0
    functionLinenumber: 1520
    functionLinenumberEnd: 1521
    functionName: mhd_D_HAS_TLS
    functionSourceFile: /src/mhd2/src/mhd2/mhd_daemon.h
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: mhd_D_HAS_TLS(d)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - d
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1526
      start: 1525
    functionDepth: 0
    functionLinenumber: 1525
    functionLinenumberEnd: 1526
    functionName: mhd_D_HAS_TLS
    functionSourceFile: /src/mhd2/src/mhd2/mhd_daemon.h
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: mhd_D_HAS_TLS(d)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - d
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1533
      start: 1532
    functionDepth: 0
    functionLinenumber: 1532
    functionLinenumberEnd: 1533
    functionName: mhd_D_HAS_AUTH_DIGEST
    functionSourceFile: /src/mhd2/src/mhd2/mhd_daemon.h
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: mhd_D_HAS_AUTH_DIGEST(d)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - d
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1535
      start: 1534
    functionDepth: 0
    functionLinenumber: 1534
    functionLinenumberEnd: 1535
    functionName: mhd_D_HAS_AUTH_DIGEST
    functionSourceFile: /src/mhd2/src/mhd2/mhd_daemon.h
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: mhd_D_HAS_AUTH_DIGEST(d)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - d
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1539
      start: 1538
    functionDepth: 0
    functionLinenumber: 1538
    functionLinenumberEnd: 1539
    functionName: mhd_D_IS_HTTP1_ENABLED
    functionSourceFile: /src/mhd2/src/mhd2/mhd_daemon.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: mhd_D_IS_HTTP1_ENABLED(d)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - d
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1540
      start: 1539
    functionDepth: 0
    functionLinenumber: 1539
    functionLinenumberEnd: 1540
    functionName: mhd_D_IS_HTTP2_ENABLED
    functionSourceFile: /src/mhd2/src/mhd2/mhd_daemon.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: mhd_D_IS_HTTP2_ENABLED(d)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - d
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1542
      start: 1541
    functionDepth: 0
    functionLinenumber: 1541
    functionLinenumberEnd: 1542
    functionName: mhd_D_IS_HTTP1_ENABLED
    functionSourceFile: /src/mhd2/src/mhd2/mhd_daemon.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: mhd_D_IS_HTTP1_ENABLED(d)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - d
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1543
      start: 1542
    functionDepth: 0
    functionLinenumber: 1542
    functionLinenumberEnd: 1543
    functionName: mhd_D_IS_HTTP2_ENABLED
    functionSourceFile: /src/mhd2/src/mhd2/mhd_daemon.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: mhd_D_IS_HTTP2_ENABLED(d)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - ctx
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 158
      start: 157
    functionDepth: 0
    functionLinenumber: 157
    functionLinenumberEnd: 158
    functionName: mhd_SHA256_blti_reset
    functionSourceFile: /src/mhd2/src/mhd2/sha256_builtin.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: mhd_SHA256_blti_reset(ctx)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - ctx
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 168
      start: 167
    functionDepth: 0
    functionLinenumber: 167
    functionLinenumberEnd: 168
    functionName: mhd_SHA256_blti_deinit
    functionSourceFile: /src/mhd2/src/mhd2/sha256_builtin.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: mhd_SHA256_blti_deinit(ctx)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: UINT32_C
      Src: /src/mhd2/src/mhd2/sha256_builtin.c:63,1
    - Dst: UINT32_C
      Src: /src/mhd2/src/mhd2/sha256_builtin.c:64,1
    - Dst: UINT32_C
      Src: /src/mhd2/src/mhd2/sha256_builtin.c:65,1
    - Dst: UINT32_C
      Src: /src/mhd2/src/mhd2/sha256_builtin.c:66,1
    - Dst: UINT32_C
      Src: /src/mhd2/src/mhd2/sha256_builtin.c:67,1
    - Dst: UINT32_C
      Src: /src/mhd2/src/mhd2/sha256_builtin.c:68,1
    - Dst: UINT32_C
      Src: /src/mhd2/src/mhd2/sha256_builtin.c:69,1
    - Dst: UINT32_C
      Src: /src/mhd2/src/mhd2/sha256_builtin.c:70,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 10
    argCount: 1
    argNames:
    - ctx
    argTypes:
    - struct mhd_Sha256CtxBlti*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 74
      start: 56
    functionDepth: 0
    functionLinenumber: 56
    functionLinenumberEnd: 74
    functionName: mhd_SHA256_blti_init
    functionSourceFile: /src/mhd2/src/mhd2/sha256_builtin.c
    functionUses: 0
    functionsReached:
    - UINT32_C
    linkageType: ''
    returnType: void
    signature: void mhd_SHA256_blti_init (struct mhd_Sha256CtxBlti *ctx)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: memcpy
      Src: /src/mhd2/src/mhd2/sha256_builtin.c:102,1
    - Dst: SHA2STEP32
      Src: /src/mhd2/src/mhd2/sha256_builtin.c:175,1
    - Dst: UINT32_C
      Src: /src/mhd2/src/mhd2/sha256_builtin.c:175,1
    - Dst: SHA2STEP32
      Src: /src/mhd2/src/mhd2/sha256_builtin.c:176,1
    - Dst: UINT32_C
      Src: /src/mhd2/src/mhd2/sha256_builtin.c:176,1
    - Dst: SHA2STEP32
      Src: /src/mhd2/src/mhd2/sha256_builtin.c:177,1
    - Dst: UINT32_C
      Src: /src/mhd2/src/mhd2/sha256_builtin.c:177,1
    - Dst: SHA2STEP32
      Src: /src/mhd2/src/mhd2/sha256_builtin.c:178,1
    - Dst: UINT32_C
      Src: /src/mhd2/src/mhd2/sha256_builtin.c:178,1
    - Dst: SHA2STEP32
      Src: /src/mhd2/src/mhd2/sha256_builtin.c:179,1
    - Dst: UINT32_C
      Src: /src/mhd2/src/mhd2/sha256_builtin.c:179,1
    - Dst: SHA2STEP32
      Src: /src/mhd2/src/mhd2/sha256_builtin.c:180,1
    - Dst: UINT32_C
      Src: /src/mhd2/src/mhd2/sha256_builtin.c:180,1
    - Dst: SHA2STEP32
      Src: /src/mhd2/src/mhd2/sha256_builtin.c:181,1
    - Dst: UINT32_C
      Src: /src/mhd2/src/mhd2/sha256_builtin.c:181,1
    - Dst: SHA2STEP32
      Src: /src/mhd2/src/mhd2/sha256_builtin.c:182,1
    - Dst: UINT32_C
      Src: /src/mhd2/src/mhd2/sha256_builtin.c:182,1
    - Dst: SHA2STEP32
      Src: /src/mhd2/src/mhd2/sha256_builtin.c:183,1
    - Dst: UINT32_C
      Src: /src/mhd2/src/mhd2/sha256_builtin.c:183,1
    - Dst: SHA2STEP32
      Src: /src/mhd2/src/mhd2/sha256_builtin.c:184,1
    - Dst: UINT32_C
      Src: /src/mhd2/src/mhd2/sha256_builtin.c:184,1
    - Dst: SHA2STEP32
      Src: /src/mhd2/src/mhd2/sha256_builtin.c:185,1
    - Dst: UINT32_C
      Src: /src/mhd2/src/mhd2/sha256_builtin.c:185,1
    - Dst: SHA2STEP32
      Src: /src/mhd2/src/mhd2/sha256_builtin.c:186,1
    - Dst: UINT32_C
      Src: /src/mhd2/src/mhd2/sha256_builtin.c:186,1
    - Dst: SHA2STEP32
      Src: /src/mhd2/src/mhd2/sha256_builtin.c:187,1
    - Dst: UINT32_C
      Src: /src/mhd2/src/mhd2/sha256_builtin.c:187,1
    - Dst: SHA2STEP32
      Src: /src/mhd2/src/mhd2/sha256_builtin.c:188,1
    - Dst: UINT32_C
      Src: /src/mhd2/src/mhd2/sha256_builtin.c:188,1
    - Dst: SHA2STEP32
      Src: /src/mhd2/src/mhd2/sha256_builtin.c:189,1
    - Dst: UINT32_C
      Src: /src/mhd2/src/mhd2/sha256_builtin.c:189,1
    - Dst: SHA2STEP32
      Src: /src/mhd2/src/mhd2/sha256_builtin.c:190,1
    - Dst: UINT32_C
      Src: /src/mhd2/src/mhd2/sha256_builtin.c:190,1
    - Dst: SHA2STEP32
      Src: /src/mhd2/src/mhd2/sha256_builtin.c:199,1
    - Dst: UINT32_C
      Src: /src/mhd2/src/mhd2/sha256_builtin.c:199,1
    - Dst: GET_W_FROM_DATA
      Src: /src/mhd2/src/mhd2/sha256_builtin.c:200,1
    - Dst: SHA2STEP32
      Src: /src/mhd2/src/mhd2/sha256_builtin.c:201,1
    - Dst: UINT32_C
      Src: /src/mhd2/src/mhd2/sha256_builtin.c:201,1
    - Dst: GET_W_FROM_DATA
      Src: /src/mhd2/src/mhd2/sha256_builtin.c:202,1
    - Dst: SHA2STEP32
      Src: /src/mhd2/src/mhd2/sha256_builtin.c:203,1
    - Dst: UINT32_C
      Src: /src/mhd2/src/mhd2/sha256_builtin.c:203,1
    - Dst: GET_W_FROM_DATA
      Src: /src/mhd2/src/mhd2/sha256_builtin.c:204,1
    - Dst: SHA2STEP32
      Src: /src/mhd2/src/mhd2/sha256_builtin.c:205,1
    - Dst: UINT32_C
      Src: /src/mhd2/src/mhd2/sha256_builtin.c:205,1
    - Dst: GET_W_FROM_DATA
      Src: /src/mhd2/src/mhd2/sha256_builtin.c:206,1
    - Dst: SHA2STEP32
      Src: /src/mhd2/src/mhd2/sha256_builtin.c:207,1
    - Dst: UINT32_C
      Src: /src/mhd2/src/mhd2/sha256_builtin.c:207,1
    - Dst: GET_W_FROM_DATA
      Src: /src/mhd2/src/mhd2/sha256_builtin.c:208,1
    - Dst: SHA2STEP32
      Src: /src/mhd2/src/mhd2/sha256_builtin.c:209,1
    - Dst: UINT32_C
      Src: /src/mhd2/src/mhd2/sha256_builtin.c:209,1
    - Dst: GET_W_FROM_DATA
      Src: /src/mhd2/src/mhd2/sha256_builtin.c:210,1
    - Dst: SHA2STEP32
      Src: /src/mhd2/src/mhd2/sha256_builtin.c:211,1
    - Dst: UINT32_C
      Src: /src/mhd2/src/mhd2/sha256_builtin.c:211,1
    - Dst: GET_W_FROM_DATA
      Src: /src/mhd2/src/mhd2/sha256_builtin.c:212,1
    - Dst: SHA2STEP32
      Src: /src/mhd2/src/mhd2/sha256_builtin.c:213,1
    - Dst: UINT32_C
      Src: /src/mhd2/src/mhd2/sha256_builtin.c:213,1
    - Dst: GET_W_FROM_DATA
      Src: /src/mhd2/src/mhd2/sha256_builtin.c:214,1
    - Dst: SHA2STEP32
      Src: /src/mhd2/src/mhd2/sha256_builtin.c:215,1
    - Dst: UINT32_C
      Src: /src/mhd2/src/mhd2/sha256_builtin.c:215,1
    - Dst: GET_W_FROM_DATA
      Src: /src/mhd2/src/mhd2/sha256_builtin.c:216,1
    - Dst: SHA2STEP32
      Src: /src/mhd2/src/mhd2/sha256_builtin.c:217,1
    - Dst: UINT32_C
      Src: /src/mhd2/src/mhd2/sha256_builtin.c:217,1
    - Dst: GET_W_FROM_DATA
      Src: /src/mhd2/src/mhd2/sha256_builtin.c:218,1
    - Dst: SHA2STEP32
      Src: /src/mhd2/src/mhd2/sha256_builtin.c:219,1
    - Dst: UINT32_C
      Src: /src/mhd2/src/mhd2/sha256_builtin.c:219,1
    - Dst: GET_W_FROM_DATA
      Src: /src/mhd2/src/mhd2/sha256_builtin.c:220,1
    - Dst: SHA2STEP32
      Src: /src/mhd2/src/mhd2/sha256_builtin.c:221,1
    - Dst: UINT32_C
      Src: /src/mhd2/src/mhd2/sha256_builtin.c:221,1
    - Dst: GET_W_FROM_DATA
      Src: /src/mhd2/src/mhd2/sha256_builtin.c:222,1
    - Dst: SHA2STEP32
      Src: /src/mhd2/src/mhd2/sha256_builtin.c:223,1
    - Dst: UINT32_C
      Src: /src/mhd2/src/mhd2/sha256_builtin.c:223,1
    - Dst: GET_W_FROM_DATA
      Src: /src/mhd2/src/mhd2/sha256_builtin.c:224,1
    - Dst: SHA2STEP32
      Src: /src/mhd2/src/mhd2/sha256_builtin.c:225,1
    - Dst: UINT32_C
      Src: /src/mhd2/src/mhd2/sha256_builtin.c:225,1
    - Dst: GET_W_FROM_DATA
      Src: /src/mhd2/src/mhd2/sha256_builtin.c:226,1
    - Dst: SHA2STEP32
      Src: /src/mhd2/src/mhd2/sha256_builtin.c:227,1
    - Dst: UINT32_C
      Src: /src/mhd2/src/mhd2/sha256_builtin.c:227,1
    - Dst: GET_W_FROM_DATA
      Src: /src/mhd2/src/mhd2/sha256_builtin.c:228,1
    - Dst: SHA2STEP32
      Src: /src/mhd2/src/mhd2/sha256_builtin.c:229,1
    - Dst: UINT32_C
      Src: /src/mhd2/src/mhd2/sha256_builtin.c:229,1
    - Dst: GET_W_FROM_DATA
      Src: /src/mhd2/src/mhd2/sha256_builtin.c:230,1
    - Dst: SHA2STEP32
      Src: /src/mhd2/src/mhd2/sha256_builtin.c:238,1
    - Dst: UINT32_C
      Src: /src/mhd2/src/mhd2/sha256_builtin.c:238,1
    - Dst: Wgen
      Src: /src/mhd2/src/mhd2/sha256_builtin.c:239,1
    - Dst: SHA2STEP32
      Src: /src/mhd2/src/mhd2/sha256_builtin.c:240,1
    - Dst: UINT32_C
      Src: /src/mhd2/src/mhd2/sha256_builtin.c:240,1
    - Dst: Wgen
      Src: /src/mhd2/src/mhd2/sha256_builtin.c:241,1
    - Dst: SHA2STEP32
      Src: /src/mhd2/src/mhd2/sha256_builtin.c:242,1
    - Dst: UINT32_C
      Src: /src/mhd2/src/mhd2/sha256_builtin.c:242,1
    - Dst: Wgen
      Src: /src/mhd2/src/mhd2/sha256_builtin.c:243,1
    - Dst: SHA2STEP32
      Src: /src/mhd2/src/mhd2/sha256_builtin.c:244,1
    - Dst: UINT32_C
      Src: /src/mhd2/src/mhd2/sha256_builtin.c:244,1
    - Dst: Wgen
      Src: /src/mhd2/src/mhd2/sha256_builtin.c:245,1
    - Dst: SHA2STEP32
      Src: /src/mhd2/src/mhd2/sha256_builtin.c:246,1
    - Dst: UINT32_C
      Src: /src/mhd2/src/mhd2/sha256_builtin.c:246,1
    - Dst: Wgen
      Src: /src/mhd2/src/mhd2/sha256_builtin.c:247,1
    - Dst: SHA2STEP32
      Src: /src/mhd2/src/mhd2/sha256_builtin.c:248,1
    - Dst: UINT32_C
      Src: /src/mhd2/src/mhd2/sha256_builtin.c:248,1
    - Dst: Wgen
      Src: /src/mhd2/src/mhd2/sha256_builtin.c:249,1
    - Dst: SHA2STEP32
      Src: /src/mhd2/src/mhd2/sha256_builtin.c:250,1
    - Dst: UINT32_C
      Src: /src/mhd2/src/mhd2/sha256_builtin.c:250,1
    - Dst: Wgen
      Src: /src/mhd2/src/mhd2/sha256_builtin.c:251,1
    - Dst: SHA2STEP32
      Src: /src/mhd2/src/mhd2/sha256_builtin.c:252,1
    - Dst: UINT32_C
      Src: /src/mhd2/src/mhd2/sha256_builtin.c:252,1
    - Dst: Wgen
      Src: /src/mhd2/src/mhd2/sha256_builtin.c:253,1
    - Dst: SHA2STEP32
      Src: /src/mhd2/src/mhd2/sha256_builtin.c:254,1
    - Dst: UINT32_C
      Src: /src/mhd2/src/mhd2/sha256_builtin.c:254,1
    - Dst: Wgen
      Src: /src/mhd2/src/mhd2/sha256_builtin.c:255,1
    - Dst: SHA2STEP32
      Src: /src/mhd2/src/mhd2/sha256_builtin.c:256,1
    - Dst: UINT32_C
      Src: /src/mhd2/src/mhd2/sha256_builtin.c:256,1
    - Dst: Wgen
      Src: /src/mhd2/src/mhd2/sha256_builtin.c:257,1
    - Dst: SHA2STEP32
      Src: /src/mhd2/src/mhd2/sha256_builtin.c:258,1
    - Dst: UINT32_C
      Src: /src/mhd2/src/mhd2/sha256_builtin.c:258,1
    - Dst: Wgen
      Src: /src/mhd2/src/mhd2/sha256_builtin.c:259,1
    - Dst: SHA2STEP32
      Src: /src/mhd2/src/mhd2/sha256_builtin.c:260,1
    - Dst: UINT32_C
      Src: /src/mhd2/src/mhd2/sha256_builtin.c:260,1
    - Dst: Wgen
      Src: /src/mhd2/src/mhd2/sha256_builtin.c:261,1
    - Dst: SHA2STEP32
      Src: /src/mhd2/src/mhd2/sha256_builtin.c:262,1
    - Dst: UINT32_C
      Src: /src/mhd2/src/mhd2/sha256_builtin.c:262,1
    - Dst: Wgen
      Src: /src/mhd2/src/mhd2/sha256_builtin.c:263,1
    - Dst: SHA2STEP32
      Src: /src/mhd2/src/mhd2/sha256_builtin.c:264,1
    - Dst: UINT32_C
      Src: /src/mhd2/src/mhd2/sha256_builtin.c:264,1
    - Dst: Wgen
      Src: /src/mhd2/src/mhd2/sha256_builtin.c:265,1
    - Dst: SHA2STEP32
      Src: /src/mhd2/src/mhd2/sha256_builtin.c:266,1
    - Dst: UINT32_C
      Src: /src/mhd2/src/mhd2/sha256_builtin.c:266,1
    - Dst: Wgen
      Src: /src/mhd2/src/mhd2/sha256_builtin.c:267,1
    - Dst: SHA2STEP32
      Src: /src/mhd2/src/mhd2/sha256_builtin.c:268,1
    - Dst: UINT32_C
      Src: /src/mhd2/src/mhd2/sha256_builtin.c:268,1
    - Dst: Wgen
      Src: /src/mhd2/src/mhd2/sha256_builtin.c:269,1
    - Dst: SHA2STEP32
      Src: /src/mhd2/src/mhd2/sha256_builtin.c:270,1
    - Dst: UINT32_C
      Src: /src/mhd2/src/mhd2/sha256_builtin.c:270,1
    - Dst: Wgen
      Src: /src/mhd2/src/mhd2/sha256_builtin.c:271,1
    - Dst: SHA2STEP32
      Src: /src/mhd2/src/mhd2/sha256_builtin.c:272,1
    - Dst: UINT32_C
      Src: /src/mhd2/src/mhd2/sha256_builtin.c:272,1
    - Dst: Wgen
      Src: /src/mhd2/src/mhd2/sha256_builtin.c:273,1
    - Dst: SHA2STEP32
      Src: /src/mhd2/src/mhd2/sha256_builtin.c:274,1
    - Dst: UINT32_C
      Src: /src/mhd2/src/mhd2/sha256_builtin.c:274,1
    - Dst: Wgen
      Src: /src/mhd2/src/mhd2/sha256_builtin.c:275,1
    - Dst: SHA2STEP32
      Src: /src/mhd2/src/mhd2/sha256_builtin.c:276,1
    - Dst: UINT32_C
      Src: /src/mhd2/src/mhd2/sha256_builtin.c:276,1
    - Dst: Wgen
      Src: /src/mhd2/src/mhd2/sha256_builtin.c:277,1
    - Dst: SHA2STEP32
      Src: /src/mhd2/src/mhd2/sha256_builtin.c:278,1
    - Dst: UINT32_C
      Src: /src/mhd2/src/mhd2/sha256_builtin.c:278,1
    - Dst: Wgen
      Src: /src/mhd2/src/mhd2/sha256_builtin.c:279,1
    - Dst: SHA2STEP32
      Src: /src/mhd2/src/mhd2/sha256_builtin.c:280,1
    - Dst: UINT32_C
      Src: /src/mhd2/src/mhd2/sha256_builtin.c:280,1
    - Dst: Wgen
      Src: /src/mhd2/src/mhd2/sha256_builtin.c:281,1
    - Dst: SHA2STEP32
      Src: /src/mhd2/src/mhd2/sha256_builtin.c:282,1
    - Dst: UINT32_C
      Src: /src/mhd2/src/mhd2/sha256_builtin.c:282,1
    - Dst: Wgen
      Src: /src/mhd2/src/mhd2/sha256_builtin.c:283,1
    - Dst: SHA2STEP32
      Src: /src/mhd2/src/mhd2/sha256_builtin.c:284,1
    - Dst: UINT32_C
      Src: /src/mhd2/src/mhd2/sha256_builtin.c:284,1
    - Dst: Wgen
      Src: /src/mhd2/src/mhd2/sha256_builtin.c:285,1
    - Dst: SHA2STEP32
      Src: /src/mhd2/src/mhd2/sha256_builtin.c:286,1
    - Dst: UINT32_C
      Src: /src/mhd2/src/mhd2/sha256_builtin.c:286,1
    - Dst: Wgen
      Src: /src/mhd2/src/mhd2/sha256_builtin.c:287,1
    - Dst: SHA2STEP32
      Src: /src/mhd2/src/mhd2/sha256_builtin.c:288,1
    - Dst: UINT32_C
      Src: /src/mhd2/src/mhd2/sha256_builtin.c:288,1
    - Dst: Wgen
      Src: /src/mhd2/src/mhd2/sha256_builtin.c:289,1
    - Dst: SHA2STEP32
      Src: /src/mhd2/src/mhd2/sha256_builtin.c:290,1
    - Dst: UINT32_C
      Src: /src/mhd2/src/mhd2/sha256_builtin.c:290,1
    - Dst: Wgen
      Src: /src/mhd2/src/mhd2/sha256_builtin.c:291,1
    - Dst: SHA2STEP32
      Src: /src/mhd2/src/mhd2/sha256_builtin.c:292,1
    - Dst: UINT32_C
      Src: /src/mhd2/src/mhd2/sha256_builtin.c:292,1
    - Dst: Wgen
      Src: /src/mhd2/src/mhd2/sha256_builtin.c:293,1
    - Dst: SHA2STEP32
      Src: /src/mhd2/src/mhd2/sha256_builtin.c:294,1
    - Dst: UINT32_C
      Src: /src/mhd2/src/mhd2/sha256_builtin.c:294,1
    - Dst: Wgen
      Src: /src/mhd2/src/mhd2/sha256_builtin.c:295,1
    - Dst: SHA2STEP32
      Src: /src/mhd2/src/mhd2/sha256_builtin.c:296,1
    - Dst: UINT32_C
      Src: /src/mhd2/src/mhd2/sha256_builtin.c:296,1
    - Dst: Wgen
      Src: /src/mhd2/src/mhd2/sha256_builtin.c:297,1
    - Dst: SHA2STEP32
      Src: /src/mhd2/src/mhd2/sha256_builtin.c:298,1
    - Dst: UINT32_C
      Src: /src/mhd2/src/mhd2/sha256_builtin.c:298,1
    - Dst: Wgen
      Src: /src/mhd2/src/mhd2/sha256_builtin.c:299,1
    - Dst: SHA2STEP32
      Src: /src/mhd2/src/mhd2/sha256_builtin.c:300,1
    - Dst: UINT32_C
      Src: /src/mhd2/src/mhd2/sha256_builtin.c:300,1
    - Dst: Wgen
      Src: /src/mhd2/src/mhd2/sha256_builtin.c:301,1
    - Dst: SHA2STEP32
      Src: /src/mhd2/src/mhd2/sha256_builtin.c:302,1
    - Dst: UINT32_C
      Src: /src/mhd2/src/mhd2/sha256_builtin.c:302,1
    - Dst: Wgen
      Src: /src/mhd2/src/mhd2/sha256_builtin.c:303,1
    - Dst: SHA2STEP32
      Src: /src/mhd2/src/mhd2/sha256_builtin.c:304,1
    - Dst: UINT32_C
      Src: /src/mhd2/src/mhd2/sha256_builtin.c:304,1
    - Dst: Wgen
      Src: /src/mhd2/src/mhd2/sha256_builtin.c:305,1
    - Dst: SHA2STEP32
      Src: /src/mhd2/src/mhd2/sha256_builtin.c:306,1
    - Dst: UINT32_C
      Src: /src/mhd2/src/mhd2/sha256_builtin.c:306,1
    - Dst: Wgen
      Src: /src/mhd2/src/mhd2/sha256_builtin.c:307,1
    - Dst: SHA2STEP32
      Src: /src/mhd2/src/mhd2/sha256_builtin.c:308,1
    - Dst: UINT32_C
      Src: /src/mhd2/src/mhd2/sha256_builtin.c:308,1
    - Dst: Wgen
      Src: /src/mhd2/src/mhd2/sha256_builtin.c:309,1
    - Dst: SHA2STEP32
      Src: /src/mhd2/src/mhd2/sha256_builtin.c:310,1
    - Dst: UINT32_C
      Src: /src/mhd2/src/mhd2/sha256_builtin.c:310,1
    - Dst: Wgen
      Src: /src/mhd2/src/mhd2/sha256_builtin.c:311,1
    - Dst: SHA2STEP32
      Src: /src/mhd2/src/mhd2/sha256_builtin.c:312,1
    - Dst: UINT32_C
      Src: /src/mhd2/src/mhd2/sha256_builtin.c:312,1
    - Dst: Wgen
      Src: /src/mhd2/src/mhd2/sha256_builtin.c:313,1
    - Dst: SHA2STEP32
      Src: /src/mhd2/src/mhd2/sha256_builtin.c:314,1
    - Dst: UINT32_C
      Src: /src/mhd2/src/mhd2/sha256_builtin.c:314,1
    - Dst: Wgen
      Src: /src/mhd2/src/mhd2/sha256_builtin.c:315,1
    - Dst: SHA2STEP32
      Src: /src/mhd2/src/mhd2/sha256_builtin.c:316,1
    - Dst: UINT32_C
      Src: /src/mhd2/src/mhd2/sha256_builtin.c:316,1
    - Dst: Wgen
      Src: /src/mhd2/src/mhd2/sha256_builtin.c:317,1
    - Dst: SHA2STEP32
      Src: /src/mhd2/src/mhd2/sha256_builtin.c:318,1
    - Dst: UINT32_C
      Src: /src/mhd2/src/mhd2/sha256_builtin.c:318,1
    - Dst: Wgen
      Src: /src/mhd2/src/mhd2/sha256_builtin.c:319,1
    - Dst: SHA2STEP32
      Src: /src/mhd2/src/mhd2/sha256_builtin.c:320,1
    - Dst: UINT32_C
      Src: /src/mhd2/src/mhd2/sha256_builtin.c:320,1
    - Dst: Wgen
      Src: /src/mhd2/src/mhd2/sha256_builtin.c:321,1
    - Dst: SHA2STEP32
      Src: /src/mhd2/src/mhd2/sha256_builtin.c:322,1
    - Dst: UINT32_C
      Src: /src/mhd2/src/mhd2/sha256_builtin.c:322,1
    - Dst: Wgen
      Src: /src/mhd2/src/mhd2/sha256_builtin.c:323,1
    - Dst: SHA2STEP32
      Src: /src/mhd2/src/mhd2/sha256_builtin.c:324,1
    - Dst: UINT32_C
      Src: /src/mhd2/src/mhd2/sha256_builtin.c:324,1
    - Dst: Wgen
      Src: /src/mhd2/src/mhd2/sha256_builtin.c:325,1
    - Dst: SHA2STEP32
      Src: /src/mhd2/src/mhd2/sha256_builtin.c:326,1
    - Dst: UINT32_C
      Src: /src/mhd2/src/mhd2/sha256_builtin.c:326,1
    - Dst: Wgen
      Src: /src/mhd2/src/mhd2/sha256_builtin.c:327,1
    - Dst: SHA2STEP32
      Src: /src/mhd2/src/mhd2/sha256_builtin.c:328,1
    - Dst: UINT32_C
      Src: /src/mhd2/src/mhd2/sha256_builtin.c:328,1
    - Dst: Wgen
      Src: /src/mhd2/src/mhd2/sha256_builtin.c:329,1
    - Dst: SHA2STEP32
      Src: /src/mhd2/src/mhd2/sha256_builtin.c:330,1
    - Dst: UINT32_C
      Src: /src/mhd2/src/mhd2/sha256_builtin.c:330,1
    - Dst: Wgen
      Src: /src/mhd2/src/mhd2/sha256_builtin.c:331,1
    - Dst: SHA2STEP32
      Src: /src/mhd2/src/mhd2/sha256_builtin.c:332,1
    - Dst: UINT32_C
      Src: /src/mhd2/src/mhd2/sha256_builtin.c:332,1
    - Dst: Wgen
      Src: /src/mhd2/src/mhd2/sha256_builtin.c:333,1
    - Dst: UINT32_C
      Src: /src/mhd2/src/mhd2/sha256_builtin.c:341,1
    - Dst: UINT32_C
      Src: /src/mhd2/src/mhd2/sha256_builtin.c:341,1
    - Dst: UINT32_C
      Src: /src/mhd2/src/mhd2/sha256_builtin.c:341,1
    - Dst: UINT32_C
      Src: /src/mhd2/src/mhd2/sha256_builtin.c:342,1
    - Dst: UINT32_C
      Src: /src/mhd2/src/mhd2/sha256_builtin.c:342,1
    - Dst: UINT32_C
      Src: /src/mhd2/src/mhd2/sha256_builtin.c:342,1
    - Dst: UINT32_C
      Src: /src/mhd2/src/mhd2/sha256_builtin.c:343,1
    - Dst: UINT32_C
      Src: /src/mhd2/src/mhd2/sha256_builtin.c:343,1
    - Dst: UINT32_C
      Src: /src/mhd2/src/mhd2/sha256_builtin.c:343,1
    - Dst: UINT32_C
      Src: /src/mhd2/src/mhd2/sha256_builtin.c:344,1
    - Dst: UINT32_C
      Src: /src/mhd2/src/mhd2/sha256_builtin.c:344,1
    - Dst: UINT32_C
      Src: /src/mhd2/src/mhd2/sha256_builtin.c:344,1
    - Dst: UINT32_C
      Src: /src/mhd2/src/mhd2/sha256_builtin.c:345,1
    - Dst: UINT32_C
      Src: /src/mhd2/src/mhd2/sha256_builtin.c:345,1
    - Dst: UINT32_C
      Src: /src/mhd2/src/mhd2/sha256_builtin.c:345,1
    - Dst: UINT32_C
      Src: /src/mhd2/src/mhd2/sha256_builtin.c:346,1
    - Dst: UINT32_C
      Src: /src/mhd2/src/mhd2/sha256_builtin.c:346,1
    - Dst: UINT32_C
      Src: /src/mhd2/src/mhd2/sha256_builtin.c:346,1
    - Dst: UINT32_C
      Src: /src/mhd2/src/mhd2/sha256_builtin.c:347,1
    - Dst: UINT32_C
      Src: /src/mhd2/src/mhd2/sha256_builtin.c:347,1
    - Dst: UINT32_C
      Src: /src/mhd2/src/mhd2/sha256_builtin.c:347,1
    - Dst: UINT32_C
      Src: /src/mhd2/src/mhd2/sha256_builtin.c:348,1
    - Dst: UINT32_C
      Src: /src/mhd2/src/mhd2/sha256_builtin.c:348,1
    - Dst: UINT32_C
      Src: /src/mhd2/src/mhd2/sha256_builtin.c:348,1
    - Dst: UINT32_C
      Src: /src/mhd2/src/mhd2/sha256_builtin.c:349,1
    - Dst: UINT32_C
      Src: /src/mhd2/src/mhd2/sha256_builtin.c:349,1
    - Dst: UINT32_C
      Src: /src/mhd2/src/mhd2/sha256_builtin.c:349,1
    - Dst: UINT32_C
      Src: /src/mhd2/src/mhd2/sha256_builtin.c:350,1
    - Dst: UINT32_C
      Src: /src/mhd2/src/mhd2/sha256_builtin.c:350,1
    - Dst: UINT32_C
      Src: /src/mhd2/src/mhd2/sha256_builtin.c:350,1
    - Dst: UINT32_C
      Src: /src/mhd2/src/mhd2/sha256_builtin.c:351,1
    - Dst: UINT32_C
      Src: /src/mhd2/src/mhd2/sha256_builtin.c:351,1
    - Dst: UINT32_C
      Src: /src/mhd2/src/mhd2/sha256_builtin.c:351,1
    - Dst: UINT32_C
      Src: /src/mhd2/src/mhd2/sha256_builtin.c:352,1
    - Dst: UINT32_C
      Src: /src/mhd2/src/mhd2/sha256_builtin.c:352,1
    - Dst: UINT32_C
      Src: /src/mhd2/src/mhd2/sha256_builtin.c:352,1
    - Dst: UINT32_C
      Src: /src/mhd2/src/mhd2/sha256_builtin.c:353,1
    - Dst: UINT32_C
      Src: /src/mhd2/src/mhd2/sha256_builtin.c:353,1
    - Dst: UINT32_C
      Src: /src/mhd2/src/mhd2/sha256_builtin.c:353,1
    - Dst: UINT32_C
      Src: /src/mhd2/src/mhd2/sha256_builtin.c:354,1
    - Dst: UINT32_C
      Src: /src/mhd2/src/mhd2/sha256_builtin.c:354,1
    - Dst: UINT32_C
      Src: /src/mhd2/src/mhd2/sha256_builtin.c:354,1
    - Dst: UINT32_C
      Src: /src/mhd2/src/mhd2/sha256_builtin.c:355,1
    - Dst: UINT32_C
      Src: /src/mhd2/src/mhd2/sha256_builtin.c:355,1
    - Dst: UINT32_C
      Src: /src/mhd2/src/mhd2/sha256_builtin.c:355,1
    - Dst: UINT32_C
      Src: /src/mhd2/src/mhd2/sha256_builtin.c:356,1
    - Dst: UINT32_C
      Src: /src/mhd2/src/mhd2/sha256_builtin.c:356,1
    - Dst: UINT32_C
      Src: /src/mhd2/src/mhd2/sha256_builtin.c:356,1
    - Dst: UINT32_C
      Src: /src/mhd2/src/mhd2/sha256_builtin.c:357,1
    - Dst: UINT32_C
      Src: /src/mhd2/src/mhd2/sha256_builtin.c:357,1
    - Dst: UINT32_C
      Src: /src/mhd2/src/mhd2/sha256_builtin.c:357,1
    - Dst: UINT32_C
      Src: /src/mhd2/src/mhd2/sha256_builtin.c:358,1
    - Dst: UINT32_C
      Src: /src/mhd2/src/mhd2/sha256_builtin.c:358,1
    - Dst: UINT32_C
      Src: /src/mhd2/src/mhd2/sha256_builtin.c:358,1
    - Dst: UINT32_C
      Src: /src/mhd2/src/mhd2/sha256_builtin.c:359,1
    - Dst: UINT32_C
      Src: /src/mhd2/src/mhd2/sha256_builtin.c:359,1
    - Dst: UINT32_C
      Src: /src/mhd2/src/mhd2/sha256_builtin.c:359,1
    - Dst: UINT32_C
      Src: /src/mhd2/src/mhd2/sha256_builtin.c:360,1
    - Dst: UINT32_C
      Src: /src/mhd2/src/mhd2/sha256_builtin.c:360,1
    - Dst: UINT32_C
      Src: /src/mhd2/src/mhd2/sha256_builtin.c:360,1
    - Dst: UINT32_C
      Src: /src/mhd2/src/mhd2/sha256_builtin.c:361,1
    - Dst: UINT32_C
      Src: /src/mhd2/src/mhd2/sha256_builtin.c:361,1
    - Dst: UINT32_C
      Src: /src/mhd2/src/mhd2/sha256_builtin.c:361,1
    - Dst: UINT32_C
      Src: /src/mhd2/src/mhd2/sha256_builtin.c:362,1
    - Dst: SHA2STEP32RV
      Src: /src/mhd2/src/mhd2/sha256_builtin.c:385,1
    - Dst: GET_W_FROM_DATA
      Src: /src/mhd2/src/mhd2/sha256_builtin.c:386,1
    - Dst: SHA2STEP32RV
      Src: /src/mhd2/src/mhd2/sha256_builtin.c:394,1
    - Dst: Wgen
      Src: /src/mhd2/src/mhd2/sha256_builtin.c:394,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 105
    argCount: 2
    argNames:
    - H
    - data
    argTypes:
    - uint32_t[]
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 409
      start: 77
    functionDepth: 1
    functionLinenumber: 77
    functionLinenumberEnd: 409
    functionName: sha256_transform
    functionSourceFile: /src/mhd2/src/mhd2/sha256_builtin.c
    functionUses: 0
    functionsReached:
    - SHA2STEP32RV
    - SHA2STEP32
    - GET_W_FROM_DATA
    - Wgen
    - UINT32_C
    - memcpy
    linkageType: ''
    returnType: mhd_DATA_TRUNCATION_RUNTIME_CHECK_DISABLE
    signature: "mhd_DATA_TRUNCATION_RUNTIME_CHECK_DISABLE sha256_transform (uint32_t
      H[mhd_SHA256_DIGEST_SIZE_WORDS],\n                  const void *restrict 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: 114
      start: 113
    functionDepth: 0
    functionLinenumber: 113
    functionLinenumberEnd: 114
    functionName: Ch
    functionSourceFile: /src/mhd2/src/mhd2/sha256_builtin.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: 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: 115
      start: 114
    functionDepth: 0
    functionLinenumber: 114
    functionLinenumberEnd: 115
    functionName: Maj
    functionSourceFile: /src/mhd2/src/mhd2/sha256_builtin.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: 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: 123
      start: 121
    functionDepth: 0
    functionLinenumber: 121
    functionLinenumberEnd: 123
    functionName: SIG0
    functionSourceFile: /src/mhd2/src/mhd2/sha256_builtin.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: 125
      start: 123
    functionDepth: 0
    functionLinenumber: 123
    functionLinenumberEnd: 125
    functionName: SIG1
    functionSourceFile: /src/mhd2/src/mhd2/sha256_builtin.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: 127
      start: 125
    functionDepth: 0
    functionLinenumber: 125
    functionLinenumberEnd: 127
    functionName: sig0
    functionSourceFile: /src/mhd2/src/mhd2/sha256_builtin.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: 129
      start: 127
    functionDepth: 0
    functionLinenumber: 127
    functionLinenumberEnd: 129
    functionName: sig1
    functionSourceFile: /src/mhd2/src/mhd2/sha256_builtin.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: 140
      start: 137
    functionDepth: 0
    functionLinenumber: 137
    functionLinenumberEnd: 140
    functionName: SHA2STEP32
    functionSourceFile: /src/mhd2/src/mhd2/sha256_builtin.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: SHA2STEP32(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: 150
      start: 147
    functionDepth: 0
    functionLinenumber: 147
    functionLinenumberEnd: 150
    functionName: GET_W_FROM_DATA
    functionSourceFile: /src/mhd2/src/mhd2/sha256_builtin.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: 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: 158
      start: 156
    functionDepth: 0
    functionLinenumber: 156
    functionLinenumberEnd: 158
    functionName: Wgen
    functionSourceFile: /src/mhd2/src/mhd2/sha256_builtin.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: Wgen(w, t)
  - 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: 379
      start: 367
    functionDepth: 0
    functionLinenumber: 367
    functionLinenumberEnd: 379
    functionName: SHA2STEP32RV
    functionSourceFile: /src/mhd2/src/mhd2/sha256_builtin.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: SHA2STEP32RV(vA, vB, vC, vD, vE, vF, vG, vH, kt, wt)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/sha256_builtin.c:426,1
    - Dst: memcpy
      Src: /src/mhd2/src/mhd2/sha256_builtin.c:441,1
    - Dst: sha256_transform
      Src: /src/mhd2/src/mhd2/sha256_builtin.c:446,1
    - Dst: sha256_transform
      Src: /src/mhd2/src/mhd2/sha256_builtin.c:454,1
    - Dst: memcpy
      Src: /src/mhd2/src/mhd2/sha256_builtin.c:462,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 22
    argCount: 3
    argNames:
    - ctx
    - size
    - data
    argTypes:
    - struct mhd_Sha256CtxBlti*
    - size_t
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 464
      start: 413
    functionDepth: 2
    functionLinenumber: 413
    functionLinenumberEnd: 464
    functionName: mhd_SHA256_blti_update
    functionSourceFile: /src/mhd2/src/mhd2/sha256_builtin.c
    functionUses: 0
    functionsReached:
    - mhd_assert
    - sha256_transform
    - memcpy
    linkageType: ''
    returnType: void
    signature: "void mhd_SHA256_blti_update (struct mhd_Sha256CtxBlti *restrict ctx,\n
      \                       size_t size,\n                        const void *restrict
      data)"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: MHD_FN_PAR_FIX_ARR_SIZE_
      Src: /src/mhd2/src/mhd2/sha256_builtin.c:477,1
    - Dst: memset
      Src: /src/mhd2/src/mhd2/sha256_builtin.c:503,1
    - Dst: sha256_transform
      Src: /src/mhd2/src/mhd2/sha256_builtin.c:506,1
    - Dst: memset
      Src: /src/mhd2/src/mhd2/sha256_builtin.c:512,1
    - Dst: mhd_PUT_64BIT_BE_UNALIGN
      Src: /src/mhd2/src/mhd2/sha256_builtin.c:515,1
    - Dst: sha256_transform
      Src: /src/mhd2/src/mhd2/sha256_builtin.c:518,1
    - Dst: mhd_PUT_32BIT_BE
      Src: /src/mhd2/src/mhd2/sha256_builtin.c:540,1
    - Dst: mhd_PUT_32BIT_BE
      Src: /src/mhd2/src/mhd2/sha256_builtin.c:541,1
    - Dst: mhd_PUT_32BIT_BE
      Src: /src/mhd2/src/mhd2/sha256_builtin.c:542,1
    - Dst: mhd_PUT_32BIT_BE
      Src: /src/mhd2/src/mhd2/sha256_builtin.c:543,1
    - Dst: mhd_PUT_32BIT_BE
      Src: /src/mhd2/src/mhd2/sha256_builtin.c:544,1
    - Dst: mhd_PUT_32BIT_BE
      Src: /src/mhd2/src/mhd2/sha256_builtin.c:545,1
    - Dst: mhd_PUT_32BIT_BE
      Src: /src/mhd2/src/mhd2/sha256_builtin.c:546,1
    - Dst: mhd_PUT_32BIT_BE
      Src: /src/mhd2/src/mhd2/sha256_builtin.c:547,1
    - Dst: memcpy
      Src: /src/mhd2/src/mhd2/sha256_builtin.c:549,1
    - Dst: mhd_PUT_32BIT_BE
      Src: /src/mhd2/src/mhd2/sha256_builtin.c:555,1
    - Dst: mhd_PUT_32BIT_BE
      Src: /src/mhd2/src/mhd2/sha256_builtin.c:557,1
    - Dst: mhd_PUT_32BIT_BE
      Src: /src/mhd2/src/mhd2/sha256_builtin.c:559,1
    - Dst: mhd_PUT_32BIT_BE
      Src: /src/mhd2/src/mhd2/sha256_builtin.c:561,1
    - Dst: mhd_PUT_32BIT_BE
      Src: /src/mhd2/src/mhd2/sha256_builtin.c:563,1
    - Dst: mhd_PUT_32BIT_BE
      Src: /src/mhd2/src/mhd2/sha256_builtin.c:565,1
    - Dst: mhd_PUT_32BIT_BE
      Src: /src/mhd2/src/mhd2/sha256_builtin.c:567,1
    - Dst: mhd_PUT_32BIT_BE
      Src: /src/mhd2/src/mhd2/sha256_builtin.c:569,1
    - Dst: memset
      Src: /src/mhd2/src/mhd2/sha256_builtin.c:575,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 39
    argCount: 2
    argNames:
    - ctx
    - digest
    argTypes:
    - struct mhd_Sha256CtxBlti*
    - uint8_t[]
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 576
      start: 474
    functionDepth: 2
    functionLinenumber: 474
    functionLinenumberEnd: 576
    functionName: mhd_SHA256_blti_finish
    functionSourceFile: /src/mhd2/src/mhd2/sha256_builtin.c
    functionUses: 0
    functionsReached:
    - mhd_PUT_64BIT_BE_UNALIGN
    - memcpy
    - sha256_transform
    - MHD_FN_PAR_FIX_ARR_SIZE_
    - mhd_PUT_32BIT_BE
    - memset
    linkageType: ''
    returnType: void
    signature: "void mhd_SHA256_blti_finish (\n  struct mhd_Sha256CtxBlti *restrict
      ctx,\n  uint8_t digest[MHD_FN_PAR_FIX_ARR_SIZE_ (mhd_SHA256_DIGEST_SIZE)])"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: EVP_MD_CTX_new
      Src: /src/mhd2/src/mhd2/sha256_openssl.c:59,1
    - Dst: mhd_SHA256_ossl_reset
      Src: /src/mhd2/src/mhd2/sha256_openssl.c:62,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - ctx
    argTypes:
    - struct mhd_Sha256CtxOssl*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 63
      start: 56
    functionDepth: 1
    functionLinenumber: 56
    functionLinenumberEnd: 63
    functionName: mhd_SHA256_ossl_init
    functionSourceFile: /src/mhd2/src/mhd2/sha256_openssl.c
    functionUses: 0
    functionsReached:
    - EVP_MD_CTX_new
    - mhd_SHA256_ossl_reset
    linkageType: ''
    returnType: void
    signature: void mhd_SHA256_ossl_init (struct mhd_Sha256CtxOssl *ctx)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/sha256_openssl.c:72,1
    - Dst: EVP_DigestInit_ex
      Src: /src/mhd2/src/mhd2/sha256_openssl.c:74,1
    - Dst: EVP_sha256
      Src: /src/mhd2/src/mhd2/sha256_openssl.c:75,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - ctx
    argTypes:
    - struct mhd_Sha256CtxOssl*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 77
      start: 66
    functionDepth: 1
    functionLinenumber: 66
    functionLinenumberEnd: 77
    functionName: mhd_SHA256_ossl_reset
    functionSourceFile: /src/mhd2/src/mhd2/sha256_openssl.c
    functionUses: 1
    functionsReached:
    - EVP_sha256
    - mhd_assert
    - EVP_DigestInit_ex
    linkageType: ''
    returnType: void
    signature: void mhd_SHA256_ossl_reset (struct mhd_Sha256CtxOssl *ctx)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/sha256_openssl.c:87,1
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/sha256_openssl.c:93,1
    - Dst: EVP_DigestUpdate
      Src: /src/mhd2/src/mhd2/sha256_openssl.c:95,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 3
    argNames:
    - ctx
    - size
    - data
    argTypes:
    - struct mhd_Sha256CtxOssl*
    - size_t
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 98
      start: 81
    functionDepth: 1
    functionLinenumber: 81
    functionLinenumberEnd: 98
    functionName: mhd_SHA256_ossl_update
    functionSourceFile: /src/mhd2/src/mhd2/sha256_openssl.c
    functionUses: 0
    functionsReached:
    - EVP_DigestUpdate
    - mhd_assert
    linkageType: ''
    returnType: void
    signature: "void mhd_SHA256_ossl_update (struct mhd_Sha256CtxOssl *restrict ctx,\n
      \                       size_t size,\n                        const void *restrict
      data)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: MHD_FN_PAR_FIX_ARR_SIZE_
      Src: /src/mhd2/src/mhd2/sha256_openssl.c:105,1
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/sha256_openssl.c:112,1
    - Dst: EVP_DigestFinal_ex
      Src: /src/mhd2/src/mhd2/sha256_openssl.c:114,1
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/sha256_openssl.c:117,1
    - Dst: EVP_DigestFinal_ex
      Src: /src/mhd2/src/mhd2/sha256_openssl.c:119,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 2
    argNames:
    - ctx
    - digest
    argTypes:
    - struct mhd_Sha256CtxOssl*
    - uint8_t[]
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 124
      start: 102
    functionDepth: 1
    functionLinenumber: 102
    functionLinenumberEnd: 124
    functionName: mhd_SHA256_ossl_finish
    functionSourceFile: /src/mhd2/src/mhd2/sha256_openssl.c
    functionUses: 0
    functionsReached:
    - EVP_DigestFinal_ex
    - mhd_assert
    - MHD_FN_PAR_FIX_ARR_SIZE_
    linkageType: ''
    returnType: void
    signature: "void mhd_SHA256_ossl_finish (\n  struct mhd_Sha256CtxOssl *restrict
      ctx,\n  uint8_t digest[MHD_FN_PAR_FIX_ARR_SIZE_ (mhd_SHA256_DIGEST_SIZE)])"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: EVP_MD_CTX_free
      Src: /src/mhd2/src/mhd2/sha256_openssl.c:130,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - ctx
    argTypes:
    - struct mhd_Sha256CtxOssl*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 132
      start: 127
    functionDepth: 0
    functionLinenumber: 127
    functionLinenumberEnd: 132
    functionName: mhd_SHA256_ossl_deinit
    functionSourceFile: /src/mhd2/src/mhd2/sha256_openssl.c
    functionUses: 0
    functionsReached:
    - EVP_MD_CTX_free
    linkageType: ''
    returnType: void
    signature: void mhd_SHA256_ossl_deinit (struct mhd_Sha256CtxOssl *ctx)
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 2
    argNames:
    - connection
    - next_stage
    argTypes:
    - struct MHD_Connection*
    - enum mhd_HttpStage
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 94
      start: 80
    functionDepth: 0
    functionLinenumber: 80
    functionLinenumberEnd: 94
    functionName: check_write_done
    functionSourceFile: /src/mhd2/src/mhd2/conn_data_send.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: MHD_FN_PAR_NONNULL_ALL_
    signature: "MHD_FN_PAR_NONNULL_ALL_ check_write_done (struct MHD_Connection *restrict
      connection,\n                  enum mhd_HttpStage next_stage)"
  - BBCount: 53
    BranchProfiles: []
    Callsites:
    - Dst: mhd_SSTR_LEN
      Src: /src/mhd2/src/mhd2/conn_data_send.c:103,1
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/conn_data_send.c:107,1
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/conn_data_send.c:114,1
    - Dst: mhd_C_IS_HTTP2
      Src: /src/mhd2/src/mhd2/conn_data_send.c:117,1
    - Dst: mhd_send_data
      Src: /src/mhd2/src/mhd2/conn_data_send.c:119,1
    - Dst: mhd_send_data
      Src: /src/mhd2/src/mhd2/conn_data_send.c:134,1
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/conn_data_send.c:150,1
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/conn_data_send.c:152,1
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/conn_data_send.c:153,1
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/conn_data_send.c:165,1
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/conn_data_send.c:166,1
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/conn_data_send.c:167,1
    - Dst: mhd_send_hdr_and_body
      Src: /src/mhd2/src/mhd2/conn_data_send.c:175,1
    - Dst: mhd_send_hdr_and_body
      Src: /src/mhd2/src/mhd2/conn_data_send.c:190,1
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/conn_data_send.c:203,1
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/conn_data_send.c:209,1
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/conn_data_send.c:210,1
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/conn_data_send.c:211,1
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/conn_data_send.c:212,1
    - Dst: check_write_done
      Src: /src/mhd2/src/mhd2/conn_data_send.c:223,1
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/conn_data_send.c:234,1
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/conn_data_send.c:235,1
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/conn_data_send.c:236,1
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/conn_data_send.c:245,1
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/conn_data_send.c:246,1
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/conn_data_send.c:247,1
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/conn_data_send.c:248,1
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/conn_data_send.c:254,1
    - Dst: mhd_send_data
      Src: /src/mhd2/src/mhd2/conn_data_send.c:257,1
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/conn_data_send.c:263,1
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/conn_data_send.c:268,1
    - Dst: mhd_send_data
      Src: /src/mhd2/src/mhd2/conn_data_send.c:271,1
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/conn_data_send.c:277,1
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/conn_data_send.c:283,1
    - Dst: mhd_send_iovec
      Src: /src/mhd2/src/mhd2/conn_data_send.c:285,1
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/conn_data_send.c:293,1
    - Dst: mhd_send_sendfile
      Src: /src/mhd2/src/mhd2/conn_data_send.c:295,1
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/conn_data_send.c:300,1
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/conn_data_send.c:309,1
    - Dst: check_write_done
      Src: /src/mhd2/src/mhd2/conn_data_send.c:331,1
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/conn_data_send.c:337,1
    - Dst: mhd_send_data
      Src: /src/mhd2/src/mhd2/conn_data_send.c:345,1
    - Dst: check_write_done
      Src: /src/mhd2/src/mhd2/conn_data_send.c:356,1
    - Dst: mhd_send_data
      Src: /src/mhd2/src/mhd2/conn_data_send.c:362,1
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/conn_data_send.c:398,1
    - Dst: mhd_UNREACHABLE
      Src: /src/mhd2/src/mhd2/conn_data_send.c:399,1
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/conn_data_send.c:403,1
    - Dst: mhd_UNREACHABLE
      Src: /src/mhd2/src/mhd2/conn_data_send.c:404,1
    CyclomaticComplexity: 39
    EdgeCount: 39
    ICount: 153
    argCount: 1
    argNames:
    - c
    argTypes:
    - struct MHD_Connection*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 407
      start: 97
    functionDepth: 1
    functionLinenumber: 97
    functionLinenumberEnd: 407
    functionName: mhd_conn_data_send
    functionSourceFile: /src/mhd2/src/mhd2/conn_data_send.c
    functionUses: 1
    functionsReached:
    - mhd_send_hdr_and_body
    - check_write_done
    - mhd_SSTR_LEN
    - mhd_send_iovec
    - mhd_UNREACHABLE
    - mhd_send_sendfile
    - mhd_send_data
    - mhd_C_IS_HTTP2
    - mhd_assert
    linkageType: ''
    returnType: MHD_INTERNAL
    signature: MHD_INTERNAL mhd_conn_data_send (struct MHD_Connection *c)
  - BBCount: 17
    BranchProfiles: []
    Callsites:
    - Dst: MHD_FN_PAR_DYN_ARR_SIZE_
      Src: /src/mhd2/src/mhd2/stream_process_request.c:492,1
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/stream_process_request.c:498,1
    - Dst: mhd_SSTR_LEN
      Src: /src/mhd2/src/mhd2/stream_process_request.c:498,1
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/stream_process_request.c:499,1
    - Dst: mhd_SSTR_LEN
      Src: /src/mhd2/src/mhd2/stream_process_request.c:499,1
    - Dst: memcmp
      Src: /src/mhd2/src/mhd2/stream_process_request.c:500,1
    - Dst: mhd_SSTR_LEN
      Src: /src/mhd2/src/mhd2/stream_process_request.c:502,1
    - Dst: memcmp
      Src: /src/mhd2/src/mhd2/stream_process_request.c:504,1
    - Dst: mhd_SSTR_LEN
      Src: /src/mhd2/src/mhd2/stream_process_request.c:506,1
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/stream_process_request.c:511,1
    - Dst: mhd_SSTR_LEN
      Src: /src/mhd2/src/mhd2/stream_process_request.c:511,1
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/stream_process_request.c:512,1
    - Dst: mhd_SSTR_LEN
      Src: /src/mhd2/src/mhd2/stream_process_request.c:512,1
    - Dst: memcmp
      Src: /src/mhd2/src/mhd2/stream_process_request.c:513,1
    - Dst: mhd_SSTR_LEN
      Src: /src/mhd2/src/mhd2/stream_process_request.c:515,1
    - Dst: memcmp
      Src: /src/mhd2/src/mhd2/stream_process_request.c:517,1
    - Dst: mhd_SSTR_LEN
      Src: /src/mhd2/src/mhd2/stream_process_request.c:519,1
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/stream_process_request.c:523,1
    - Dst: mhd_SSTR_LEN
      Src: /src/mhd2/src/mhd2/stream_process_request.c:523,1
    - Dst: memcmp
      Src: /src/mhd2/src/mhd2/stream_process_request.c:524,1
    - Dst: mhd_SSTR_LEN
      Src: /src/mhd2/src/mhd2/stream_process_request.c:526,1
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/stream_process_request.c:531,1
    - Dst: mhd_SSTR_LEN
      Src: /src/mhd2/src/mhd2/stream_process_request.c:531,1
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/stream_process_request.c:532,1
    - Dst: mhd_SSTR_LEN
      Src: /src/mhd2/src/mhd2/stream_process_request.c:532,1
    - Dst: memcmp
      Src: /src/mhd2/src/mhd2/stream_process_request.c:533,1
    - Dst: mhd_SSTR_LEN
      Src: /src/mhd2/src/mhd2/stream_process_request.c:535,1
    - Dst: memcmp
      Src: /src/mhd2/src/mhd2/stream_process_request.c:537,1
    - Dst: mhd_SSTR_LEN
      Src: /src/mhd2/src/mhd2/stream_process_request.c:539,1
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/stream_process_request.c:543,1
    - Dst: mhd_SSTR_LEN
      Src: /src/mhd2/src/mhd2/stream_process_request.c:543,1
    - Dst: memcmp
      Src: /src/mhd2/src/mhd2/stream_process_request.c:544,1
    - Dst: mhd_SSTR_LEN
      Src: /src/mhd2/src/mhd2/stream_process_request.c:546,1
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/stream_process_request.c:550,1
    - Dst: mhd_SSTR_LEN
      Src: /src/mhd2/src/mhd2/stream_process_request.c:550,1
    CyclomaticComplexity: 17
    EdgeCount: 17
    ICount: 45
    argCount: 2
    argNames:
    - len
    - mtd
    argTypes:
    - size_t
    - char[]
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 558
      start: 490
    functionDepth: 1
    functionLinenumber: 490
    functionLinenumberEnd: 558
    functionName: mhd_parse_http_method
    functionSourceFile: /src/mhd2/src/mhd2/stream_process_request.c
    functionUses: 0
    functionsReached:
    - memcmp
    - mhd_assert
    - MHD_FN_PAR_DYN_ARR_SIZE_
    - mhd_SSTR_LEN
    linkageType: ''
    returnType: MHD_FN_PURE_
    signature: "MHD_FN_PURE_ mhd_parse_http_method (size_t len,\n                       const
      char mtd[MHD_FN_PAR_DYN_ARR_SIZE_ (len)])"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/stream_process_request.c:571,1
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/stream_process_request.c:572,1
    - Dst: mhd_parse_http_method
      Src: /src/mhd2/src/mhd2/stream_process_request.c:574,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - connection
    argTypes:
    - struct MHD_Connection*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 576
      start: 566
    functionDepth: 2
    functionLinenumber: 566
    functionLinenumberEnd: 576
    functionName: parse_http_std_method
    functionSourceFile: /src/mhd2/src/mhd2/stream_process_request.c
    functionUses: 0
    functionsReached:
    - mhd_assert
    - mhd_parse_http_method
    linkageType: ''
    returnType: MHD_FN_PAR_NONNULL_ALL_
    signature: MHD_FN_PAR_NONNULL_ALL_ parse_http_std_method (struct MHD_Connection
      *restrict connection)
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/stream_process_request.c:614,1
    - Dst: memcmp
      Src: /src/mhd2/src/mhd2/stream_process_request.c:619,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 18
    argCount: 2
    argNames:
    - len
    - http_string
    argTypes:
    - size_t
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 646
      start: 608
    functionDepth: 1
    functionLinenumber: 608
    functionLinenumberEnd: 646
    functionName: "(2, 1) MHD_FN_PAR_NONNULL_ALL_\nenum mhd_HTTP_ProtVerParse\nparse_http_version
      (size_t len,\n                    const char *restrict http_string)"
    functionSourceFile: /src/mhd2/src/mhd2/stream_process_request.c
    functionUses: 0
    functionsReached:
    - mhd_assert
    - memcmp
    linkageType: ''
    returnType: MHD_FN_PAR_IN_SIZE_
    signature: "MHD_FN_PAR_IN_SIZE_ (2, 1) MHD_FN_PAR_NONNULL_ALL_\nenum mhd_HTTP_ProtVerParse\nparse_http_version
      (size_t len,\n                    const char *restrict http_string)"
  - BBCount: 11
    BranchProfiles: []
    Callsites:
    - Dst: parse_http_version
      Src: /src/mhd2/src/mhd2/stream_process_request.c:665,1
    - Dst: mhd_RESPOND_WITH_ERROR_STATIC
      Src: /src/mhd2/src/mhd2/stream_process_request.c:670,1
    - Dst: mhd_RESPOND_WITH_ERROR_STATIC
      Src: /src/mhd2/src/mhd2/stream_process_request.c:690,1
    - Dst: mhd_UNREACHABLE
      Src: /src/mhd2/src/mhd2/stream_process_request.c:697,1
    - Dst: mhd_RESPOND_WITH_ERROR_STATIC
      Src: /src/mhd2/src/mhd2/stream_process_request.c:701,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 29
    argCount: 3
    argNames:
    - connection
    - len
    - http_string
    argTypes:
    - struct MHD_Connection*
    - size_t
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 705
      start: 658
    functionDepth: 1
    functionLinenumber: 658
    functionLinenumberEnd: 705
    functionName: "(3, 2) MHD_FN_PAR_NONNULL_ALL_ bool\nprocess_http_version (struct
      MHD_Connection *restrict connection,\n                      size_t len,\n                      const
      char *restrict http_string)"
    functionSourceFile: /src/mhd2/src/mhd2/stream_process_request.c
    functionUses: 0
    functionsReached:
    - mhd_RESPOND_WITH_ERROR_STATIC
    - mhd_UNREACHABLE
    - parse_http_version
    linkageType: ''
    returnType: MHD_FN_PAR_IN_SIZE_
    signature: "MHD_FN_PAR_IN_SIZE_ (3, 2) MHD_FN_PAR_NONNULL_ALL_ bool\nprocess_http_version
      (struct MHD_Connection *restrict connection,\n                      size_t len,\n
      \                     const char *restrict http_string)"
  - BBCount: 50
    BranchProfiles: []
    Callsites:
    - Dst: mhd_ALLOW_BARE_LF_AS_CRLF
      Src: /src/mhd2/src/mhd2/stream_process_request.c:741,1
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/stream_process_request.c:765,1
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/stream_process_request.c:767,1
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/stream_process_request.c:769,1
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/stream_process_request.c:771,1
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/stream_process_request.c:776,1
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/stream_process_request.c:780,1
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/stream_process_request.c:790,1
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/stream_process_request.c:791,1
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/stream_process_request.c:792,1
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/stream_process_request.c:793,1
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/stream_process_request.c:794,1
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/stream_process_request.c:795,1
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/stream_process_request.c:796,1
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/stream_process_request.c:797,1
    - Dst: mhd_STREAM_ABORT
      Src: /src/mhd2/src/mhd2/stream_process_request.c:830,1
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/stream_process_request.c:844,1
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/stream_process_request.c:868,1
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/stream_process_request.c:871,1
    - Dst: mhd_RESPOND_WITH_ERROR_STATIC
      Src: /src/mhd2/src/mhd2/stream_process_request.c:901,1
    - Dst: mhd_STREAM_ABORT
      Src: /src/mhd2/src/mhd2/stream_process_request.c:906,1
    - Dst: mhd_RESPOND_WITH_ERROR_STATIC
      Src: /src/mhd2/src/mhd2/stream_process_request.c:929,1
    - Dst: mhd_STREAM_ABORT
      Src: /src/mhd2/src/mhd2/stream_process_request.c:934,1
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/stream_process_request.c:951,1
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/stream_process_request.c:952,1
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/stream_process_request.c:969,1
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/stream_process_request.c:1000,1
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/stream_process_request.c:1001,1
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/stream_process_request.c:1003,1
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/stream_process_request.c:1015,1
    - Dst: process_http_version
      Src: /src/mhd2/src/mhd2/stream_process_request.c:1016,1
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/stream_process_request.c:1021,1
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/stream_process_request.c:1028,1
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/stream_process_request.c:1034,1
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/stream_process_request.c:1036,1
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/stream_process_request.c:1038,1
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/stream_process_request.c:1042,1
    - Dst: mhd_RESPOND_WITH_ERROR_STATIC
      Src: /src/mhd2/src/mhd2/stream_process_request.c:1054,1
    - Dst: mhd_STREAM_ABORT
      Src: /src/mhd2/src/mhd2/stream_process_request.c:1059,1
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/stream_process_request.c:1077,1
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/stream_process_request.c:1078,1
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/stream_process_request.c:1089,1
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/stream_process_request.c:1091,1
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/stream_process_request.c:1115,1
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/stream_process_request.c:1116,1
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/stream_process_request.c:1117,1
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/stream_process_request.c:1118,1
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/stream_process_request.c:1119,1
    - Dst: mhd_STREAM_ABORT
      Src: /src/mhd2/src/mhd2/stream_process_request.c:1122,1
    - Dst: parse_http_std_method
      Src: /src/mhd2/src/mhd2/stream_process_request.c:1129,1
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/stream_process_request.c:1139,1
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/stream_process_request.c:1142,1
    - Dst: mhd_RESPOND_WITH_ERROR_STATIC
      Src: /src/mhd2/src/mhd2/stream_process_request.c:1155,1
    - Dst: mhd_STREAM_ABORT
      Src: /src/mhd2/src/mhd2/stream_process_request.c:1160,1
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/stream_process_request.c:1184,1
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/stream_process_request.c:1185,1
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/stream_process_request.c:1192,1
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/stream_process_request.c:1204,1
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/stream_process_request.c:1205,1
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/stream_process_request.c:1216,1
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/stream_process_request.c:1217,1
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/stream_process_request.c:1219,1
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/stream_process_request.c:1240,1
    - Dst: mhd_STREAM_ABORT
      Src: /src/mhd2/src/mhd2/stream_process_request.c:1249,1
    - Dst: mhd_STREAM_ABORT
      Src: /src/mhd2/src/mhd2/stream_process_request.c:1257,1
    CyclomaticComplexity: 95
    EdgeCount: 95
    ICount: 255
    argCount: 1
    argNames:
    - c
    argTypes:
    - struct MHD_Connection*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1268
      start: 724
    functionDepth: 3
    functionLinenumber: 724
    functionLinenumberEnd: 1268
    functionName: get_request_line_inner
    functionSourceFile: /src/mhd2/src/mhd2/stream_process_request.c
    functionUses: 0
    functionsReached:
    - mhd_ALLOW_BARE_LF_AS_CRLF
    - mhd_RESPOND_WITH_ERROR_STATIC
    - process_http_version
    - mhd_STREAM_ABORT
    - mhd_assert
    - parse_http_std_method
    linkageType: ''
    returnType: MHD_FN_PAR_NONNULL_ALL_
    signature: MHD_FN_PAR_NONNULL_ALL_ get_request_line_inner (struct MHD_Connection
      *restrict c)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: mhd_stream_add_field_nullable
      Src: /src/mhd2/src/mhd2/stream_process_request.c:1286,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - cls
    - name
    - value
    argTypes:
    - void*
    - struct MHD_String*
    - struct MHD_StringNullable*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1287
      start: 1279
    functionDepth: 1
    functionLinenumber: 1279
    functionLinenumberEnd: 1287
    functionName: "(2) MHD_FN_PAR_NONNULL_ (3) bool\nrequest_add_get_arg (void *restrict
      cls,\n                     const struct MHD_String *restrict name,\n                     const
      struct MHD_StringNullable *restrict value)"
    functionSourceFile: /src/mhd2/src/mhd2/stream_process_request.c
    functionUses: 0
    functionsReached:
    - mhd_stream_add_field_nullable
    linkageType: ''
    returnType: MHD_FN_PAR_NONNULL_
    signature: "MHD_FN_PAR_NONNULL_ (2) MHD_FN_PAR_NONNULL_ (3) bool\nrequest_add_get_arg
      (void *restrict cls,\n                     const struct MHD_String *restrict
      name,\n                     const struct MHD_StringNullable *restrict value)"
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/stream_process_request.c:1301,1
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/stream_process_request.c:1339,1
    - Dst: mhd_str_pct_decode_lenient_n
      Src: /src/mhd2/src/mhd2/stream_process_request.c:1343,1
    - Dst: mhd_str_pct_decode_lenient_n
      Src: /src/mhd2/src/mhd2/stream_process_request.c:1358,1
    - Dst: cb
      Src: /src/mhd2/src/mhd2/stream_process_request.c:1365,1
    CyclomaticComplexity: 15
    EdgeCount: 15
    ICount: 41
    argCount: 4
    argNames:
    - args_len
    - args
    - cb
    - cls
    argTypes:
    - size_t
    - char*
    - mhd_GetArgumentInter
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1369
      start: 1292
    functionDepth: 1
    functionLinenumber: 1292
    functionLinenumberEnd: 1369
    functionName: mhd_parse_uri_args
    functionSourceFile: /src/mhd2/src/mhd2/stream_process_request.c
    functionUses: 0
    functionsReached:
    - mhd_str_pct_decode_lenient_n
    - mhd_assert
    - cb
    linkageType: ''
    returnType: bool
    signature: "bool mhd_parse_uri_args (size_t args_len,\n                    char
      *restrict args,\n                    mhd_GetArgumentInter cb,\n                    void
      *restrict cls)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/stream_process_request.c:1383,1
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/stream_process_request.c:1384,1
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/stream_process_request.c:1385,1
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/stream_process_request.c:1386,1
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/stream_process_request.c:1387,1
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/stream_process_request.c:1390,1
    - Dst: struct MHD_Connection*::daemon::req_cfg::uri_cb::cb
      Src: /src/mhd2/src/mhd2/stream_process_request.c:1403,1
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/stream_process_request.c:1414,1
    - Dst: mhd_parse_uri_args
      Src: /src/mhd2/src/mhd2/stream_process_request.c:1419,1
    - Dst: mhd_LOG_MSG
      Src: /src/mhd2/src/mhd2/stream_process_request.c:1424,1
    - Dst: mhd_RESPOND_WITH_ERROR_STATIC
      Src: /src/mhd2/src/mhd2/stream_process_request.c:1427,1
    - Dst: mhd_stream_get_no_space_err_status_code
      Src: /src/mhd2/src/mhd2/stream_process_request.c:1429,1
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/stream_process_request.c:1434,1
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/stream_process_request.c:1442,1
    - Dst: strlen
      Src: /src/mhd2/src/mhd2/stream_process_request.c:1442,1
    - Dst: mhd_str_pct_decode_lenient_n
      Src: /src/mhd2/src/mhd2/stream_process_request.c:1448,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 30
    argCount: 1
    argNames:
    - c
    argTypes:
    - struct MHD_Connection*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1456
      start: 1378
    functionDepth: 2
    functionLinenumber: 1378
    functionLinenumberEnd: 1456
    functionName: process_request_target
    functionSourceFile: /src/mhd2/src/mhd2/stream_process_request.c
    functionUses: 0
    functionsReached:
    - mhd_str_pct_decode_lenient_n
    - mhd_parse_uri_args
    - mhd_RESPOND_WITH_ERROR_STATIC
    - mhd_LOG_MSG
    - mhd_stream_get_no_space_err_status_code
    - struct MHD_Connection*::daemon::req_cfg::uri_cb::cb
    - strlen
    - mhd_assert
    linkageType: ''
    returnType: MHD_FN_PAR_NONNULL_ALL_
    signature: MHD_FN_PAR_NONNULL_ALL_ process_request_target (struct MHD_Connection
      *c)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: mhd_SSTR_LEN
      Src: /src/mhd2/src/mhd2/stream_process_request.c:1478,1
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/stream_process_request.c:1485,1
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/stream_process_request.c:1486,1
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/stream_process_request.c:1487,1
    - Dst: malloc
      Src: /src/mhd2/src/mhd2/stream_process_request.c:1494,1
    - Dst: mhd_STREAM_ABORT
      Src: /src/mhd2/src/mhd2/stream_process_request.c:1496,1
    - Dst: memcpy
      Src: /src/mhd2/src/mhd2/stream_process_request.c:1502,1
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/stream_process_request.c:1511,1
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/stream_process_request.c:1512,1
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/stream_process_request.c:1513,1
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/stream_process_request.c:1541,1
    - Dst: mhd_RESPOND_WITH_ERROR_HEADER
      Src: /src/mhd2/src/mhd2/stream_process_request.c:1544,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 47
    argCount: 1
    argNames:
    - c
    argTypes:
    - struct MHD_Connection*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1551
      start: 1473
    functionDepth: 1
    functionLinenumber: 1473
    functionLinenumberEnd: 1551
    functionName: send_redirect_fixed_rq_target
    functionSourceFile: /src/mhd2/src/mhd2/stream_process_request.c
    functionUses: 0
    functionsReached:
    - mhd_RESPOND_WITH_ERROR_HEADER
    - malloc
    - mhd_STREAM_ABORT
    - mhd_SSTR_LEN
    - mhd_assert
    - memcpy
    linkageType: ''
    returnType: void
    signature: void send_redirect_fixed_rq_target (struct MHD_Connection *restrict
      c)
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: get_request_line_inner
      Src: /src/mhd2/src/mhd2/stream_process_request.c:1564,1
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/stream_process_request.c:1567,1
    - Dst: mhd_RESPOND_WITH_ERROR_STATIC
      Src: /src/mhd2/src/mhd2/stream_process_request.c:1574,1
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/stream_process_request.c:1584,1
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/stream_process_request.c:1585,1
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/stream_process_request.c:1586,1
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/stream_process_request.c:1587,1
    - Dst: mhd_RESPOND_WITH_ERROR_STATIC
      Src: /src/mhd2/src/mhd2/stream_process_request.c:1592,1
    - Dst: send_redirect_fixed_rq_target
      Src: /src/mhd2/src/mhd2/stream_process_request.c:1599,1
    - Dst: process_request_target
      Src: /src/mhd2/src/mhd2/stream_process_request.c:1603,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 30
    argCount: 1
    argNames:
    - c
    argTypes:
    - struct MHD_Connection*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1608
      start: 1554
    functionDepth: 4
    functionLinenumber: 1554
    functionLinenumberEnd: 1608
    functionName: mhd_stream_get_request_line
    functionSourceFile: /src/mhd2/src/mhd2/stream_process_request.c
    functionUses: 1
    functionsReached:
    - mhd_RESPOND_WITH_ERROR_STATIC
    - process_request_target
    - send_redirect_fixed_rq_target
    - get_request_line_inner
    - mhd_assert
    linkageType: ''
    returnType: MHD_INTERNAL
    signature: MHD_INTERNAL mhd_stream_get_request_line (struct MHD_Connection *restrict
      c)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: mhd_stream_reset_rq_hdr_proc_state
      Src: /src/mhd2/src/mhd2/stream_process_request.c:1615,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - c
    argTypes:
    - struct MHD_Connection*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1617
      start: 1611
    functionDepth: 1
    functionLinenumber: 1611
    functionLinenumberEnd: 1617
    functionName: mhd_stream_switch_to_rq_headers_proc
    functionSourceFile: /src/mhd2/src/mhd2/stream_process_request.c
    functionUses: 2
    functionsReached:
    - mhd_stream_reset_rq_hdr_proc_state
    linkageType: ''
    returnType: MHD_INTERNAL
    signature: MHD_INTERNAL mhd_stream_switch_to_rq_headers_proc (struct MHD_Connection
      *restrict c)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: mhd_stream_get_no_space_err_status_code
      Src: /src/mhd2/src/mhd2/stream_process_request.c:1638,1
    - Dst: mhd_RESPOND_WITH_ERROR_STATIC
      Src: /src/mhd2/src/mhd2/stream_process_request.c:1642,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 3
    argNames:
    - c
    - add_header
    - add_header_size
    argTypes:
    - struct MHD_Connection*
    - char*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1645
      start: 1631
    functionDepth: 1
    functionLinenumber: 1631
    functionLinenumberEnd: 1645
    functionName: handle_req_headers_no_space
    functionSourceFile: /src/mhd2/src/mhd2/stream_process_request.c
    functionUses: 0
    functionsReached:
    - mhd_RESPOND_WITH_ERROR_STATIC
    - mhd_stream_get_no_space_err_status_code
    linkageType: ''
    returnType: void
    signature: "void handle_req_headers_no_space (struct MHD_Connection *restrict
      c,\n                             const char *restrict add_header,\n                             size_t
      add_header_size)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/stream_process_request.c:1666,1
    - Dst: mhd_RESPOND_WITH_ERROR_STATIC
      Src: /src/mhd2/src/mhd2/stream_process_request.c:1669,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 3
    argNames:
    - c
    - add_footer
    - add_footer_size
    argTypes:
    - struct MHD_Connection*
    - char*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1673
      start: 1659
    functionDepth: 1
    functionLinenumber: 1659
    functionLinenumberEnd: 1673
    functionName: handle_req_footers_no_space
    functionSourceFile: /src/mhd2/src/mhd2/stream_process_request.c
    functionUses: 0
    functionsReached:
    - mhd_RESPOND_WITH_ERROR_STATIC
    - mhd_assert
    linkageType: ''
    returnType: void
    signature: "void handle_req_footers_no_space (struct MHD_Connection *restrict
      c,\n                             const char *restrict add_footer,\n                             size_t
      add_footer_size)"
  - BBCount: 50
    BranchProfiles: []
    Callsites:
    - Dst: mhd_ALLOW_BARE_LF_AS_CRLF
      Src: /src/mhd2/src/mhd2/stream_process_request.c:1721,1
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/stream_process_request.c:1758,1
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/stream_process_request.c:1764,1
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/stream_process_request.c:1771,1
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/stream_process_request.c:1773,1
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/stream_process_request.c:1774,1
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/stream_process_request.c:1776,1
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/stream_process_request.c:1778,1
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/stream_process_request.c:1780,1
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/stream_process_request.c:1783,1
    - Dst: mhd_RESPOND_WITH_ERROR_STATIC
      Src: /src/mhd2/src/mhd2/stream_process_request.c:1818,1
    - Dst: mhd_RESPOND_WITH_ERROR_STATIC
      Src: /src/mhd2/src/mhd2/stream_process_request.c:1822,1
    - Dst: mhd_RESPOND_WITH_ERROR_STATIC
      Src: /src/mhd2/src/mhd2/stream_process_request.c:1847,1
    - Dst: mhd_RESPOND_WITH_ERROR_STATIC
      Src: /src/mhd2/src/mhd2/stream_process_request.c:1851,1
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/stream_process_request.c:1868,1
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/stream_process_request.c:1875,1
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/stream_process_request.c:1876,1
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/stream_process_request.c:1877,1
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/stream_process_request.c:1878,1
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/stream_process_request.c:1879,1
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/stream_process_request.c:1887,1
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/stream_process_request.c:1888,1
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/stream_process_request.c:1889,1
    - Dst: mhd_RESPOND_WITH_ERROR_STATIC
      Src: /src/mhd2/src/mhd2/stream_process_request.c:1898,1
    - Dst: mhd_RESPOND_WITH_ERROR_STATIC
      Src: /src/mhd2/src/mhd2/stream_process_request.c:1902,1
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/stream_process_request.c:1919,1
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/stream_process_request.c:1925,1
    - Dst: mhd_LOG_MSG
      Src: /src/mhd2/src/mhd2/stream_process_request.c:1927,1
    - Dst: mhd_RESPOND_WITH_ERROR_STATIC
      Src: /src/mhd2/src/mhd2/stream_process_request.c:1937,1
    - Dst: mhd_RESPOND_WITH_ERROR_STATIC
      Src: /src/mhd2/src/mhd2/stream_process_request.c:1941,1
    - Dst: memset
      Src: /src/mhd2/src/mhd2/stream_process_request.c:1959,1
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/stream_process_request.c:1967,1
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/stream_process_request.c:1971,1
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/stream_process_request.c:1981,1
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/stream_process_request.c:1982,1
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/stream_process_request.c:1988,1
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/stream_process_request.c:1994,1
    - Dst: mhd_RESPOND_WITH_ERROR_STATIC
      Src: /src/mhd2/src/mhd2/stream_process_request.c:2010,1
    - Dst: mhd_RESPOND_WITH_ERROR_STATIC
      Src: /src/mhd2/src/mhd2/stream_process_request.c:2014,1
    - Dst: mhd_RESPOND_WITH_ERROR_STATIC
      Src: /src/mhd2/src/mhd2/stream_process_request.c:2033,1
    - Dst: mhd_RESPOND_WITH_ERROR_STATIC
      Src: /src/mhd2/src/mhd2/stream_process_request.c:2037,1
    - Dst: mhd_RESPOND_WITH_ERROR_STATIC
      Src: /src/mhd2/src/mhd2/stream_process_request.c:2056,1
    - Dst: mhd_RESPOND_WITH_ERROR_STATIC
      Src: /src/mhd2/src/mhd2/stream_process_request.c:2060,1
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/stream_process_request.c:2072,1
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/stream_process_request.c:2073,1
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/stream_process_request.c:2074,1
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/stream_process_request.c:2085,1
    - Dst: mhd_RESPOND_WITH_ERROR_STATIC
      Src: /src/mhd2/src/mhd2/stream_process_request.c:2089,1
    - Dst: mhd_RESPOND_WITH_ERROR_STATIC
      Src: /src/mhd2/src/mhd2/stream_process_request.c:2093,1
    - Dst: mhd_RESPOND_WITH_ERROR_STATIC
      Src: /src/mhd2/src/mhd2/stream_process_request.c:2106,1
    - Dst: mhd_RESPOND_WITH_ERROR_STATIC
      Src: /src/mhd2/src/mhd2/stream_process_request.c:2110,1
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/stream_process_request.c:2123,1
    - Dst: mhd_RESPOND_WITH_ERROR_STATIC
      Src: /src/mhd2/src/mhd2/stream_process_request.c:2127,1
    - Dst: mhd_RESPOND_WITH_ERROR_STATIC
      Src: /src/mhd2/src/mhd2/stream_process_request.c:2131,1
    CyclomaticComplexity: 77
    EdgeCount: 77
    ICount: 217
    argCount: 4
    argNames:
    - c
    - process_footers
    - hdr_name
    - hdr_value
    argTypes:
    - struct MHD_Connection*
    - bool
    - struct MHD_String*
    - struct MHD_String*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2160
      start: 1710
    functionDepth: 1
    functionLinenumber: 1710
    functionLinenumberEnd: 2160
    functionName: get_req_header
    functionSourceFile: /src/mhd2/src/mhd2/stream_process_request.c
    functionUses: 0
    functionsReached:
    - mhd_ALLOW_BARE_LF_AS_CRLF
    - memset
    - mhd_RESPOND_WITH_ERROR_STATIC
    - mhd_LOG_MSG
    - mhd_assert
    linkageType: ''
    returnType: enum mhd_HdrLineReadRes
    signature: "enum mhd_HdrLineReadRes get_req_header (struct MHD_Connection *restrict
      c,\n                bool process_footers,\n                struct MHD_String
      *restrict hdr_name,\n                struct MHD_String *restrict hdr_value)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: memset
      Src: /src/mhd2/src/mhd2/stream_process_request.c:2173,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - c
    argTypes:
    - struct MHD_Connection*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2174
      start: 2170
    functionDepth: 0
    functionLinenumber: 2170
    functionLinenumberEnd: 2174
    functionName: mhd_stream_reset_rq_hdr_proc_state
    functionSourceFile: /src/mhd2/src/mhd2/stream_process_request.c
    functionUses: 2
    functionsReached:
    - memset
    linkageType: ''
    returnType: MHD_INTERNAL
    signature: MHD_INTERNAL mhd_stream_reset_rq_hdr_proc_state (struct MHD_Connection
      *c)
  - BBCount: 20
    BranchProfiles: []
    Callsites:
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/stream_process_request.c:2187,1
    - Dst: get_req_header
      Src: /src/mhd2/src/mhd2/stream_process_request.c:2195,1
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/stream_process_request.c:2198,1
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/stream_process_request.c:2201,1
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/stream_process_request.c:2202,1
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/stream_process_request.c:2204,1
    - Dst: strlen
      Src: /src/mhd2/src/mhd2/stream_process_request.c:2204,1
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/stream_process_request.c:2205,1
    - Dst: strlen
      Src: /src/mhd2/src/mhd2/stream_process_request.c:2205,1
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/stream_process_request.c:2207,1
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/stream_process_request.c:2208,1
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/stream_process_request.c:2209,1
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/stream_process_request.c:2211,1
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/stream_process_request.c:2213,1
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/stream_process_request.c:2214,1
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/stream_process_request.c:2215,1
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/stream_process_request.c:2217,1
    - Dst: mhd_stream_add_field
      Src: /src/mhd2/src/mhd2/stream_process_request.c:2220,1
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/stream_process_request.c:2228,1
    - Dst: mhd_LOG_MSG
      Src: /src/mhd2/src/mhd2/stream_process_request.c:2231,1
    - Dst: mhd_LOG_MSG
      Src: /src/mhd2/src/mhd2/stream_process_request.c:2235,1
    - Dst: handle_req_headers_no_space
      Src: /src/mhd2/src/mhd2/stream_process_request.c:2243,1
    - Dst: handle_req_footers_no_space
      Src: /src/mhd2/src/mhd2/stream_process_request.c:2245,1
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/stream_process_request.c:2247,1
    - Dst: mhd_stream_reset_rq_hdr_proc_state
      Src: /src/mhd2/src/mhd2/stream_process_request.c:2251,1
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/stream_process_request.c:2252,1
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/stream_process_request.c:2260,1
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/stream_process_request.c:2267,1
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/stream_process_request.c:2270,1
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/stream_process_request.c:2271,1
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/stream_process_request.c:2274,1
    - Dst: mhd_LOG_MSG
      Src: /src/mhd2/src/mhd2/stream_process_request.c:2281,1
    - Dst: mhd_LOG_MSG
      Src: /src/mhd2/src/mhd2/stream_process_request.c:2285,1
    - Dst: mhd_LOG_PRINT
      Src: /src/mhd2/src/mhd2/stream_process_request.c:2292,1
    - Dst: mhd_LOG_FMT
      Src: /src/mhd2/src/mhd2/stream_process_request.c:2293,1
    - Dst: mhd_LOG_PRINT
      Src: /src/mhd2/src/mhd2/stream_process_request.c:2298,1
    - Dst: mhd_LOG_FMT
      Src: /src/mhd2/src/mhd2/stream_process_request.c:2299,1
    - Dst: mhd_LOG_MSG
      Src: /src/mhd2/src/mhd2/stream_process_request.c:2309,1
    - Dst: mhd_LOG_MSG
      Src: /src/mhd2/src/mhd2/stream_process_request.c:2312,1
    - Dst: mhd_LOG_PRINT
      Src: /src/mhd2/src/mhd2/stream_process_request.c:2318,1
    - Dst: mhd_LOG_FMT
      Src: /src/mhd2/src/mhd2/stream_process_request.c:2319,1
    - Dst: mhd_LOG_PRINT
      Src: /src/mhd2/src/mhd2/stream_process_request.c:2323,1
    - Dst: mhd_LOG_FMT
      Src: /src/mhd2/src/mhd2/stream_process_request.c:2324,1
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/stream_process_request.c:2329,1
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/stream_process_request.c:2333,1
    - Dst: mhd_DLINKEDL_GET_LAST
      Src: /src/mhd2/src/mhd2/stream_process_request.c:2352,1
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/stream_process_request.c:2358,1
    - Dst: memmove
      Src: /src/mhd2/src/mhd2/stream_process_request.c:2361,1
    CyclomaticComplexity: 30
    EdgeCount: 30
    ICount: 92
    argCount: 2
    argNames:
    - c
    - process_footers
    argTypes:
    - struct MHD_Connection*
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2372
      start: 2177
    functionDepth: 2
    functionLinenumber: 2177
    functionLinenumberEnd: 2372
    functionName: mhd_stream_get_request_headers
    functionSourceFile: /src/mhd2/src/mhd2/stream_process_request.c
    functionUses: 0
    functionsReached:
    - handle_req_footers_no_space
    - mhd_DLINKEDL_GET_LAST
    - mhd_LOG_FMT
    - mhd_LOG_MSG
    - mhd_LOG_PRINT
    - mhd_stream_add_field
    - memmove
    - mhd_stream_reset_rq_hdr_proc_state
    - strlen
    - mhd_assert
    - handle_req_headers_no_space
    - get_req_header
    linkageType: ''
    returnType: MHD_INTERNAL
    signature: "MHD_INTERNAL mhd_stream_get_request_headers (struct MHD_Connection
      *restrict c,\n                                bool process_footers)"
  - BBCount: 33
    BranchProfiles: []
    Callsites:
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/stream_process_request.c:2467,1
    - Dst: mhd_ASSUME
      Src: /src/mhd2/src/mhd2/stream_process_request.c:2542,1
    - Dst: mhd_ASSUME
      Src: /src/mhd2/src/mhd2/stream_process_request.c:2543,1
    - Dst: mhd_ASSUME
      Src: /src/mhd2/src/mhd2/stream_process_request.c:2550,1
    - Dst: mhd_stream_add_field
      Src: /src/mhd2/src/mhd2/stream_process_request.c:2557,1
    - Dst: mhd_stream_add_field
      Src: /src/mhd2/src/mhd2/stream_process_request.c:2571,1
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/stream_process_request.c:2579,1
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/stream_process_request.c:2580,1
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/stream_process_request.c:2581,1
    CyclomaticComplexity: 72
    EdgeCount: 72
    ICount: 127
    argCount: 4
    argNames:
    - str_len
    - str
    - strictness
    - s
    argTypes:
    - size_t
    - char*
    - enum MHD_ProtocolStrictLevel
    - struct MHD_Stream*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2610
      start: 2407
    functionDepth: 1
    functionLinenumber: 2407
    functionLinenumberEnd: 2610
    functionName: parse_cookies_string
    functionSourceFile: /src/mhd2/src/mhd2/stream_process_request.c
    functionUses: 0
    functionsReached:
    - mhd_stream_add_field
    - mhd_assert
    - mhd_ASSUME
    linkageType: ''
    returnType: enum mhd_ParseCookie
    signature: "enum mhd_ParseCookie parse_cookies_string (const size_t str_len,\n
      \                     char *restrict str,\n                      enum MHD_ProtocolStrictLevel
      strictness,\n                      struct MHD_Stream *restrict s)"
  - BBCount: 12
    BranchProfiles: []
    Callsites:
    - Dst: mhd_stream_alloc_memory
      Src: /src/mhd2/src/mhd2/stream_process_request.c:2637,1
    - Dst: memcpy
      Src: /src/mhd2/src/mhd2/stream_process_request.c:2643,1
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/stream_process_request.c:2646,1
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/stream_process_request.c:2649,1
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/stream_process_request.c:2650,1
    - Dst: parse_cookies_string
      Src: /src/mhd2/src/mhd2/stream_process_request.c:2653,1
    - Dst: mhd_LOG_MSG
      Src: /src/mhd2/src/mhd2/stream_process_request.c:2665,1
    - Dst: mhd_LOG_MSG
      Src: /src/mhd2/src/mhd2/stream_process_request.c:2678,1
    - Dst: mhd_LOG_MSG
      Src: /src/mhd2/src/mhd2/stream_process_request.c:2683,1
    - Dst: mhd_LOG_MSG
      Src: /src/mhd2/src/mhd2/stream_process_request.c:2688,1
    - Dst: mhd_LOG_MSG
      Src: /src/mhd2/src/mhd2/stream_process_request.c:2692,1
    - Dst: mhd_UNREACHABLE
      Src: /src/mhd2/src/mhd2/stream_process_request.c:2697,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 41
    argCount: 2
    argNames:
    - connection
    - cookie_val
    argTypes:
    - struct MHD_Connection*
    - struct MHD_StringNullable*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2702
      start: 2620
    functionDepth: 2
    functionLinenumber: 2620
    functionLinenumberEnd: 2702
    functionName: parse_cookie_header
    functionSourceFile: /src/mhd2/src/mhd2/stream_process_request.c
    functionUses: 0
    functionsReached:
    - memcpy
    - mhd_LOG_MSG
    - mhd_UNREACHABLE
    - parse_cookies_string
    - mhd_stream_alloc_memory
    - mhd_assert
    linkageType: ''
    returnType: enum mhd_ParseCookie
    signature: "enum mhd_ParseCookie parse_cookie_header (struct MHD_Connection *restrict
      connection,\n                     struct MHD_StringNullable *restrict cookie_val)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: mhd_stream_get_no_space_err_status_code
      Src: /src/mhd2/src/mhd2/stream_process_request.c:2715,1
    - Dst: mhd_RESPOND_WITH_ERROR_STATIC
      Src: /src/mhd2/src/mhd2/stream_process_request.c:2719,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - c
    argTypes:
    - struct MHD_Connection*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2722
      start: 2710
    functionDepth: 1
    functionLinenumber: 2710
    functionLinenumberEnd: 2722
    functionName: handle_req_cookie_no_space
    functionSourceFile: /src/mhd2/src/mhd2/stream_process_request.c
    functionUses: 0
    functionsReached:
    - mhd_RESPOND_WITH_ERROR_STATIC
    - mhd_stream_get_no_space_err_status_code
    linkageType: ''
    returnType: mhd_static_inline
    signature: mhd_static_inline handle_req_cookie_no_space (struct MHD_Connection
      *restrict c)
  - BBCount: 29
    BranchProfiles: []
    Callsites:
    - Dst: mhd_DLINKEDL_GET_FIRST
      Src: /src/mhd2/src/mhd2/stream_process_request.c:2749,1
    - Dst: mhd_DLINKEDL_GET_NEXT
      Src: /src/mhd2/src/mhd2/stream_process_request.c:2751,1
    - Dst: mhd_str_equal_caseless_n_st
      Src: /src/mhd2/src/mhd2/stream_process_request.c:2757,1
    - Dst: mhd_LOG_MSG
      Src: /src/mhd2/src/mhd2/stream_process_request.c:2764,1
    - Dst: mhd_RESPOND_WITH_ERROR_STATIC
      Src: /src/mhd2/src/mhd2/stream_process_request.c:2766,1
    - Dst: mhd_LOG_MSG
      Src: /src/mhd2/src/mhd2/stream_process_request.c:2774,1
    - Dst: mhd_RESPOND_WITH_ERROR_STATIC
      Src: /src/mhd2/src/mhd2/stream_process_request.c:2776,1
    - Dst: mhd_str_equal_caseless_n_st
      Src: /src/mhd2/src/mhd2/stream_process_request.c:2786,1
    - Dst: mhd_str_to_uint64_n
      Src: /src/mhd2/src/mhd2/stream_process_request.c:2793,1
    - Dst: mhd_LOG_MSG
      Src: /src/mhd2/src/mhd2/stream_process_request.c:2802,1
    - Dst: mhd_RESPOND_WITH_ERROR_STATIC
      Src: /src/mhd2/src/mhd2/stream_process_request.c:2805,1
    - Dst: mhd_LOG_MSG
      Src: /src/mhd2/src/mhd2/stream_process_request.c:2813,1
    - Dst: mhd_RESPOND_WITH_ERROR_STATIC
      Src: /src/mhd2/src/mhd2/stream_process_request.c:2816,1
    - Dst: mhd_LOG_MSG
      Src: /src/mhd2/src/mhd2/stream_process_request.c:2830,1
    - Dst: mhd_LOG_MSG
      Src: /src/mhd2/src/mhd2/stream_process_request.c:2838,1
    - Dst: mhd_RESPOND_WITH_ERROR_STATIC
      Src: /src/mhd2/src/mhd2/stream_process_request.c:2846,1
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/stream_process_request.c:2853,1
    - Dst: mhd_str_equal_caseless_n_st
      Src: /src/mhd2/src/mhd2/stream_process_request.c:2861,1
    - Dst: mhd_str_has_token_caseless
      Src: /src/mhd2/src/mhd2/stream_process_request.c:2865,1
    - Dst: mhd_SSTR_LEN
      Src: /src/mhd2/src/mhd2/stream_process_request.c:2867,1
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/stream_process_request.c:2869,1
    - Dst: mhd_str_has_token_caseless
      Src: /src/mhd2/src/mhd2/stream_process_request.c:2875,1
    - Dst: mhd_SSTR_LEN
      Src: /src/mhd2/src/mhd2/stream_process_request.c:2877,1
    - Dst: mhd_str_equal_caseless_n_st
      Src: /src/mhd2/src/mhd2/stream_process_request.c:2885,1
    - Dst: mhd_str_equal_caseless_n_st
      Src: /src/mhd2/src/mhd2/stream_process_request.c:2889,1
    - Dst: mhd_LOG_MSG
      Src: /src/mhd2/src/mhd2/stream_process_request.c:2898,1
    - Dst: mhd_RESPOND_WITH_ERROR_STATIC
      Src: /src/mhd2/src/mhd2/stream_process_request.c:2901,1
    - Dst: mhd_str_equal_caseless_n_st
      Src: /src/mhd2/src/mhd2/stream_process_request.c:2913,1
    - Dst: parse_cookie_header
      Src: /src/mhd2/src/mhd2/stream_process_request.c:2918,1
    - Dst: handle_req_cookie_no_space
      Src: /src/mhd2/src/mhd2/stream_process_request.c:2921,1
    - Dst: mhd_str_equal_caseless_n_st
      Src: /src/mhd2/src/mhd2/stream_process_request.c:2929,1
    - Dst: mhd_str_equal_caseless_n_st
      Src: /src/mhd2/src/mhd2/stream_process_request.c:2933,1
    - Dst: mhd_LOG_MSG
      Src: /src/mhd2/src/mhd2/stream_process_request.c:2941,1
    - Dst: mhd_RESPOND_WITH_ERROR_STATIC
      Src: /src/mhd2/src/mhd2/stream_process_request.c:2944,1
    - Dst: mhd_RESPOND_WITH_ERROR_STATIC
      Src: /src/mhd2/src/mhd2/stream_process_request.c:2959,1
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/stream_process_request.c:2968,1
    - Dst: mhd_LOG_MSG
      Src: /src/mhd2/src/mhd2/stream_process_request.c:2969,1
    - Dst: MHD_HTTP_VERSION_IS_LIKE_11
      Src: /src/mhd2/src/mhd2/stream_process_request.c:2975,1
    - Dst: mhd_LOG_MSG
      Src: /src/mhd2/src/mhd2/stream_process_request.c:2980,1
    - Dst: mhd_RESPOND_WITH_ERROR_STATIC
      Src: /src/mhd2/src/mhd2/stream_process_request.c:2982,1
    CyclomaticComplexity: 49
    EdgeCount: 49
    ICount: 124
    argCount: 1
    argNames:
    - c
    argTypes:
    - struct MHD_Connection*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2998
      start: 2728
    functionDepth: 3
    functionLinenumber: 2728
    functionLinenumberEnd: 2998
    functionName: mhd_stream_parse_request_headers
    functionSourceFile: /src/mhd2/src/mhd2/stream_process_request.c
    functionUses: 1
    functionsReached:
    - parse_cookie_header
    - mhd_RESPOND_WITH_ERROR_STATIC
    - mhd_LOG_MSG
    - mhd_str_to_uint64_n
    - mhd_SSTR_LEN
    - mhd_DLINKEDL_GET_NEXT
    - mhd_str_has_token_caseless
    - MHD_HTTP_VERSION_IS_LIKE_11
    - handle_req_cookie_no_space
    - mhd_str_equal_caseless_n_st
    - mhd_assert
    - mhd_DLINKEDL_GET_FIRST
    linkageType: ''
    returnType: MHD_INTERNAL
    signature: MHD_INTERNAL mhd_stream_parse_request_headers (struct MHD_Connection
      *restrict c)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/stream_process_request.c:3011,1
    - Dst: MHD_HTTP_VERSION_IS_1X
      Src: /src/mhd2/src/mhd2/stream_process_request.c:3011,1
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/stream_process_request.c:3012,1
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/stream_process_request.c:3013,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 13
    argCount: 1
    argNames:
    - c
    argTypes:
    - struct MHD_Connection*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3028
      start: 3008
    functionDepth: 1
    functionLinenumber: 3008
    functionLinenumberEnd: 3028
    functionName: need_100_continue
    functionSourceFile: /src/mhd2/src/mhd2/stream_process_request.c
    functionUses: 0
    functionsReached:
    - MHD_HTTP_VERSION_IS_1X
    - mhd_assert
    linkageType: ''
    returnType: MHD_FN_PAR_NONNULL_ALL_
    signature: MHD_FN_PAR_NONNULL_ALL_ need_100_continue (struct MHD_Connection *restrict
      c)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/stream_process_request.c:3042,1
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/stream_process_request.c:3048,1
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/stream_process_request.c:3062,1
    - Dst: mhd_daemon_get_lbuf
      Src: /src/mhd2/src/mhd2/stream_process_request.c:3068,1
    - Dst: mhd_RESPOND_WITH_ERROR_STATIC
      Src: /src/mhd2/src/mhd2/stream_process_request.c:3078,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 22
    argCount: 1
    argNames:
    - c
    argTypes:
    - struct MHD_Connection*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3085
      start: 3039
    functionDepth: 1
    functionLinenumber: 3039
    functionLinenumberEnd: 3085
    functionName: check_and_alloc_buf_for_upload_processing
    functionSourceFile: /src/mhd2/src/mhd2/stream_process_request.c
    functionUses: 0
    functionsReached:
    - mhd_daemon_get_lbuf
    - mhd_RESPOND_WITH_ERROR_STATIC
    - mhd_assert
    linkageType: ''
    returnType: MHD_FN_PAR_NONNULL_ALL_
    signature: MHD_FN_PAR_NONNULL_ALL_ check_and_alloc_buf_for_upload_processing (struct
      MHD_Connection *restrict c)
  - BBCount: 26
    BranchProfiles: []
    Callsites:
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/stream_process_request.c:3095,1
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/stream_process_request.c:3096,1
    - Dst: MHD_PANIC
      Src: /src/mhd2/src/mhd2/stream_process_request.c:3099,1
    - Dst: struct MHD_Daemon*::req_cfg::cb
      Src: /src/mhd2/src/mhd2/stream_process_request.c:3105,1
    - Dst: mhd_ACTION_IS_VALID
      Src: /src/mhd2/src/mhd2/stream_process_request.c:3113,1
    - Dst: mhd_LOG_MSG
      Src: /src/mhd2/src/mhd2/stream_process_request.c:3115,1
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/stream_process_request.c:3122,1
    - Dst: mhd_response_dec_use_count
      Src: /src/mhd2/src/mhd2/stream_process_request.c:3123,1
    - Dst: mhd_UNREACHABLE
      Src: /src/mhd2/src/mhd2/stream_process_request.c:3140,1
    - Dst: check_and_alloc_buf_for_upload_processing
      Src: /src/mhd2/src/mhd2/stream_process_request.c:3160,1
    - Dst: need_100_continue
      Src: /src/mhd2/src/mhd2/stream_process_request.c:3162,1
    - Dst: mhd_stream_prepare_for_post_parse
      Src: /src/mhd2/src/mhd2/stream_process_request.c:3180,1
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/stream_process_request.c:3182,1
    - Dst: need_100_continue
      Src: /src/mhd2/src/mhd2/stream_process_request.c:3185,1
    - Dst: fprintf
      Src: /src/mhd2/src/mhd2/stream_process_request.c:3196,1
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/stream_process_request.c:3204,1
    - Dst: mhd_conn_start_closing_app_abort
      Src: /src/mhd2/src/mhd2/stream_process_request.c:3209,1
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/stream_process_request.c:3213,1
    - Dst: mhd_UNREACHABLE
      Src: /src/mhd2/src/mhd2/stream_process_request.c:3216,1
    CyclomaticComplexity: 21
    EdgeCount: 21
    ICount: 87
    argCount: 1
    argNames:
    - c
    argTypes:
    - struct MHD_Connection*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3218
      start: 3088
    functionDepth: 2
    functionLinenumber: 3088
    functionLinenumberEnd: 3218
    functionName: mhd_stream_call_app_request_cb
    functionSourceFile: /src/mhd2/src/mhd2/stream_process_request.c
    functionUses: 1
    functionsReached:
    - need_100_continue
    - struct MHD_Daemon*::req_cfg::cb
    - fprintf
    - mhd_stream_prepare_for_post_parse
    - mhd_ACTION_IS_VALID
    - MHD_PANIC
    - mhd_LOG_MSG
    - mhd_conn_start_closing_app_abort
    - mhd_UNREACHABLE
    - check_and_alloc_buf_for_upload_processing
    - mhd_response_dec_use_count
    - mhd_assert
    linkageType: ''
    returnType: MHD_INTERNAL
    signature: MHD_INTERNAL mhd_stream_call_app_request_cb (struct MHD_Connection
      *restrict c)
  - BBCount: 18
    BranchProfiles: []
    Callsites:
    - Dst: mhd_UPLOAD_ACTION_IS_VALID
      Src: /src/mhd2/src/mhd2/stream_process_request.c:3238,1
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/stream_process_request.c:3246,1
    - Dst: mhd_response_dec_use_count
      Src: /src/mhd2/src/mhd2/stream_process_request.c:3247,1
    - Dst: mhd_UNREACHABLE
      Src: /src/mhd2/src/mhd2/stream_process_request.c:3259,1
    - Dst: mhd_LOG_MSG
      Src: /src/mhd2/src/mhd2/stream_process_request.c:3265,1
    - Dst: memset
      Src: /src/mhd2/src/mhd2/stream_process_request.c:3281,1
    - Dst: fprintf
      Src: /src/mhd2/src/mhd2/stream_process_request.c:3286,1
    - Dst: memset
      Src: /src/mhd2/src/mhd2/stream_process_request.c:3290,1
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/stream_process_request.c:3294,1
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/stream_process_request.c:3295,1
    - Dst: mhd_conn_start_closing_app_abort
      Src: /src/mhd2/src/mhd2/stream_process_request.c:3301,1
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/stream_process_request.c:3305,1
    - Dst: mhd_UNREACHABLE
      Src: /src/mhd2/src/mhd2/stream_process_request.c:3308,1
    CyclomaticComplexity: 16
    EdgeCount: 16
    ICount: 54
    argCount: 3
    argNames:
    - c
    - act
    - final
    argTypes:
    - struct MHD_Connection*
    - struct MHD_UploadAction*
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3310
      start: 3230
    functionDepth: 2
    functionLinenumber: 3230
    functionLinenumberEnd: 3310
    functionName: mhd_stream_process_upload_action
    functionSourceFile: /src/mhd2/src/mhd2/stream_process_request.c
    functionUses: 1
    functionsReached:
    - fprintf
    - memset
    - mhd_LOG_MSG
    - mhd_conn_start_closing_app_abort
    - mhd_UNREACHABLE
    - mhd_UPLOAD_ACTION_IS_VALID
    - mhd_response_dec_use_count
    - mhd_assert
    linkageType: ''
    returnType: bool
    signature: "bool mhd_stream_process_upload_action (struct MHD_Connection *restrict
      c,\n                                  const struct MHD_UploadAction *act,\n
      \                                 bool final)"
  - BBCount: 38
    BranchProfiles: []
    Callsites:
    - Dst: mhd_ALLOW_BARE_LF_AS_CRLF
      Src: /src/mhd2/src/mhd2/stream_process_request.c:3325,1
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/stream_process_request.c:3331,1
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/stream_process_request.c:3332,1
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/stream_process_request.c:3333,1
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/stream_process_request.c:3350,1
    - Dst: mhd_RESPOND_WITH_ERROR_STATIC
      Src: /src/mhd2/src/mhd2/stream_process_request.c:3364,1
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/stream_process_request.c:3379,1
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/stream_process_request.c:3404,1
    - Dst: mhd_strx_to_uint64_n
      Src: /src/mhd2/src/mhd2/stream_process_request.c:3410,1
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/stream_process_request.c:3413,1
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/stream_process_request.c:3456,1
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/stream_process_request.c:3457,1
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/stream_process_request.c:3467,1
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/stream_process_request.c:3468,1
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/stream_process_request.c:3473,1
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/stream_process_request.c:3487,1
    - Dst: mhd_RESPOND_WITH_ERROR_STATIC
      Src: /src/mhd2/src/mhd2/stream_process_request.c:3510,1
    - Dst: mhd_RESPOND_WITH_ERROR_STATIC
      Src: /src/mhd2/src/mhd2/stream_process_request.c:3514,1
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/stream_process_request.c:3519,1
    - Dst: mhd_stream_post_parse
      Src: /src/mhd2/src/mhd2/stream_process_request.c:3529,1
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/stream_process_request.c:3533,1
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/stream_process_request.c:3543,1
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/stream_process_request.c:3548,1
    - Dst: mhd_daemon_grow_lbuf
      Src: /src/mhd2/src/mhd2/stream_process_request.c:3558,1
    - Dst: mhd_RESPOND_WITH_ERROR_STATIC
      Src: /src/mhd2/src/mhd2/stream_process_request.c:3566,1
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/stream_process_request.c:3574,1
    - Dst: struct MHD_Connection*::rq::app_act::head_act::data::upload::inc::cb
      Src: /src/mhd2/src/mhd2/stream_process_request.c:3575,1
    - Dst: mhd_daemon_free_lbuf
      Src: /src/mhd2/src/mhd2/stream_process_request.c:3581,1
    - Dst: mhd_stream_process_upload_action
      Src: /src/mhd2/src/mhd2/stream_process_request.c:3582,1
    - Dst: memcpy
      Src: /src/mhd2/src/mhd2/stream_process_request.c:3589,1
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/stream_process_request.c:3600,1
    - Dst: struct MHD_Connection*::rq::app_act::head_act::data::upload::inc::cb
      Src: /src/mhd2/src/mhd2/stream_process_request.c:3603,1
    - Dst: mhd_stream_process_upload_action
      Src: /src/mhd2/src/mhd2/stream_process_request.c:3609,1
    - Dst: mhd_ASSUME
      Src: /src/mhd2/src/mhd2/stream_process_request.c:3613,1
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/stream_process_request.c:3616,1
    - Dst: mhd_ASSUME
      Src: /src/mhd2/src/mhd2/stream_process_request.c:3617,1
    - Dst: memmove
      Src: /src/mhd2/src/mhd2/stream_process_request.c:3624,1
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/stream_process_request.c:3628,1
    CyclomaticComplexity: 72
    EdgeCount: 72
    ICount: 162
    argCount: 1
    argNames:
    - c
    argTypes:
    - struct MHD_Connection*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3633
      start: 3313
    functionDepth: 3
    functionLinenumber: 3313
    functionLinenumberEnd: 3633
    functionName: process_request_chunked_body
    functionSourceFile: /src/mhd2/src/mhd2/stream_process_request.c
    functionUses: 0
    functionsReached:
    - mhd_stream_process_upload_action
    - mhd_ALLOW_BARE_LF_AS_CRLF
    - struct MHD_Connection*::rq::app_act::head_act::data::upload::inc::cb
    - mhd_strx_to_uint64_n
    - memcpy
    - mhd_RESPOND_WITH_ERROR_STATIC
    - mhd_ASSUME
    - mhd_daemon_grow_lbuf
    - mhd_daemon_free_lbuf
    - mhd_stream_post_parse
    - memmove
    - mhd_assert
    linkageType: ''
    returnType: MHD_FN_PAR_NONNULL_ALL_
    signature: MHD_FN_PAR_NONNULL_ALL_ process_request_chunked_body (struct MHD_Connection
      *restrict c)
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/stream_process_request.c:3643,1
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/stream_process_request.c:3644,1
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/stream_process_request.c:3645,1
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/stream_process_request.c:3646,1
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/stream_process_request.c:3647,1
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/stream_process_request.c:3656,1
    - Dst: mhd_stream_post_parse
      Src: /src/mhd2/src/mhd2/stream_process_request.c:3667,1
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/stream_process_request.c:3670,1
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/stream_process_request.c:3688,1
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/stream_process_request.c:3692,1
    - Dst: memcpy
      Src: /src/mhd2/src/mhd2/stream_process_request.c:3694,1
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/stream_process_request.c:3707,1
    - Dst: struct MHD_Connection*::rq::app_act::head_act::data::upload::inc::cb
      Src: /src/mhd2/src/mhd2/stream_process_request.c:3710,1
    - Dst: mhd_stream_process_upload_action
      Src: /src/mhd2/src/mhd2/stream_process_request.c:3717,1
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/stream_process_request.c:3724,1
    - Dst: memmove
      Src: /src/mhd2/src/mhd2/stream_process_request.c:3727,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 54
    argCount: 1
    argNames:
    - c
    argTypes:
    - struct MHD_Connection*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3734
      start: 3636
    functionDepth: 3
    functionLinenumber: 3636
    functionLinenumberEnd: 3734
    functionName: process_request_nonchunked_body
    functionSourceFile: /src/mhd2/src/mhd2/stream_process_request.c
    functionUses: 0
    functionsReached:
    - mhd_stream_process_upload_action
    - struct MHD_Connection*::rq::app_act::head_act::data::upload::inc::cb
    - memcpy
    - mhd_stream_post_parse
    - memmove
    - mhd_assert
    linkageType: ''
    returnType: MHD_FN_PAR_NONNULL_ALL_
    signature: MHD_FN_PAR_NONNULL_ALL_ process_request_nonchunked_body (struct MHD_Connection
      *restrict c)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: process_request_chunked_body
      Src: /src/mhd2/src/mhd2/stream_process_request.c:3741,1
    - Dst: process_request_nonchunked_body
      Src: /src/mhd2/src/mhd2/stream_process_request.c:3743,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - c
    argTypes:
    - struct MHD_Connection*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3744
      start: 3737
    functionDepth: 4
    functionLinenumber: 3737
    functionLinenumberEnd: 3744
    functionName: mhd_stream_process_request_body
    functionSourceFile: /src/mhd2/src/mhd2/stream_process_request.c
    functionUses: 1
    functionsReached:
    - process_request_nonchunked_body
    - process_request_chunked_body
    linkageType: ''
    returnType: MHD_INTERNAL
    signature: MHD_INTERNAL mhd_stream_process_request_body (struct MHD_Connection
      *restrict c)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/stream_process_request.c:3752,1
    - Dst: mhd_stream_process_post_finish
      Src: /src/mhd2/src/mhd2/stream_process_request.c:3757,1
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/stream_process_request.c:3760,1
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/stream_process_request.c:3764,1
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/stream_process_request.c:3765,1
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/stream_process_request.c:3766,1
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/stream_process_request.c:3767,1
    - Dst: struct MHD_Connection*::rq::app_act::head_act::data::upload::full::cb
      Src: /src/mhd2/src/mhd2/stream_process_request.c:3769,1
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/stream_process_request.c:3778,1
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/stream_process_request.c:3779,1
    - Dst: struct MHD_Connection*::rq::app_act::head_act::data::upload::inc::cb
      Src: /src/mhd2/src/mhd2/stream_process_request.c:3780,1
    - Dst: mhd_stream_process_upload_action
      Src: /src/mhd2/src/mhd2/stream_process_request.c:3787,1
    - Dst: mhd_daemon_free_lbuf
      Src: /src/mhd2/src/mhd2/stream_process_request.c:3789,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 21
    argCount: 1
    argNames:
    - c
    argTypes:
    - struct MHD_Connection*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3792
      start: 3747
    functionDepth: 3
    functionLinenumber: 3747
    functionLinenumberEnd: 3792
    functionName: mhd_stream_call_app_final_upload_cb
    functionSourceFile: /src/mhd2/src/mhd2/stream_process_request.c
    functionUses: 0
    functionsReached:
    - mhd_stream_process_upload_action
    - struct MHD_Connection*::rq::app_act::head_act::data::upload::inc::cb
    - mhd_daemon_free_lbuf
    - mhd_stream_process_post_finish
    - struct MHD_Connection*::rq::app_act::head_act::data::upload::full::cb
    - mhd_assert
    linkageType: ''
    returnType: MHD_INTERNAL
    signature: MHD_INTERNAL mhd_stream_call_app_final_upload_cb (struct MHD_Connection
      *restrict c)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: mhd_daemon_free_lbuf
      Src: /src/mhd2/src/mhd2/stream_process_request.c:3799,1
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/stream_process_request.c:3803,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 1
    argNames:
    - c
    argTypes:
    - struct MHD_Connection*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3806
      start: 3795
    functionDepth: 1
    functionLinenumber: 3795
    functionLinenumberEnd: 3806
    functionName: mhd_stream_process_req_recv_finished
    functionSourceFile: /src/mhd2/src/mhd2/stream_process_request.c
    functionUses: 3
    functionsReached:
    - mhd_daemon_free_lbuf
    - mhd_assert
    linkageType: ''
    returnType: MHD_INTERNAL
    signature: MHD_INTERNAL mhd_stream_process_req_recv_finished (struct MHD_Connection
      *restrict c)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: memchr
      Src: /src/mhd2/src/mhd2/stream_process_request.c:3832,1
    - Dst: mhd_RESPOND_WITH_ERROR_STATIC
      Src: /src/mhd2/src/mhd2/stream_process_request.c:3838,1
    - Dst: mhd_stream_get_no_space_err_status_code
      Src: /src/mhd2/src/mhd2/stream_process_request.c:3844,1
    - Dst: mhd_RESPOND_WITH_ERROR_STATIC
      Src: /src/mhd2/src/mhd2/stream_process_request.c:3848,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 3
    argNames:
    - c
    - chunk_size_line
    - chunk_size_line_size
    argTypes:
    - struct MHD_Connection*
    - char*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3851
      start: 3820
    functionDepth: 1
    functionLinenumber: 3820
    functionLinenumberEnd: 3851
    functionName: handle_req_chunk_size_line_no_space
    functionSourceFile: /src/mhd2/src/mhd2/stream_process_request.c
    functionUses: 0
    functionsReached:
    - memchr
    - mhd_RESPOND_WITH_ERROR_STATIC
    - mhd_stream_get_no_space_err_status_code
    linkageType: ''
    returnType: void
    signature: "void handle_req_chunk_size_line_no_space (struct MHD_Connection *c,\n
      \                                    const char *chunk_size_line,\n                                     size_t
      chunk_size_line_size)"
  - BBCount: 14
    BranchProfiles: []
    Callsites:
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/stream_process_request.c:3870,1
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/stream_process_request.c:3871,1
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/stream_process_request.c:3872,1
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/stream_process_request.c:3873,1
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/stream_process_request.c:3875,1
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/stream_process_request.c:3877,1
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/stream_process_request.c:3879,1
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/stream_process_request.c:3881,1
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/stream_process_request.c:3883,1
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/stream_process_request.c:3884,1
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/stream_process_request.c:3886,1
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/stream_process_request.c:3888,1
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/stream_process_request.c:3890,1
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/stream_process_request.c:3892,1
    - Dst: mhd_STREAM_ABORT
      Src: /src/mhd2/src/mhd2/stream_process_request.c:3900,1
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/stream_process_request.c:3908,1
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/stream_process_request.c:3909,1
    - Dst: mhd_RESPOND_WITH_ERROR_STATIC
      Src: /src/mhd2/src/mhd2/stream_process_request.c:3915,1
    - Dst: mhd_STREAM_ABORT
      Src: /src/mhd2/src/mhd2/stream_process_request.c:3920,1
    - Dst: handle_req_headers_no_space
      Src: /src/mhd2/src/mhd2/stream_process_request.c:3928,1
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/stream_process_request.c:3934,1
    - Dst: handle_req_headers_no_space
      Src: /src/mhd2/src/mhd2/stream_process_request.c:3935,1
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/stream_process_request.c:3938,1
    - Dst: handle_req_headers_no_space
      Src: /src/mhd2/src/mhd2/stream_process_request.c:3944,1
    - Dst: handle_req_headers_no_space
      Src: /src/mhd2/src/mhd2/stream_process_request.c:3952,1
    - Dst: handle_req_chunk_size_line_no_space
      Src: /src/mhd2/src/mhd2/stream_process_request.c:3956,1
    - Dst: handle_req_footers_no_space
      Src: /src/mhd2/src/mhd2/stream_process_request.c:3963,1
    - Dst: mhd_UNREACHABLE
      Src: /src/mhd2/src/mhd2/stream_process_request.c:3970,1
    CyclomaticComplexity: 16
    EdgeCount: 16
    ICount: 58
    argCount: 2
    argNames:
    - c
    - stage
    argTypes:
    - struct MHD_Connection*
    - enum MHD_ProcRecvDataStage
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3972
      start: 3866
    functionDepth: 2
    functionLinenumber: 3866
    functionLinenumberEnd: 3972
    functionName: handle_recv_no_space
    functionSourceFile: /src/mhd2/src/mhd2/stream_process_request.c
    functionUses: 0
    functionsReached:
    - handle_req_footers_no_space
    - mhd_RESPOND_WITH_ERROR_STATIC
    - handle_req_chunk_size_line_no_space
    - mhd_STREAM_ABORT
    - mhd_UNREACHABLE
    - mhd_assert
    - handle_req_headers_no_space
    linkageType: ''
    returnType: MHD_FN_PAR_NONNULL_ALL_
    signature: "MHD_FN_PAR_NONNULL_ALL_ handle_recv_no_space (struct MHD_Connection
      *c,\n                      enum MHD_ProcRecvDataStage stage)"
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: mhd_pool_get_free
      Src: /src/mhd2/src/mhd2/stream_process_request.c:3996,1
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/stream_process_request.c:4010,1
    - Dst: mhd_pool_is_resizable_inplace
      Src: /src/mhd2/src/mhd2/stream_process_request.c:4033,1
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/stream_process_request.c:4037,1
    - Dst: mhd_pool_reallocate
      Src: /src/mhd2/src/mhd2/stream_process_request.c:4041,1
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/stream_process_request.c:4053,1
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/stream_process_request.c:4056,1
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/stream_process_request.c:4058,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 34
    argCount: 2
    argNames:
    - connection
    - required
    argTypes:
    - struct MHD_Connection*
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4061
      start: 3987
    functionDepth: 1
    functionLinenumber: 3987
    functionLinenumberEnd: 4061
    functionName: try_grow_read_buffer
    functionSourceFile: /src/mhd2/src/mhd2/stream_process_request.c
    functionUses: 0
    functionsReached:
    - mhd_pool_get_free
    - mhd_assert
    - mhd_pool_reallocate
    - mhd_pool_is_resizable_inplace
    linkageType: ''
    returnType: MHD_FN_PAR_NONNULL_ALL_
    signature: "MHD_FN_PAR_NONNULL_ALL_ try_grow_read_buffer (struct MHD_Connection
      *restrict connection,\n                      bool required)"
  - BBCount: 40
    BranchProfiles: []
    Callsites:
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/stream_process_request.c:4078,1
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/stream_process_request.c:4079,1
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/stream_process_request.c:4094,1
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/stream_process_request.c:4102,1
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/stream_process_request.c:4113,1
    - Dst: try_grow_read_buffer
      Src: /src/mhd2/src/mhd2/stream_process_request.c:4124,1
    - Dst: mhd_UNREACHABLE
      Src: /src/mhd2/src/mhd2/stream_process_request.c:4184,1
    - Dst: handle_recv_no_space
      Src: /src/mhd2/src/mhd2/stream_process_request.c:4189,1
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/stream_process_request.c:4191,1
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/stream_process_request.c:4192,1
    CyclomaticComplexity: 19
    EdgeCount: 19
    ICount: 80
    argCount: 1
    argNames:
    - c
    argTypes:
    - struct MHD_Connection*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4196
      start: 4064
    functionDepth: 3
    functionLinenumber: 4064
    functionLinenumberEnd: 4196
    functionName: mhd_stream_check_and_grow_read_buffer_space
    functionSourceFile: /src/mhd2/src/mhd2/stream_process_request.c
    functionUses: 0
    functionsReached:
    - handle_recv_no_space
    - try_grow_read_buffer
    - mhd_assert
    - mhd_UNREACHABLE
    linkageType: ''
    returnType: MHD_INTERNAL
    signature: MHD_INTERNAL mhd_stream_check_and_grow_read_buffer_space (struct MHD_Connection
      *restrict c)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: sysconf
      Src: /src/mhd2/src/mhd2/mhd_send.c:141,1
    - Dst: SF_FLAGS
      Src: /src/mhd2/src/mhd2/mhd_send.c:150,1
    - Dst: SF_FLAGS
      Src: /src/mhd2/src/mhd2/mhd_send.c:154,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 158
      start: 138
    functionDepth: 0
    functionLinenumber: 138
    functionLinenumberEnd: 158
    functionName: freebsd_sendfile_init_
    functionSourceFile: /src/mhd2/src/mhd2/mhd_send.c
    functionUses: 0
    functionsReached:
    - sysconf
    - SF_FLAGS
    linkageType: ''
    returnType: void
    signature: void freebsd_sendfile_init_ (void)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 2
    argNames:
    - (
    - )
    argTypes:
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 163
      start: 162
    functionDepth: 0
    functionLinenumber: 162
    functionLinenumberEnd: 163
    functionName: freebsd_sendfile_init_
    functionSourceFile: /src/mhd2/src/mhd2/mhd_send.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: freebsd_sendfile_init_()
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: sysconf
      Src: /src/mhd2/src/mhd2/mhd_send.c:175,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 186
      start: 172
    functionDepth: 0
    functionLinenumber: 172
    functionLinenumberEnd: 186
    functionName: iov_max_init_
    functionSourceFile: /src/mhd2/src/mhd2/mhd_send.c
    functionUses: 0
    functionsReached:
    - sysconf
    linkageType: ''
    returnType: void
    signature: void iov_max_init_ (void)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 2
    argNames:
    - (
    - )
    argTypes:
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 195
      start: 194
    functionDepth: 0
    functionLinenumber: 194
    functionLinenumberEnd: 195
    functionName: iov_max_init_
    functionSourceFile: /src/mhd2/src/mhd2/mhd_send.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: iov_max_init_()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: freebsd_sendfile_init_
      Src: /src/mhd2/src/mhd2/mhd_send.c:211,1
    - Dst: iov_max_init_
      Src: /src/mhd2/src/mhd2/mhd_send.c:213,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 214
      start: 205
    functionDepth: 1
    functionLinenumber: 205
    functionLinenumberEnd: 214
    functionName: mhd_send_init_once
    functionSourceFile: /src/mhd2/src/mhd2/mhd_send.c
    functionUses: 1
    functionsReached:
    - iov_max_init_
    - freebsd_sendfile_init_
    linkageType: ''
    returnType: void
    signature: void mhd_send_init_once (void)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: mhd_T_IS_YES
      Src: /src/mhd2/src/mhd2/mhd_send.c:235,1
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/mhd_send.c:239,1
    - Dst: mhd_T_IS_NOT_YES
      Src: /src/mhd2/src/mhd2/mhd_send.c:239,1
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/mhd_send.c:241,1
    - Dst: mhd_T_IS_NOT_NO
      Src: /src/mhd2/src/mhd2/mhd_send.c:241,1
    - Dst: mhd_setsockopt
      Src: /src/mhd2/src/mhd2/mhd_send.c:243,1
    - Dst: mhd_SCKT_GET_LERR
      Src: /src/mhd2/src/mhd2/mhd_send.c:253,1
    - Dst: mhd_T_IS_NOT_YES
      Src: /src/mhd2/src/mhd2/mhd_send.c:254,1
    - Dst: mhd_SCKT_ERR_IS_EINVAL
      Src: /src/mhd2/src/mhd2/mhd_send.c:255,1
    - Dst: mhd_SCKT_ERR_IS_NOPROTOOPT
      Src: /src/mhd2/src/mhd2/mhd_send.c:256,1
    - Dst: mhd_SCKT_ERR_IS_NOTSOCK
      Src: /src/mhd2/src/mhd2/mhd_send.c:257,1
    - Dst: mhd_LOG_MSG
      Src: /src/mhd2/src/mhd2/mhd_send.c:264,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 17
    argCount: 2
    argNames:
    - sk
    - nodelay_state
    argTypes:
    - struct mhd_ConnSocket*
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 273
      start: 226
    functionDepth: 1
    functionLinenumber: 226
    functionLinenumberEnd: 273
    functionName: mhd_connection_set_nodelay_state
    functionSourceFile: /src/mhd2/src/mhd2/mhd_send.c
    functionUses: 0
    functionsReached:
    - mhd_T_IS_NOT_NO
    - mhd_LOG_MSG
    - mhd_T_IS_NOT_YES
    - mhd_SCKT_ERR_IS_NOPROTOOPT
    - mhd_setsockopt
    - mhd_T_IS_YES
    - mhd_SCKT_ERR_IS_NOTSOCK
    - mhd_SCKT_GET_LERR
    - mhd_assert
    - mhd_SCKT_ERR_IS_EINVAL
    linkageType: ''
    returnType: MHD_FN_PAR_NONNULL_ALL_
    signature: "MHD_FN_PAR_NONNULL_ALL_ mhd_connection_set_nodelay_state (struct mhd_ConnSocket
      *restrict sk,\n                                  bool nodelay_state)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: mhd_T_IS_YES
      Src: /src/mhd2/src/mhd2/mhd_send.c:295,1
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/mhd_send.c:298,1
    - Dst: mhd_T_IS_NOT_YES
      Src: /src/mhd2/src/mhd2/mhd_send.c:298,1
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/mhd_send.c:300,1
    - Dst: mhd_T_IS_NOT_NO
      Src: /src/mhd2/src/mhd2/mhd_send.c:300,1
    - Dst: mhd_setsockopt
      Src: /src/mhd2/src/mhd2/mhd_send.c:303,1
    - Dst: mhd_SCKT_GET_LERR
      Src: /src/mhd2/src/mhd2/mhd_send.c:313,1
    - Dst: mhd_T_IS_NOT_YES
      Src: /src/mhd2/src/mhd2/mhd_send.c:314,1
    - Dst: mhd_SCKT_ERR_IS_EINVAL
      Src: /src/mhd2/src/mhd2/mhd_send.c:315,1
    - Dst: mhd_SCKT_ERR_IS_NOPROTOOPT
      Src: /src/mhd2/src/mhd2/mhd_send.c:316,1
    - Dst: mhd_SCKT_ERR_IS_NOTSOCK
      Src: /src/mhd2/src/mhd2/mhd_send.c:317,1
    - Dst: mhd_LOG_MSG
      Src: /src/mhd2/src/mhd2/mhd_send.c:325,1
    - Dst: mhd_LOG_MSG
      Src: /src/mhd2/src/mhd2/mhd_send.c:328,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 18
    argCount: 2
    argNames:
    - sk
    - cork_state
    argTypes:
    - struct mhd_ConnSocket*
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 339
      start: 286
    functionDepth: 1
    functionLinenumber: 286
    functionLinenumberEnd: 339
    functionName: mhd_connection_set_cork_state
    functionSourceFile: /src/mhd2/src/mhd2/mhd_send.c
    functionUses: 0
    functionsReached:
    - mhd_T_IS_NOT_NO
    - mhd_LOG_MSG
    - mhd_T_IS_NOT_YES
    - mhd_SCKT_ERR_IS_NOPROTOOPT
    - mhd_setsockopt
    - mhd_T_IS_YES
    - mhd_SCKT_ERR_IS_NOTSOCK
    - mhd_SCKT_GET_LERR
    - mhd_assert
    - mhd_SCKT_ERR_IS_EINVAL
    linkageType: ''
    returnType: MHD_FN_PAR_NONNULL_ALL_
    signature: "MHD_FN_PAR_NONNULL_ALL_ mhd_connection_set_cork_state (struct mhd_ConnSocket
      *restrict sk,\n                               bool cork_state)"
  - BBCount: 17
    BranchProfiles: []
    Callsites:
    - Dst: mhd_T_IS_YES
      Src: /src/mhd2/src/mhd2/mhd_send.c:361,1
    - Dst: mhd_T_IS_YES
      Src: /src/mhd2/src/mhd2/mhd_send.c:383,1
    - Dst: mhd_connection_set_cork_state
      Src: /src/mhd2/src/mhd2/mhd_send.c:388,1
    - Dst: mhd_T_IS_NO
      Src: /src/mhd2/src/mhd2/mhd_send.c:394,1
    - Dst: mhd_connection_set_nodelay_state
      Src: /src/mhd2/src/mhd2/mhd_send.c:401,1
    - Dst: mhd_T_IS_YES
      Src: /src/mhd2/src/mhd2/mhd_send.c:458,1
    - Dst: mhd_T_IS_NO
      Src: /src/mhd2/src/mhd2/mhd_send.c:461,1
    - Dst: mhd_T_IS_YES
      Src: /src/mhd2/src/mhd2/mhd_send.c:464,1
    - Dst: mhd_T_IS_MAYBE
      Src: /src/mhd2/src/mhd2/mhd_send.c:468,1
    - Dst: mhd_connection_set_cork_state
      Src: /src/mhd2/src/mhd2/mhd_send.c:472,1
    - Dst: mhd_connection_set_nodelay_state
      Src: /src/mhd2/src/mhd2/mhd_send.c:486,1
    - Dst: mhd_connection_set_nodelay_state
      Src: /src/mhd2/src/mhd2/mhd_send.c:505,1
    - Dst: mhd_connection_set_cork_state
      Src: /src/mhd2/src/mhd2/mhd_send.c:515,1
    - Dst: mhd_connection_set_cork_state
      Src: /src/mhd2/src/mhd2/mhd_send.c:525,1
    - Dst: mhd_T_IS_YES
      Src: /src/mhd2/src/mhd2/mhd_send.c:531,1
    - Dst: mhd_connection_set_nodelay_state
      Src: /src/mhd2/src/mhd2/mhd_send.c:543,1
    - Dst: mhd_T_IS_NOT_NO
      Src: /src/mhd2/src/mhd2/mhd_send.c:560,1
    - Dst: mhd_connection_set_cork_state
      Src: /src/mhd2/src/mhd2/mhd_send.c:561,1
    - Dst: mhd_T_IS_NOT_YES
      Src: /src/mhd2/src/mhd2/mhd_send.c:564,1
    - Dst: mhd_connection_set_nodelay_state
      Src: /src/mhd2/src/mhd2/mhd_send.c:565,1
    - Dst: mhd_T_IS_NOT_YES
      Src: /src/mhd2/src/mhd2/mhd_send.c:586,1
    - Dst: mhd_connection_set_nodelay_state
      Src: /src/mhd2/src/mhd2/mhd_send.c:587,1
    CyclomaticComplexity: 16
    EdgeCount: 16
    ICount: 49
    argCount: 3
    argNames:
    - sk
    - plain_send
    - push_data
    argTypes:
    - struct mhd_ConnSocket*
    - bool
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 589
      start: 352
    functionDepth: 2
    functionLinenumber: 352
    functionLinenumberEnd: 589
    functionName: pre_send_setopt
    functionSourceFile: /src/mhd2/src/mhd2/mhd_send.c
    functionUses: 0
    functionsReached:
    - mhd_T_IS_NOT_NO
    - mhd_connection_set_nodelay_state
    - mhd_T_IS_NO
    - mhd_T_IS_NOT_YES
    - mhd_T_IS_YES
    - mhd_T_IS_MAYBE
    - mhd_connection_set_cork_state
    linkageType: ''
    returnType: void
    signature: "void pre_send_setopt (struct mhd_ConnSocket *restrict sk,\n                 bool
      plain_send,\n                 bool push_data)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: mhd_T_IS_YES
      Src: /src/mhd2/src/mhd2/mhd_send.c:609,1
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/mhd_send.c:611,1
    - Dst: mhd_T_IS_NO
      Src: /src/mhd2/src/mhd2/mhd_send.c:611,1
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/mhd_send.c:612,1
    - Dst: mhd_T_IS_YES
      Src: /src/mhd2/src/mhd2/mhd_send.c:612,1
    - Dst: mhd_sys_send
      Src: /src/mhd2/src/mhd2/mhd_send.c:613,1
    - Dst: mhd_LOG_MSG
      Src: /src/mhd2/src/mhd2/mhd_send.c:616,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 1
    argNames:
    - sk
    argTypes:
    - struct mhd_ConnSocket*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 620
      start: 604
    functionDepth: 1
    functionLinenumber: 604
    functionLinenumberEnd: 620
    functionName: zero_send
    functionSourceFile: /src/mhd2/src/mhd2/mhd_send.c
    functionUses: 0
    functionsReached:
    - mhd_sys_send
    - mhd_LOG_MSG
    - mhd_T_IS_NO
    - mhd_T_IS_YES
    - mhd_assert
    linkageType: ''
    returnType: bool
    signature: bool zero_send (struct mhd_ConnSocket *restrict sk)
  - BBCount: 22
    BranchProfiles: []
    Callsites:
    - Dst: mhd_T_IS_YES
      Src: /src/mhd2/src/mhd2/mhd_send.c:644,1
    - Dst: mhd_T_IS_YES
      Src: /src/mhd2/src/mhd2/mhd_send.c:655,1
    - Dst: mhd_T_IS_NO
      Src: /src/mhd2/src/mhd2/mhd_send.c:656,1
    - Dst: mhd_T_IS_NOT_YES
      Src: /src/mhd2/src/mhd2/mhd_send.c:683,1
    - Dst: mhd_connection_set_nodelay_state
      Src: /src/mhd2/src/mhd2/mhd_send.c:686,1
    - Dst: mhd_connection_set_cork_state
      Src: /src/mhd2/src/mhd2/mhd_send.c:690,1
    - Dst: mhd_connection_set_cork_state
      Src: /src/mhd2/src/mhd2/mhd_send.c:699,1
    - Dst: mhd_connection_set_nodelay_state
      Src: /src/mhd2/src/mhd2/mhd_send.c:703,1
    - Dst: mhd_connection_set_nodelay_state
      Src: /src/mhd2/src/mhd2/mhd_send.c:713,1
    - Dst: mhd_connection_set_cork_state
      Src: /src/mhd2/src/mhd2/mhd_send.c:717,1
    - Dst: mhd_connection_set_cork_state
      Src: /src/mhd2/src/mhd2/mhd_send.c:725,1
    - Dst: mhd_T_IS_NO
      Src: /src/mhd2/src/mhd2/mhd_send.c:735,1
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/mhd_send.c:737,1
    - Dst: mhd_T_IS_NOT_YES
      Src: /src/mhd2/src/mhd2/mhd_send.c:737,1
    - Dst: mhd_connection_set_nodelay_state
      Src: /src/mhd2/src/mhd2/mhd_send.c:741,1
    - Dst: zero_send
      Src: /src/mhd2/src/mhd2/mhd_send.c:745,1
    - Dst: mhd_connection_set_cork_state
      Src: /src/mhd2/src/mhd2/mhd_send.c:759,1
    - Dst: mhd_T_IS_YES
      Src: /src/mhd2/src/mhd2/mhd_send.c:763,1
    - Dst: mhd_T_IS_YES
      Src: /src/mhd2/src/mhd2/mhd_send.c:770,1
    - Dst: mhd_connection_set_nodelay_state
      Src: /src/mhd2/src/mhd2/mhd_send.c:771,1
    - Dst: zero_send
      Src: /src/mhd2/src/mhd2/mhd_send.c:775,1
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/mhd_send.c:785,1
    - Dst: mhd_T_IS_NOT_YES
      Src: /src/mhd2/src/mhd2/mhd_send.c:785,1
    - Dst: mhd_T_IS_YES
      Src: /src/mhd2/src/mhd2/mhd_send.c:786,1
    - Dst: mhd_connection_set_nodelay_state
      Src: /src/mhd2/src/mhd2/mhd_send.c:791,1
    - Dst: zero_send
      Src: /src/mhd2/src/mhd2/mhd_send.c:795,1
    - Dst: mhd_LOG_MSG
      Src: /src/mhd2/src/mhd2/mhd_send.c:803,1
    CyclomaticComplexity: 24
    EdgeCount: 24
    ICount: 50
    argCount: 3
    argNames:
    - sk
    - plain_send_next
    - push_data
    argTypes:
    - struct mhd_ConnSocket*
    - bool
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 810
      start: 635
    functionDepth: 2
    functionLinenumber: 635
    functionLinenumberEnd: 810
    functionName: post_send_setopt
    functionSourceFile: /src/mhd2/src/mhd2/mhd_send.c
    functionUses: 0
    functionsReached:
    - mhd_connection_set_nodelay_state
    - mhd_LOG_MSG
    - mhd_T_IS_NO
    - mhd_T_IS_NOT_YES
    - mhd_T_IS_YES
    - zero_send
    - mhd_assert
    - mhd_connection_set_cork_state
    linkageType: ''
    returnType: void
    signature: "void post_send_setopt (struct mhd_ConnSocket *restrict sk,\n                  bool
      plain_send_next,\n                  bool push_data)"
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: MHD_FN_PAR_DYN_ARR_SIZE_
      Src: /src/mhd2/src/mhd2/mhd_send.c:818,1
    - Dst: pre_send_setopt
      Src: /src/mhd2/src/mhd2/mhd_send.c:832,1
    - Dst: mhd_sys_send4
      Src: /src/mhd2/src/mhd2/mhd_send.c:834,1
    - Dst: mhd_sys_send4
      Src: /src/mhd2/src/mhd2/mhd_send.c:839,1
    - Dst: mhd_socket_error_get_from_sys_err
      Src: /src/mhd2/src/mhd2/mhd_send.c:849,1
    - Dst: mhd_SCKT_GET_LERR
      Src: /src/mhd2/src/mhd2/mhd_send.c:849,1
    - Dst: mhd_SCKT_NET_ST_CLEAR_FLAG
      Src: /src/mhd2/src/mhd2/mhd_send.c:852,1
    - Dst: mhd_SCKT_NET_ST_CLEAR_FLAG
      Src: /src/mhd2/src/mhd2/mhd_send.c:862,1
    - Dst: post_send_setopt
      Src: /src/mhd2/src/mhd2/mhd_send.c:871,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 21
    argCount: 5
    argNames:
    - sk
    - buf_size
    - buf
    - push_data
    - sent
    argTypes:
    - struct mhd_ConnSocket*
    - size_t
    - char[]
    - bool
    - size_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 874
      start: 815
    functionDepth: 3
    functionLinenumber: 815
    functionLinenumberEnd: 874
    functionName: mhd_sckt_send
    functionSourceFile: /src/mhd2/src/mhd2/mhd_send.c
    functionUses: 1
    functionsReached:
    - pre_send_setopt
    - mhd_SCKT_NET_ST_CLEAR_FLAG
    - mhd_socket_error_get_from_sys_err
    - MHD_FN_PAR_DYN_ARR_SIZE_
    - mhd_SCKT_GET_LERR
    - mhd_sys_send4
    - post_send_setopt
    linkageType: ''
    returnType: enum mhd_SocketError
    signature: "enum mhd_SocketError mhd_sckt_send (struct mhd_ConnSocket *restrict
      sk,\n               size_t buf_size,\n               const char buf[MHD_FN_PAR_DYN_ARR_SIZE_
      (buf_size)],\n               bool push_data,\n               size_t *restrict
      sent)"
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: MHD_FN_PAR_DYN_ARR_SIZE_
      Src: /src/mhd2/src/mhd2/mhd_send.c:884,1
    - Dst: mhd_tls_conn_has_cstm_tr
      Src: /src/mhd2/src/mhd2/mhd_send.c:889,1
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/mhd_send.c:892,1
    - Dst: mhd_C_HAS_TLS
      Src: /src/mhd2/src/mhd2/mhd_send.c:892,1
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/mhd_send.c:893,1
    - Dst: mhd_D_HAS_TLS
      Src: /src/mhd2/src/mhd2/mhd_send.c:893,1
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/mhd_send.c:894,1
    - Dst: pre_send_setopt
      Src: /src/mhd2/src/mhd2/mhd_send.c:897,1
    - Dst: mhd_tls_conn_send
      Src: /src/mhd2/src/mhd2/mhd_send.c:899,1
    - Dst: post_send_setopt
      Src: /src/mhd2/src/mhd2/mhd_send.c:924,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 17
    argCount: 5
    argNames:
    - c
    - buf_size
    - buf
    - push_data
    - sent
    argTypes:
    - struct MHD_Connection*
    - size_t
    - char[]
    - bool
    - size_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 927
      start: 881
    functionDepth: 3
    functionLinenumber: 881
    functionLinenumberEnd: 927
    functionName: mhd_send_tls
    functionSourceFile: /src/mhd2/src/mhd2/mhd_send.c
    functionUses: 0
    functionsReached:
    - mhd_C_HAS_TLS
    - mhd_tls_conn_has_cstm_tr
    - pre_send_setopt
    - MHD_FN_PAR_DYN_ARR_SIZE_
    - mhd_tls_conn_send
    - mhd_D_HAS_TLS
    - mhd_assert
    - post_send_setopt
    linkageType: ''
    returnType: enum mhd_SocketError
    signature: "enum mhd_SocketError mhd_send_tls (struct MHD_Connection *restrict
      c,\n              size_t buf_size,\n              const char buf[MHD_FN_PAR_DYN_ARR_SIZE_
      (buf_size)],\n              bool push_data,\n              size_t *restrict
      sent)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: MHD_FN_PAR_DYN_ARR_SIZE_
      Src: /src/mhd2/src/mhd2/mhd_send.c:937,1
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/mhd_send.c:941,1
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/mhd_send.c:942,1
    - Dst: mhd_C_HAS_TLS
      Src: /src/mhd2/src/mhd2/mhd_send.c:945,1
    - Dst: mhd_send_tls
      Src: /src/mhd2/src/mhd2/mhd_send.c:946,1
    - Dst: mhd_sckt_send
      Src: /src/mhd2/src/mhd2/mhd_send.c:953,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 5
    argNames:
    - connection
    - buf_size
    - buf
    - push_data
    - sent
    argTypes:
    - struct MHD_Connection*
    - size_t
    - char[]
    - bool
    - size_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 958
      start: 934
    functionDepth: 4
    functionLinenumber: 934
    functionLinenumberEnd: 958
    functionName: mhd_send_data
    functionSourceFile: /src/mhd2/src/mhd2/mhd_send.c
    functionUses: 1
    functionsReached:
    - mhd_C_HAS_TLS
    - mhd_sckt_send
    - MHD_FN_PAR_DYN_ARR_SIZE_
    - mhd_send_tls
    - mhd_assert
    linkageType: ''
    returnType: enum mhd_SocketError
    signature: "enum mhd_SocketError mhd_send_data (struct MHD_Connection *restrict
      connection,\n               size_t buf_size,\n               const char buf[MHD_FN_PAR_DYN_ARR_SIZE_
      (buf_size)],\n               bool push_data,\n               size_t *restrict
      sent)"
  - BBCount: 21
    BranchProfiles: []
    Callsites:
    - Dst: mhd_D_HAS_THR_PER_CONN
      Src: /src/mhd2/src/mhd2/mhd_send.c:1230,1
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/mhd_send.c:1240,1
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/mhd_send.c:1241,1
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/mhd_send.c:1242,1
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/mhd_send.c:1243,1
    - Dst: mhd_C_HAS_TLS
      Src: /src/mhd2/src/mhd2/mhd_send.c:1243,1
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/mhd_send.c:1245,1
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/mhd_send.c:1278,1
    - Dst: pre_send_setopt
      Src: /src/mhd2/src/mhd2/mhd_send.c:1280,1
    - Dst: sendfile
      Src: /src/mhd2/src/mhd2/mhd_send.c:1290,1
    - Dst: sendfile64
      Src: /src/mhd2/src/mhd2/mhd_send.c:1295,1
    - Dst: mhd_SCKT_GET_LERR
      Src: /src/mhd2/src/mhd2/mhd_send.c:1302,1
    - Dst: EIO
      Src: /src/mhd2/src/mhd2/mhd_send.c:1306,1
    - Dst: EAFNOSUPPORT
      Src: /src/mhd2/src/mhd2/mhd_send.c:1309,1
    - Dst: mhd_socket_error_get_from_sys_err
      Src: /src/mhd2/src/mhd2/mhd_send.c:1315,1
    - Dst: sendfile
      Src: /src/mhd2/src/mhd2/mhd_send.c:1330,1
    - Dst: mhd_SCKT_GET_LERR
      Src: /src/mhd2/src/mhd2/mhd_send.c:1338,1
    - Dst: mhd_socket_error_get_from_sys_err
      Src: /src/mhd2/src/mhd2/mhd_send.c:1352,1
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/mhd_send.c:1360,1
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/mhd_send.c:1361,1
    - Dst: sendfile
      Src: /src/mhd2/src/mhd2/mhd_send.c:1374,1
    - Dst: mhd_SCKT_GET_LERR
      Src: /src/mhd2/src/mhd2/mhd_send.c:1381,1
    - Dst: mhd_socket_error_get_from_sys_err
      Src: /src/mhd2/src/mhd2/mhd_send.c:1393,1
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/mhd_send.c:1401,1
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/mhd_send.c:1402,1
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/mhd_send.c:1410,1
    - Dst: post_send_setopt
      Src: /src/mhd2/src/mhd2/mhd_send.c:1437,1
    CyclomaticComplexity: 40
    EdgeCount: 40
    ICount: 86
    argCount: 2
    argNames:
    - c
    - sent
    argTypes:
    - struct MHD_Connection*
    - size_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1441
      start: 1224
    functionDepth: 3
    functionLinenumber: 1224
    functionLinenumberEnd: 1441
    functionName: mhd_send_sendfile
    functionSourceFile: /src/mhd2/src/mhd2/mhd_send.c
    functionUses: 1
    functionsReached:
    - mhd_C_HAS_TLS
    - mhd_D_HAS_THR_PER_CONN
    - EIO
    - pre_send_setopt
    - mhd_socket_error_get_from_sys_err
    - EAFNOSUPPORT
    - sendfile64
    - post_send_setopt
    - mhd_SCKT_GET_LERR
    - mhd_assert
    - sendfile
    linkageType: ''
    returnType: enum mhd_SocketError
    signature: "enum mhd_SocketError mhd_send_sendfile (struct MHD_Connection *restrict
      c,\n                   size_t *restrict sent)"
  - BBCount: 13
    BranchProfiles: []
    Callsites:
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/mhd_send.c:1483,1
    - Dst: mhd_C_HAS_TLS
      Src: /src/mhd2/src/mhd2/mhd_send.c:1483,1
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/mhd_send.c:1484,1
    - Dst: mhd_D_HAS_TLS
      Src: /src/mhd2/src/mhd2/mhd_send.c:1484,1
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/mhd_send.c:1486,1
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/mhd_send.c:1487,1
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/mhd_send.c:1494,1
    - Dst: memset
      Src: /src/mhd2/src/mhd2/mhd_send.c:1502,1
    - Dst: pre_send_setopt
      Src: /src/mhd2/src/mhd2/mhd_send.c:1511,1
    - Dst: sendmsg
      Src: /src/mhd2/src/mhd2/mhd_send.c:1512,1
    - Dst: pre_send_setopt
      Src: /src/mhd2/src/mhd2/mhd_send.c:1523,1
    - Dst: writev
      Src: /src/mhd2/src/mhd2/mhd_send.c:1524,1
    - Dst: pre_send_setopt
      Src: /src/mhd2/src/mhd2/mhd_send.c:1542,1
    - Dst: WSASend
      Src: /src/mhd2/src/mhd2/mhd_send.c:1543,1
    - Dst: mhd_socket_error_get_from_sys_err
      Src: /src/mhd2/src/mhd2/mhd_send.c:1558,1
    - Dst: mhd_SCKT_GET_LERR
      Src: /src/mhd2/src/mhd2/mhd_send.c:1558,1
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/mhd_send.c:1586,1
    - Dst: post_send_setopt
      Src: /src/mhd2/src/mhd2/mhd_send.c:1590,1
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/mhd_send.c:1599,1
    CyclomaticComplexity: 15
    EdgeCount: 15
    ICount: 67
    argCount: 4
    argNames:
    - connection
    - r_iov
    - push_data
    - sent
    argTypes:
    - struct MHD_Connection*
    - struct mhd_iovec_track*
    - bool
    - size_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1611
      start: 1465
    functionDepth: 3
    functionLinenumber: 1465
    functionLinenumberEnd: 1611
    functionName: send_iov_nontls
    functionSourceFile: /src/mhd2/src/mhd2/mhd_send.c
    functionUses: 0
    functionsReached:
    - mhd_C_HAS_TLS
    - writev
    - memset
    - sendmsg
    - pre_send_setopt
    - mhd_socket_error_get_from_sys_err
    - WSASend
    - mhd_SCKT_GET_LERR
    - mhd_D_HAS_TLS
    - mhd_assert
    - post_send_setopt
    linkageType: ''
    returnType: enum mhd_SocketError
    signature: "enum mhd_SocketError send_iov_nontls (struct MHD_Connection *restrict
      connection,\n                 struct mhd_iovec_track *const restrict r_iov,\n
      \                bool push_data,\n                 size_t *restrict sent)"
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/mhd_send.c:1647,1
    - Dst: mhd_send_data
      Src: /src/mhd2/src/mhd2/mhd_send.c:1658,1
    - Dst: mhd_SOCKET_ERR_IS_HARD
      Src: /src/mhd2/src/mhd2/mhd_send.c:1669,1
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/mhd_send.c:1693,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 26
    argCount: 4
    argNames:
    - connection
    - r_iov
    - push_data
    - sent
    argTypes:
    - struct MHD_Connection*
    - struct mhd_iovec_track*
    - bool
    - size_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1696
      start: 1637
    functionDepth: 5
    functionLinenumber: 1637
    functionLinenumberEnd: 1696
    functionName: send_iov_emu
    functionSourceFile: /src/mhd2/src/mhd2/mhd_send.c
    functionUses: 0
    functionsReached:
    - mhd_send_data
    - mhd_SOCKET_ERR_IS_HARD
    - mhd_assert
    linkageType: ''
    returnType: enum mhd_SocketError
    signature: "enum mhd_SocketError send_iov_emu (struct MHD_Connection *restrict
      connection,\n              struct mhd_iovec_track *const restrict r_iov,\n              bool
      push_data,\n              size_t *restrict sent)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/mhd_send.c:1716,1
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/mhd_send.c:1717,1
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/mhd_send.c:1719,1
    - Dst: mhd_C_HAS_TLS
      Src: /src/mhd2/src/mhd2/mhd_send.c:1724,1
    - Dst: send_iov_nontls
      Src: /src/mhd2/src/mhd2/mhd_send.c:1731,1
    - Dst: send_iov_emu
      Src: /src/mhd2/src/mhd2/mhd_send.c:1736,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 10
    argCount: 4
    argNames:
    - connection
    - r_iov
    - push_data
    - sent
    argTypes:
    - struct MHD_Connection*
    - struct mhd_iovec_track*
    - bool
    - size_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1739
      start: 1703
    functionDepth: 6
    functionLinenumber: 1703
    functionLinenumberEnd: 1739
    functionName: mhd_send_iovec
    functionSourceFile: /src/mhd2/src/mhd2/mhd_send.c
    functionUses: 1
    functionsReached:
    - mhd_C_HAS_TLS
    - send_iov_emu
    - mhd_assert
    - send_iov_nontls
    linkageType: ''
    returnType: enum mhd_SocketError
    signature: "enum mhd_SocketError mhd_send_iovec (struct MHD_Connection *restrict
      connection,\n                struct mhd_iovec_track *const restrict r_iov,\n
      \               bool push_data,\n                size_t *restrict sent)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: vfprintf
      Src: /src/mhd2/src/mhd2/daemon_logger_default.c:64,1
    - Dst: fprintf
      Src: /src/mhd2/src/mhd2/daemon_logger_default.c:66,1
    - Dst: fflush
      Src: /src/mhd2/src/mhd2/daemon_logger_default.c:69,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 9
    argCount: 4
    argNames:
    - cls
    - sc
    - fm
    - ap
    argTypes:
    - void*
    - enum MHD_StatusCode
    - char*
    - va_list
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 72
      start: 54
    functionDepth: 0
    functionLinenumber: 54
    functionLinenumberEnd: 72
    functionName: mhd_logger_default
    functionSourceFile: /src/mhd2/src/mhd2/daemon_logger_default.c
    functionUses: 0
    functionsReached:
    - vfprintf
    - fprintf
    - fflush
    linkageType: ''
    returnType: MHD_INTERNAL
    signature: "MHD_INTERNAL mhd_logger_default (void *cls,\n                    enum
      MHD_StatusCode sc,\n                    const char *fm,\n                    va_list
      ap)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - d
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 81
      start: 80
    functionDepth: 0
    functionLinenumber: 80
    functionLinenumberEnd: 81
    functionName: mhd_daemon_trigger_itc
    functionSourceFile: /src/mhd2/src/mhd2/daemon_funcs.h
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: mhd_daemon_trigger_itc(d)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - msg
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 63
      start: 60
    functionDepth: 0
    functionLinenumber: 60
    functionLinenumberEnd: 63
    functionName: MHD_PANIC
    functionSourceFile: /src/mhd2/src/mhd2/mhd_panic.h
    functionUses: 5
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: MHD_PANIC(msg)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - msg
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 94
      start: 92
    functionDepth: 0
    functionLinenumber: 92
    functionLinenumberEnd: 94
    functionName: MHD_PANIC
    functionSourceFile: /src/mhd2/src/mhd2/mhd_panic.h
    functionUses: 5
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: MHD_PANIC(msg)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - msg
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 103
      start: 101
    functionDepth: 0
    functionLinenumber: 101
    functionLinenumberEnd: 103
    functionName: MHD_PANIC
    functionSourceFile: /src/mhd2/src/mhd2/mhd_panic.h
    functionUses: 5
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: MHD_PANIC(msg)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - msg
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 113
      start: 111
    functionDepth: 0
    functionLinenumber: 111
    functionLinenumberEnd: 113
    functionName: MHD_PANIC
    functionSourceFile: /src/mhd2/src/mhd2/mhd_panic.h
    functionUses: 5
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: MHD_PANIC(msg)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: mhd_calloc
      Src: /src/mhd2/src/mhd2/response_from.c:82,1
    - Dst: mhd_calloc
      Src: /src/mhd2/src/mhd2/response_from.c:87,1
    - Dst: mhd_DLINKEDL_INIT_LIST
      Src: /src/mhd2/src/mhd2/response_from.c:92,1
    - Dst: mhd_DLINKEDL_INIT_LIST
      Src: /src/mhd2/src/mhd2/response_from.c:94,1
    - Dst: free
      Src: /src/mhd2/src/mhd2/response_from.c:112,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 24
    argCount: 4
    argNames:
    - sc
    - cntn_size
    - free_cb
    - free_cb_cls
    argTypes:
    - enum MHD_HTTP_StatusCode
    - uint_fast64_t
    - MHD_FreeCallback
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 115
      start: 69
    functionDepth: 1
    functionLinenumber: 69
    functionLinenumberEnd: 115
    functionName: response_create_basic
    functionSourceFile: /src/mhd2/src/mhd2/response_from.c
    functionUses: 0
    functionsReached:
    - mhd_DLINKEDL_INIT_LIST
    - mhd_calloc
    - free
    linkageType: ''
    returnType: struct MHD_Response
    signature: "struct MHD_Response *\nresponse_create_basic (enum MHD_HTTP_StatusCode
      sc,\n                       uint_fast64_t cntn_size,\n                       MHD_FreeCallback
      free_cb,\n                       void *free_cb_cls)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/response_from.c:122,1
    - Dst: free
      Src: /src/mhd2/src/mhd2/response_from.c:124,1
    - Dst: close
      Src: /src/mhd2/src/mhd2/response_from.c:126,1
    - Dst: struct MHD_Response*::free::cb
      Src: /src/mhd2/src/mhd2/response_from.c:130,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 8
    argCount: 1
    argNames:
    - r
    argTypes:
    - struct MHD_Response*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 131
      start: 119
    functionDepth: 1
    functionLinenumber: 119
    functionLinenumberEnd: 131
    functionName: mhd_response_deinit_content_data
    functionSourceFile: /src/mhd2/src/mhd2/response_from.c
    functionUses: 1
    functionsReached:
    - free
    - mhd_assert
    - close
    - struct MHD_Response*::free::cb
    linkageType: ''
    returnType: void
    signature: void mhd_response_deinit_content_data (struct MHD_Response *restrict
      r)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: response_create_basic
      Src: /src/mhd2/src/mhd2/response_from.c:143,1
    - Dst: free_cb
      Src: /src/mhd2/src/mhd2/response_from.c:151,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 6
    argNames:
    - sc
    - size
    - dyn_cont
    - dyn_cont_cls
    - free_cb
    - free_cb_cls
    argTypes:
    - enum MHD_HTTP_StatusCode
    - uint_fast64_t
    - MHD_DynamicContentCreator
    - void*
    - MHD_FreeCallback
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 153
      start: 134
    functionDepth: 2
    functionLinenumber: 134
    functionLinenumberEnd: 153
    functionName: MHD_response_from_callback_2cls
    functionSourceFile: /src/mhd2/src/mhd2/response_from.c
    functionUses: 0
    functionsReached:
    - free_cb
    - response_create_basic
    linkageType: ''
    returnType: MHD_EXTERN_
    signature: "MHD_EXTERN_ *\nMHD_response_from_callback_2cls (enum MHD_HTTP_StatusCode
      sc,\n                                 uint_fast64_t size,\n                                 MHD_DynamicContentCreator
      dyn_cont,\n                                 void *dyn_cont_cls,\n                                 MHD_FreeCallback
      free_cb,\n                                 void *free_cb_cls)"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: free_cb
      Src: /src/mhd2/src/mhd2/response_from.c:173,1
    - Dst: response_create_basic
      Src: /src/mhd2/src/mhd2/response_from.c:178,1
    - Dst: free_cb
      Src: /src/mhd2/src/mhd2/response_from.c:186,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 14
    argCount: 5
    argNames:
    - sc
    - buffer_size
    - buffer
    - free_cb
    - free_cb_cls
    argTypes:
    - enum MHD_HTTP_StatusCode
    - size_t
    - char*
    - MHD_FreeCallback
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 188
      start: 159
    functionDepth: 2
    functionLinenumber: 159
    functionLinenumberEnd: 188
    functionName: MHD_response_from_buffer
    functionSourceFile: /src/mhd2/src/mhd2/response_from.c
    functionUses: 2
    functionsReached:
    - free_cb
    - response_create_basic
    linkageType: ''
    returnType: struct MHD_Response
    signature: "struct MHD_Response *\nMHD_response_from_buffer (\n  enum MHD_HTTP_StatusCode
      sc,\n  size_t buffer_size,\n  const char *buffer,\n  MHD_FreeCallback free_cb,\n
      \ void *free_cb_cls)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: free
      Src: /src/mhd2/src/mhd2/response_from.c:194,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ptr
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 195
      start: 191
    functionDepth: 0
    functionLinenumber: 191
    functionLinenumberEnd: 195
    functionName: response_cntn_free_buf
    functionSourceFile: /src/mhd2/src/mhd2/response_from.c
    functionUses: 0
    functionsReached:
    - free
    linkageType: ''
    returnType: void
    signature: void response_cntn_free_buf (void *ptr)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: MHD_FN_PAR_DYN_ARR_SIZE_
      Src: /src/mhd2/src/mhd2/response_from.c:203,1
    - Dst: malloc
      Src: /src/mhd2/src/mhd2/response_from.c:216,1
    - Dst: memcpy
      Src: /src/mhd2/src/mhd2/response_from.c:219,1
    - Dst: response_create_basic
      Src: /src/mhd2/src/mhd2/response_from.c:220,1
    - Dst: response_create_basic
      Src: /src/mhd2/src/mhd2/response_from.c:228,1
    - Dst: free
      Src: /src/mhd2/src/mhd2/response_from.c:240,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 23
    argCount: 3
    argNames:
    - sc
    - buffer_size
    - buffer
    argTypes:
    - enum MHD_HTTP_StatusCode
    - size_t
    - char[]
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 242
      start: 199
    functionDepth: 2
    functionLinenumber: 199
    functionLinenumberEnd: 242
    functionName: MHD_response_from_buffer_copy
    functionSourceFile: /src/mhd2/src/mhd2/response_from.c
    functionUses: 1
    functionsReached:
    - malloc
    - response_create_basic
    - free
    - MHD_FN_PAR_DYN_ARR_SIZE_
    - memcpy
    linkageType: ''
    returnType: struct MHD_Response
    signature: "struct MHD_Response *\nMHD_response_from_buffer_copy (\n  enum MHD_HTTP_StatusCode
      sc,\n  size_t buffer_size,\n  const char buffer[MHD_FN_PAR_DYN_ARR_SIZE_ (buffer_size)])"
  - BBCount: 14
    BranchProfiles: []
    Callsites:
    - Dst: MHD_FN_PAR_DYN_ARR_SIZE_
      Src: /src/mhd2/src/mhd2/response_from.c:249,1
    - Dst: response_create_basic
      Src: /src/mhd2/src/mhd2/response_from.c:289,1
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/response_from.c:300,1
    - Dst: mhd_calloc
      Src: /src/mhd2/src/mhd2/response_from.c:308,1
    - Dst: mhd_DROP_CONST
      Src: /src/mhd2/src/mhd2/response_from.c:325,1
    - Dst: mhd_DROP_CONST
      Src: /src/mhd2/src/mhd2/response_from.c:332,1
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/response_from.c:336,1
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/response_from.c:337,1
    - Dst: response_create_basic
      Src: /src/mhd2/src/mhd2/response_from.c:339,1
    - Dst: free
      Src: /src/mhd2/src/mhd2/response_from.c:349,1
    CyclomaticComplexity: 22
    EdgeCount: 22
    ICount: 61
    argCount: 5
    argNames:
    - sc
    - iov_count
    - iov
    - free_cb
    - free_cb_cls
    argTypes:
    - enum MHD_HTTP_StatusCode
    - unsigned int
    - struct MHD_IoVec[]
    - MHD_FreeCallback
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 352
      start: 245
    functionDepth: 2
    functionLinenumber: 245
    functionLinenumberEnd: 352
    functionName: response_from_iovec_inner
    functionSourceFile: /src/mhd2/src/mhd2/response_from.c
    functionUses: 0
    functionsReached:
    - response_create_basic
    - free
    - mhd_calloc
    - MHD_FN_PAR_DYN_ARR_SIZE_
    - mhd_assert
    - mhd_DROP_CONST
    linkageType: ''
    returnType: struct MHD_Response
    signature: "struct MHD_Response *\nresponse_from_iovec_inner (\n  enum MHD_HTTP_StatusCode
      sc,\n  unsigned int iov_count,\n  const struct MHD_IoVec iov[MHD_FN_PAR_DYN_ARR_SIZE_
      (iov_count)],\n  MHD_FreeCallback free_cb,\n  void *free_cb_cls)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: MHD_FN_PAR_DYN_ARR_SIZE_
      Src: /src/mhd2/src/mhd2/response_from.c:359,1
    - Dst: response_from_iovec_inner
      Src: /src/mhd2/src/mhd2/response_from.c:364,1
    - Dst: free_cb
      Src: /src/mhd2/src/mhd2/response_from.c:366,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 4
    argCount: 5
    argNames:
    - sc
    - iov_count
    - iov
    - free_cb
    - free_cb_cls
    argTypes:
    - enum MHD_HTTP_StatusCode
    - unsigned int
    - struct MHD_IoVec[]
    - MHD_FreeCallback
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 369
      start: 355
    functionDepth: 3
    functionLinenumber: 355
    functionLinenumberEnd: 369
    functionName: MHD_response_from_iovec
    functionSourceFile: /src/mhd2/src/mhd2/response_from.c
    functionUses: 1
    functionsReached:
    - free_cb
    - MHD_FN_PAR_DYN_ARR_SIZE_
    - response_from_iovec_inner
    linkageType: ''
    returnType: MHD_EXTERN_
    signature: "MHD_EXTERN_ *\nMHD_response_from_iovec (\n  enum MHD_HTTP_StatusCode
      sc,\n  unsigned int iov_count,\n  const struct MHD_IoVec iov[MHD_FN_PAR_DYN_ARR_SIZE_
      (iov_count)],\n  MHD_FreeCallback free_cb,\n  void *free_cb_cls)"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: response_create_basic
      Src: /src/mhd2/src/mhd2/response_from.c:387,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 16
    argCount: 4
    argNames:
    - sc
    - fd
    - offset
    - size
    argTypes:
    - enum MHD_HTTP_StatusCode
    - int
    - uint_fast64_t
    - uint_fast64_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 399
      start: 373
    functionDepth: 2
    functionLinenumber: 373
    functionLinenumberEnd: 399
    functionName: response_from_fd_inner
    functionSourceFile: /src/mhd2/src/mhd2/response_from.c
    functionUses: 0
    functionsReached:
    - response_create_basic
    linkageType: ''
    returnType: struct MHD_Response
    signature: "struct MHD_Response *\nresponse_from_fd_inner (enum MHD_HTTP_StatusCode
      sc,\n                        int fd,\n                        uint_fast64_t
      offset,\n                        uint_fast64_t size)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: response_from_fd_inner
      Src: /src/mhd2/src/mhd2/response_from.c:410,1
    - Dst: close
      Src: /src/mhd2/src/mhd2/response_from.c:412,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 4
    argNames:
    - sc
    - fd
    - offset
    - size
    argTypes:
    - enum MHD_HTTP_StatusCode
    - int
    - uint_fast64_t
    - uint_fast64_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 414
      start: 403
    functionDepth: 3
    functionLinenumber: 403
    functionLinenumberEnd: 414
    functionName: MHD_response_from_fd
    functionSourceFile: /src/mhd2/src/mhd2/response_from.c
    functionUses: 3
    functionsReached:
    - close
    - response_from_fd_inner
    linkageType: ''
    returnType: struct MHD_Response
    signature: "struct MHD_Response *\nMHD_response_from_fd (enum MHD_HTTP_StatusCode
      sc,\n                      int fd,\n                      uint_fast64_t offset,\n
      \                     uint_fast64_t size)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: response_create_basic
      Src: /src/mhd2/src/mhd2/response_from.c:423,1
    - Dst: close
      Src: /src/mhd2/src/mhd2/response_from.c:438,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 11
    argCount: 2
    argNames:
    - sc
    - fd
    argTypes:
    - enum MHD_HTTP_StatusCode
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 440
      start: 418
    functionDepth: 2
    functionLinenumber: 418
    functionLinenumberEnd: 440
    functionName: MHD_response_from_pipe
    functionSourceFile: /src/mhd2/src/mhd2/response_from.c
    functionUses: 2
    functionsReached:
    - close
    - response_create_basic
    linkageType: ''
    returnType: struct MHD_Response
    signature: "struct MHD_Response *\nMHD_response_from_pipe (enum MHD_HTTP_StatusCode
      sc,\n                        int fd)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/response_from.c:465,1
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/response_from.c:466,1
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/response_from.c:467,1
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/response_from.c:468,1
    - Dst: mhd_calloc
      Src: /src/mhd2/src/mhd2/response_from.c:471,1
    - Dst: mhd_DLINKEDL_INIT_LIST
      Src: /src/mhd2/src/mhd2/response_from.c:477,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 22
    argCount: 5
    argNames:
    - sc
    - cntn_len
    - cntn
    - spec_hdr_len
    - spec_hdr
    argTypes:
    - unsigned int
    - size_t
    - char*
    - size_t
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 493
      start: 456
    functionDepth: 1
    functionLinenumber: 456
    functionLinenumberEnd: 493
    functionName: mhd_response_special_for_error
    functionSourceFile: /src/mhd2/src/mhd2/response_from.c
    functionUses: 0
    functionsReached:
    - mhd_DLINKEDL_INIT_LIST
    - mhd_calloc
    - mhd_assert
    linkageType: ''
    returnType: struct MHD_Response
    signature: "struct MHD_Response *\nmhd_response_special_for_error (unsigned int
      sc,\n                                size_t cntn_len,\n                                const
      char *cntn,\n                                size_t spec_hdr_len,\n                                char
      *spec_hdr)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - pmutex
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 111
      start: 110
    functionDepth: 0
    functionLinenumber: 110
    functionLinenumberEnd: 111
    functionName: mhd_mutex_init
    functionSourceFile: /src/mhd2/src/mhd2/mhd_locks.h
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: mhd_mutex_init(pmutex)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - pmutex
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 118
      start: 117
    functionDepth: 0
    functionLinenumber: 117
    functionLinenumberEnd: 118
    functionName: mhd_mutex_init
    functionSourceFile: /src/mhd2/src/mhd2/mhd_locks.h
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: mhd_mutex_init(pmutex)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - pmutex
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 128
      start: 126
    functionDepth: 0
    functionLinenumber: 126
    functionLinenumberEnd: 128
    functionName: mhd_mutex_init
    functionSourceFile: /src/mhd2/src/mhd2/mhd_locks.h
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: mhd_mutex_init(pmutex)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - pmutex
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 137
      start: 135
    functionDepth: 0
    functionLinenumber: 135
    functionLinenumberEnd: 137
    functionName: mhd_mutex_init
    functionSourceFile: /src/mhd2/src/mhd2/mhd_locks.h
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: mhd_mutex_init(pmutex)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - pmutex
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 155
      start: 153
    functionDepth: 0
    functionLinenumber: 153
    functionLinenumberEnd: 155
    functionName: mhd_mutex_init_short
    functionSourceFile: /src/mhd2/src/mhd2/mhd_locks.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: mhd_mutex_init_short(pmutex)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - pmutex
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 169
      start: 167
    functionDepth: 0
    functionLinenumber: 167
    functionLinenumberEnd: 169
    functionName: mhd_mutex_init_short
    functionSourceFile: /src/mhd2/src/mhd2/mhd_locks.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: mhd_mutex_init_short(pmutex)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - pmutex
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 174
      start: 173
    functionDepth: 0
    functionLinenumber: 173
    functionLinenumberEnd: 174
    functionName: mhd_mutex_init_short
    functionSourceFile: /src/mhd2/src/mhd2/mhd_locks.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: mhd_mutex_init_short(pmutex)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - m
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 198
      start: 196
    functionDepth: 0
    functionLinenumber: 196
    functionLinenumberEnd: 198
    functionName: mhd_MUTEX_STATIC_DEFN_INIT
    functionSourceFile: /src/mhd2/src/mhd2/mhd_locks.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: mhd_MUTEX_STATIC_DEFN_INIT(m)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - pmutex
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 207
      start: 206
    functionDepth: 0
    functionLinenumber: 206
    functionLinenumberEnd: 207
    functionName: mhd_mutex_destroy
    functionSourceFile: /src/mhd2/src/mhd2/mhd_locks.h
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: mhd_mutex_destroy(pmutex)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - pmutex
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 214
      start: 213
    functionDepth: 0
    functionLinenumber: 213
    functionLinenumberEnd: 214
    functionName: mhd_mutex_destroy
    functionSourceFile: /src/mhd2/src/mhd2/mhd_locks.h
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: mhd_mutex_destroy(pmutex)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - pmutex
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 221
      start: 220
    functionDepth: 0
    functionLinenumber: 220
    functionLinenumberEnd: 221
    functionName: mhd_mutex_destroy
    functionSourceFile: /src/mhd2/src/mhd2/mhd_locks.h
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: mhd_mutex_destroy(pmutex)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - pmutex
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 233
      start: 232
    functionDepth: 0
    functionLinenumber: 232
    functionLinenumberEnd: 233
    functionName: mhd_mutex_lock
    functionSourceFile: /src/mhd2/src/mhd2/mhd_locks.h
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: mhd_mutex_lock(pmutex)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - pmutex
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 242
      start: 241
    functionDepth: 0
    functionLinenumber: 241
    functionLinenumberEnd: 242
    functionName: mhd_mutex_lock
    functionSourceFile: /src/mhd2/src/mhd2/mhd_locks.h
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: mhd_mutex_lock(pmutex)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - pmutex
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 251
      start: 250
    functionDepth: 0
    functionLinenumber: 250
    functionLinenumberEnd: 251
    functionName: mhd_mutex_lock
    functionSourceFile: /src/mhd2/src/mhd2/mhd_locks.h
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: mhd_mutex_lock(pmutex)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - pmutex
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 260
      start: 259
    functionDepth: 0
    functionLinenumber: 259
    functionLinenumberEnd: 260
    functionName: mhd_mutex_unlock
    functionSourceFile: /src/mhd2/src/mhd2/mhd_locks.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: mhd_mutex_unlock(pmutex)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - pmutex
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 269
      start: 268
    functionDepth: 0
    functionLinenumber: 268
    functionLinenumberEnd: 269
    functionName: mhd_mutex_unlock
    functionSourceFile: /src/mhd2/src/mhd2/mhd_locks.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: mhd_mutex_unlock(pmutex)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - pmutex
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 276
      start: 275
    functionDepth: 0
    functionLinenumber: 275
    functionLinenumberEnd: 276
    functionName: mhd_mutex_unlock
    functionSourceFile: /src/mhd2/src/mhd2/mhd_locks.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: mhd_mutex_unlock(pmutex)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - pmutex
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 287
      start: 283
    functionDepth: 0
    functionLinenumber: 283
    functionLinenumberEnd: 287
    functionName: mhd_mutex_destroy_chk
    functionSourceFile: /src/mhd2/src/mhd2/mhd_locks.h
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: mhd_mutex_destroy_chk(pmutex)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - pmutex
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 299
      start: 295
    functionDepth: 0
    functionLinenumber: 295
    functionLinenumberEnd: 299
    functionName: mhd_mutex_lock_chk
    functionSourceFile: /src/mhd2/src/mhd2/mhd_locks.h
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: mhd_mutex_lock_chk(pmutex)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - pmutex
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 309
      start: 305
    functionDepth: 0
    functionLinenumber: 305
    functionLinenumberEnd: 309
    functionName: mhd_mutex_unlock_chk
    functionSourceFile: /src/mhd2/src/mhd2/mhd_locks.h
    functionUses: 3
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: mhd_mutex_unlock_chk(pmutex)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - ignored
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 313
      start: 312
    functionDepth: 0
    functionLinenumber: 312
    functionLinenumberEnd: 313
    functionName: mhd_mutex_init
    functionSourceFile: /src/mhd2/src/mhd2/mhd_locks.h
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: mhd_mutex_init(ignored)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - ignored
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 314
      start: 313
    functionDepth: 0
    functionLinenumber: 313
    functionLinenumberEnd: 314
    functionName: mhd_mutex_init_short
    functionSourceFile: /src/mhd2/src/mhd2/mhd_locks.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: mhd_mutex_init_short(ignored)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - ignored
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 317
      start: 316
    functionDepth: 0
    functionLinenumber: 316
    functionLinenumberEnd: 317
    functionName: mhd_mutex_destroy
    functionSourceFile: /src/mhd2/src/mhd2/mhd_locks.h
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: mhd_mutex_destroy(ignored)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - ignored
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 318
      start: 317
    functionDepth: 0
    functionLinenumber: 317
    functionLinenumberEnd: 318
    functionName: mhd_mutex_destroy_chk
    functionSourceFile: /src/mhd2/src/mhd2/mhd_locks.h
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: mhd_mutex_destroy_chk(ignored)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - ignored
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 319
      start: 318
    functionDepth: 0
    functionLinenumber: 318
    functionLinenumberEnd: 319
    functionName: mhd_mutex_lock
    functionSourceFile: /src/mhd2/src/mhd2/mhd_locks.h
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: mhd_mutex_lock(ignored)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - ignored
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 320
      start: 319
    functionDepth: 0
    functionLinenumber: 319
    functionLinenumberEnd: 320
    functionName: mhd_mutex_lock_chk
    functionSourceFile: /src/mhd2/src/mhd2/mhd_locks.h
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: mhd_mutex_lock_chk(ignored)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - ignored
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 321
      start: 320
    functionDepth: 0
    functionLinenumber: 320
    functionLinenumberEnd: 321
    functionName: mhd_mutex_unlock
    functionSourceFile: /src/mhd2/src/mhd2/mhd_locks.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: mhd_mutex_unlock(ignored)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - ignored
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 322
      start: 321
    functionDepth: 0
    functionLinenumber: 321
    functionLinenumberEnd: 322
    functionName: mhd_mutex_unlock_chk
    functionSourceFile: /src/mhd2/src/mhd2/mhd_locks.h
    functionUses: 3
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: mhd_mutex_unlock_chk(ignored)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - ctx
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 173
      start: 172
    functionDepth: 0
    functionLinenumber: 172
    functionLinenumberEnd: 173
    functionName: mhd_SHA512_256_blti_reset
    functionSourceFile: /src/mhd2/src/mhd2/sha512_256_builtin.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: mhd_SHA512_256_blti_reset(ctx)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - ctx
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 183
      start: 182
    functionDepth: 0
    functionLinenumber: 182
    functionLinenumberEnd: 183
    functionName: mhd_SHA512_256_blti_deinit
    functionSourceFile: /src/mhd2/src/mhd2/sha512_256_builtin.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: mhd_SHA512_256_blti_deinit(ctx)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: __builtin_mul_overflow
      Src: /src/mhd2/src/mhd2/compat_calloc.c:67,1
    - Dst: malloc
      Src: /src/mhd2/src/mhd2/compat_calloc.c:74,1
    - Dst: memset
      Src: /src/mhd2/src/mhd2/compat_calloc.c:77,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 11
    argCount: 2
    argNames:
    - nelem
    - elsize
    argTypes:
    - size_t
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 79
      start: 61
    functionDepth: 0
    functionLinenumber: 61
    functionLinenumberEnd: 79
    functionName: mhd_calloc
    functionSourceFile: /src/mhd2/src/mhd2/compat_calloc.c
    functionUses: 6
    functionsReached:
    - malloc
    - __builtin_mul_overflow
    - memset
    linkageType: ''
    returnType: MHD_INTERNAL
    signature: 'MHD_INTERNAL *

      mhd_calloc (size_t nelem, size_t elsize)'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: mhd_mutex_lock_chk
      Src: /src/mhd2/src/mhd2/mhd_atomic_counter.c:58,1
    - Dst: mhd_mutex_unlock_chk
      Src: /src/mhd2/src/mhd2/mhd_atomic_counter.c:60,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 1
    argNames:
    - pcnt
    argTypes:
    - struct mhd_AtomicCounter*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 63
      start: 53
    functionDepth: 1
    functionLinenumber: 53
    functionLinenumberEnd: 63
    functionName: mhd_ATOMIC_COUNTER_TYPE::mhd_atomic_counter_get_inc_wrap
    functionSourceFile: /src/mhd2/src/mhd2/mhd_atomic_counter.c
    functionUses: 0
    functionsReached:
    - mhd_mutex_lock_chk
    - mhd_mutex_unlock_chk
    linkageType: ''
    returnType: MHD_INTERNAL
    signature: 'MHD_INTERNAL mhd_ATOMIC_COUNTER_TYPE

      mhd_atomic_counter_get_inc_wrap (struct mhd_AtomicCounter *pcnt)'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: mhd_ATOMIC_COUNTER_TYPE::mhd_atomic_counter_get_inc_wrap
      Src: /src/mhd2/src/mhd2/mhd_atomic_counter.c:71,1
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/mhd_atomic_counter.c:73,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - pcnt
    argTypes:
    - struct mhd_AtomicCounter*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 76
      start: 68
    functionDepth: 1
    functionLinenumber: 68
    functionLinenumberEnd: 76
    functionName: mhd_ATOMIC_COUNTER_TYPE::mhd_atomic_counter_get_inc
    functionSourceFile: /src/mhd2/src/mhd2/mhd_atomic_counter.c
    functionUses: 0
    functionsReached:
    - mhd_assert
    - mhd_ATOMIC_COUNTER_TYPE::mhd_atomic_counter_get_inc_wrap
    linkageType: ''
    returnType: MHD_INTERNAL
    signature: 'MHD_INTERNAL mhd_ATOMIC_COUNTER_TYPE

      mhd_atomic_counter_get_inc (struct mhd_AtomicCounter *pcnt)'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: mhd_mutex_lock_chk
      Src: /src/mhd2/src/mhd2/mhd_atomic_counter.c:87,1
    - Dst: mhd_mutex_unlock_chk
      Src: /src/mhd2/src/mhd2/mhd_atomic_counter.c:89,1
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/mhd_atomic_counter.c:91,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 1
    argNames:
    - pcnt
    argTypes:
    - struct mhd_AtomicCounter*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 94
      start: 82
    functionDepth: 1
    functionLinenumber: 82
    functionLinenumberEnd: 94
    functionName: mhd_ATOMIC_COUNTER_TYPE::mhd_atomic_counter_get_dec
    functionSourceFile: /src/mhd2/src/mhd2/mhd_atomic_counter.c
    functionUses: 0
    functionsReached:
    - mhd_assert
    - mhd_mutex_lock_chk
    - mhd_mutex_unlock_chk
    linkageType: ''
    returnType: MHD_INTERNAL
    signature: 'MHD_INTERNAL mhd_ATOMIC_COUNTER_TYPE

      mhd_atomic_counter_get_dec (struct mhd_AtomicCounter *pcnt)'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: mhd_mutex_lock_chk
      Src: /src/mhd2/src/mhd2/mhd_atomic_counter.c:102,1
    - Dst: mhd_mutex_unlock_chk
      Src: /src/mhd2/src/mhd2/mhd_atomic_counter.c:104,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 1
    argNames:
    - pcnt
    argTypes:
    - struct mhd_AtomicCounter*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 107
      start: 97
    functionDepth: 1
    functionLinenumber: 97
    functionLinenumberEnd: 107
    functionName: mhd_ATOMIC_COUNTER_TYPE::mhd_atomic_counter_get
    functionSourceFile: /src/mhd2/src/mhd2/mhd_atomic_counter.c
    functionUses: 0
    functionsReached:
    - mhd_mutex_lock_chk
    - mhd_mutex_unlock_chk
    linkageType: ''
    returnType: MHD_INTERNAL
    signature: 'MHD_INTERNAL mhd_ATOMIC_COUNTER_TYPE

      mhd_atomic_counter_get (struct mhd_AtomicCounter *pcnt)'
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - fdarr_ptr
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 106
      start: 105
    functionDepth: 0
    functionLinenumber: 105
    functionLinenumberEnd: 106
    functionName: mhd_socket_pair
    functionSourceFile: /src/mhd2/src/mhd2/mhd_sockets_funcs.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: mhd_socket_pair(fdarr_ptr)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - fdarr_ptr
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 107
      start: 106
    functionDepth: 0
    functionLinenumber: 106
    functionLinenumberEnd: 107
    functionName: mhd_socket_pair_nblk
    functionSourceFile: /src/mhd2/src/mhd2/mhd_sockets_funcs.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: mhd_socket_pair_nblk(fdarr_ptr)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - name_suffix
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 138
      start: 136
    functionDepth: 0
    functionLinenumber: 136
    functionLinenumberEnd: 138
    functionName: mhd_MD5_FUNC
    functionSourceFile: /src/mhd2/src/mhd2/mhd_md5.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: mhd_MD5_FUNC(name_suffix)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - name_suffix
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 144
      start: 142
    functionDepth: 0
    functionLinenumber: 142
    functionLinenumberEnd: 144
    functionName: mhd_MD5_MACRO
    functionSourceFile: /src/mhd2/src/mhd2/mhd_md5.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: mhd_MD5_MACRO(name_suffix)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - ctx
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 160
      start: 159
    functionDepth: 0
    functionLinenumber: 159
    functionLinenumberEnd: 160
    functionName: mhd_MD5_has_err
    functionSourceFile: /src/mhd2/src/mhd2/mhd_md5.h
    functionUses: 6
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: mhd_MD5_has_err(ctx)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - ctx
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 164
      start: 163
    functionDepth: 0
    functionLinenumber: 163
    functionLinenumberEnd: 164
    functionName: mhd_MD5_get_err
    functionSourceFile: /src/mhd2/src/mhd2/mhd_md5.h
    functionUses: 6
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: mhd_MD5_get_err(ctx)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - ctx
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 166
      start: 165
    functionDepth: 0
    functionLinenumber: 165
    functionLinenumberEnd: 166
    functionName: mhd_MD5_has_err
    functionSourceFile: /src/mhd2/src/mhd2/mhd_md5.h
    functionUses: 6
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: mhd_MD5_has_err(ctx)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - ctx
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 170
      start: 169
    functionDepth: 0
    functionLinenumber: 169
    functionLinenumberEnd: 170
    functionName: mhd_MD5_get_err
    functionSourceFile: /src/mhd2/src/mhd2/mhd_md5.h
    functionUses: 6
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: mhd_MD5_get_err(ctx)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - ctx
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 187
      start: 186
    functionDepth: 0
    functionLinenumber: 186
    functionLinenumberEnd: 187
    functionName: mhd_MD5_init
    functionSourceFile: /src/mhd2/src/mhd2/mhd_md5.h
    functionUses: 6
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: mhd_MD5_init(ctx)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - ctx
    - ','
    - size
    - ','
    - data
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 200
      start: 198
    functionDepth: 0
    functionLinenumber: 198
    functionLinenumberEnd: 200
    functionName: mhd_MD5_update
    functionSourceFile: /src/mhd2/src/mhd2/mhd_md5.h
    functionUses: 6
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: mhd_MD5_update(ctx, size, data)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - ctx
    - ','
    - digest
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 212
      start: 210
    functionDepth: 0
    functionLinenumber: 210
    functionLinenumberEnd: 212
    functionName: mhd_MD5_finish
    functionSourceFile: /src/mhd2/src/mhd2/mhd_md5.h
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: mhd_MD5_finish(ctx, digest)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - ctx
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 226
      start: 225
    functionDepth: 0
    functionLinenumber: 225
    functionLinenumberEnd: 226
    functionName: mhd_MD5_reset
    functionSourceFile: /src/mhd2/src/mhd2/mhd_md5.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: mhd_MD5_reset(ctx)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - ctx
    - ','
    - digest
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 240
      start: 238
    functionDepth: 0
    functionLinenumber: 238
    functionLinenumberEnd: 240
    functionName: mhd_MD5_finish_reset
    functionSourceFile: /src/mhd2/src/mhd2/mhd_md5.h
    functionUses: 6
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: mhd_MD5_finish_reset(ctx, digest)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - ctx
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 253
      start: 252
    functionDepth: 0
    functionLinenumber: 252
    functionLinenumberEnd: 253
    functionName: mhd_MD5_deinit
    functionSourceFile: /src/mhd2/src/mhd2/mhd_md5.h
    functionUses: 6
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: mhd_MD5_deinit(ctx)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - ctx
    - ','
    - digest
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 266
      start: 264
    functionDepth: 0
    functionLinenumber: 264
    functionLinenumberEnd: 266
    functionName: mhd_MD5_finish_deinit
    functionSourceFile: /src/mhd2/src/mhd2/mhd_md5.h
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: mhd_MD5_finish_deinit(ctx, digest)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - v
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 75
      start: 74
    functionDepth: 0
    functionLinenumber: 74
    functionLinenumberEnd: 75
    functionName: mhd_T_IS_YES
    functionSourceFile: /src/mhd2/src/mhd2/mhd_tristate.h
    functionUses: 5
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: mhd_T_IS_YES(v)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - v
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 80
      start: 79
    functionDepth: 0
    functionLinenumber: 79
    functionLinenumberEnd: 80
    functionName: mhd_T_IS_NO
    functionSourceFile: /src/mhd2/src/mhd2/mhd_tristate.h
    functionUses: 3
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: mhd_T_IS_NO(v)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - v
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 85
      start: 84
    functionDepth: 0
    functionLinenumber: 84
    functionLinenumberEnd: 85
    functionName: mhd_T_IS_MAYBE
    functionSourceFile: /src/mhd2/src/mhd2/mhd_tristate.h
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: mhd_T_IS_MAYBE(v)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - v
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 90
      start: 89
    functionDepth: 0
    functionLinenumber: 89
    functionLinenumberEnd: 90
    functionName: mhd_T_IS_NOT_YES
    functionSourceFile: /src/mhd2/src/mhd2/mhd_tristate.h
    functionUses: 4
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: mhd_T_IS_NOT_YES(v)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - v
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 95
      start: 94
    functionDepth: 0
    functionLinenumber: 94
    functionLinenumberEnd: 95
    functionName: mhd_T_IS_NOT_NO
    functionSourceFile: /src/mhd2/src/mhd2/mhd_tristate.h
    functionUses: 3
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: mhd_T_IS_NOT_NO(v)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - v
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 100
      start: 99
    functionDepth: 0
    functionLinenumber: 99
    functionLinenumberEnd: 100
    functionName: mhd_T_IS_NOT_MAYBE
    functionSourceFile: /src/mhd2/src/mhd2/mhd_tristate.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: mhd_T_IS_NOT_MAYBE(v)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: mhd_DLINKEDL_GET_LAST
      Src: /src/mhd2/src/mhd2/response_auth_digest.c:75,1
    - Dst: mhd_DLINKEDL_GET_LAST
      Src: /src/mhd2/src/mhd2/response_auth_digest.c:77,1
    - Dst: mhd_DLINKEDL_DEL
      Src: /src/mhd2/src/mhd2/response_auth_digest.c:79,1
    - Dst: free
      Src: /src/mhd2/src/mhd2/response_auth_digest.c:80,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - response
    argTypes:
    - struct MHD_Response*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 82
      start: 70
    functionDepth: 1
    functionLinenumber: 70
    functionLinenumberEnd: 82
    functionName: mhd_response_remove_auth_digest_headers
    functionSourceFile: /src/mhd2/src/mhd2/response_auth_digest.c
    functionUses: 1
    functionsReached:
    - mhd_DLINKEDL_DEL
    - mhd_DLINKEDL_GET_LAST
    - free
    linkageType: ''
    returnType: void
    signature: void mhd_response_remove_auth_digest_headers (struct MHD_Response *response)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: mhd_MSTR_INIT
      Src: /src/mhd2/src/mhd2/response_auth_digest.c:112,1
    - Dst: mhd_MSTR_INIT
      Src: /src/mhd2/src/mhd2/response_auth_digest.c:114,1
    - Dst: mhd_MSTR_INIT
      Src: /src/mhd2/src/mhd2/response_auth_digest.c:117,1
    - Dst: mhd_MSTR_INIT
      Src: /src/mhd2/src/mhd2/response_auth_digest.c:120,1
    - Dst: mhd_MSTR_INIT
      Src: /src/mhd2/src/mhd2/response_auth_digest.c:124,1
    - Dst: mhd_MSTR_INIT
      Src: /src/mhd2/src/mhd2/response_auth_digest.c:128,1
    - Dst: mhd_MSTR_INIT
      Src: /src/mhd2/src/mhd2/response_auth_digest.c:131,1
    - Dst: mhd_MSTR_INIT
      Src: /src/mhd2/src/mhd2/response_auth_digest.c:138,1
    - Dst: mhd_MSTR_INIT
      Src: /src/mhd2/src/mhd2/response_auth_digest.c:140,1
    - Dst: mhd_MSTR_INIT
      Src: /src/mhd2/src/mhd2/response_auth_digest.c:142,1
    - Dst: mhd_MSTR_INIT
      Src: /src/mhd2/src/mhd2/response_auth_digest.c:144,1
    - Dst: mhd_MSTR_INIT
      Src: /src/mhd2/src/mhd2/response_auth_digest.c:146,1
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/response_auth_digest.c:168,1
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/response_auth_digest.c:169,1
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/response_auth_digest.c:170,1
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/response_auth_digest.c:171,1
    - Dst: mhd_UNREACHABLE
      Src: /src/mhd2/src/mhd2/response_auth_digest.c:187,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 11
    argCount: 9
    argNames:
    - response
    - rlm
    - opq
    - dmn
    - indicate_stale
    - qop_none
    - algo
    - userhash_support
    - prefer_utf8
    argTypes:
    - struct MHD_Response*
    - struct MHD_String*
    - struct MHD_StringNullable*
    - struct MHD_StringNullable*
    - enum MHD_Bool
    - bool
    - enum MHD_DigestAuthAlgo
    - enum MHD_Bool
    - enum MHD_Bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 189
      start: 99
    functionDepth: 1
    functionLinenumber: 99
    functionLinenumberEnd: 189
    functionName: response_add_auth_digest_challenge_alg
    functionSourceFile: /src/mhd2/src/mhd2/response_auth_digest.c
    functionUses: 0
    functionsReached:
    - mhd_UNREACHABLE
    - mhd_MSTR_INIT
    - mhd_assert
    linkageType: ''
    returnType: MHD_FN_PAR_NONNULL_ALL_
    signature: "MHD_FN_PAR_NONNULL_ALL_ response_add_auth_digest_challenge_alg (\n
      \ struct MHD_Response *restrict response,\n  const struct MHD_String *restrict
      rlm,\n  const struct MHD_StringNullable *restrict opq,\n  const struct MHD_StringNullable
      *restrict dmn,\n  enum MHD_Bool indicate_stale,\n  bool qop_none,\n  enum MHD_DigestAuthAlgo
      algo,\n  enum MHD_Bool userhash_support,\n  enum MHD_Bool prefer_utf8)"
  - BBCount: 14
    BranchProfiles: []
    Callsites:
    - Dst: strlen
      Src: /src/mhd2/src/mhd2/response_auth_digest.c:407,1
    - Dst: strlen
      Src: /src/mhd2/src/mhd2/response_auth_digest.c:411,1
    - Dst: strlen
      Src: /src/mhd2/src/mhd2/response_auth_digest.c:416,1
    - Dst: memchr
      Src: /src/mhd2/src/mhd2/response_auth_digest.c:424,1
    - Dst: memchr
      Src: /src/mhd2/src/mhd2/response_auth_digest.c:425,1
    - Dst: memchr
      Src: /src/mhd2/src/mhd2/response_auth_digest.c:429,1
    - Dst: memchr
      Src: /src/mhd2/src/mhd2/response_auth_digest.c:430,1
    - Dst: memchr
      Src: /src/mhd2/src/mhd2/response_auth_digest.c:434,1
    - Dst: memchr
      Src: /src/mhd2/src/mhd2/response_auth_digest.c:435,1
    - Dst: memchr
      Src: /src/mhd2/src/mhd2/response_auth_digest.c:436,1
    - Dst: response_add_auth_digest_challenge_alg
      Src: /src/mhd2/src/mhd2/response_auth_digest.c:451,1
    - Dst: response_add_auth_digest_challenge_alg
      Src: /src/mhd2/src/mhd2/response_auth_digest.c:464,1
    - Dst: response_add_auth_digest_challenge_alg
      Src: /src/mhd2/src/mhd2/response_auth_digest.c:477,1
    - Dst: mhd_response_remove_auth_digest_headers
      Src: /src/mhd2/src/mhd2/response_auth_digest.c:491,1
    - Dst: mhd_DLINKEDL_GET_FIRST
      Src: /src/mhd2/src/mhd2/response_auth_digest.c:495,1
    CyclomaticComplexity: 22
    EdgeCount: 22
    ICount: 37
    argCount: 9
    argNames:
    - response
    - realm
    - opaque
    - domain
    - indicate_stale
    - mqop
    - malgo
    - userhash_support
    - prefer_utf8
    argTypes:
    - struct MHD_Response*
    - char*
    - char*
    - char*
    - enum MHD_Bool
    - enum MHD_DigestAuthMultiQOP
    - enum MHD_DigestAuthMultiAlgo
    - enum MHD_Bool
    - enum MHD_Bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 499
      start: 387
    functionDepth: 2
    functionLinenumber: 387
    functionLinenumberEnd: 499
    functionName: "(1)\nMHD_FN_PAR_NONNULL_ (2) MHD_FN_PAR_CSTR_ (2)\nMHD_FN_PAR_CSTR_
      (3) MHD_FN_PAR_CSTR_ (4) enum MHD_StatusCode\nresponse_add_auth_digest_challenge_int
      (struct MHD_Response *restrict response,\n                                        const
      char *restrict realm,\n                                        const char *restrict
      opaque,\n                                        const char *restrict domain,\n
      \                                       enum MHD_Bool indicate_stale,\n                                        enum
      MHD_DigestAuthMultiQOP mqop,\n                                        enum MHD_DigestAuthMultiAlgo
      malgo,\n                                        enum MHD_Bool userhash_support,\n
      \                                       enum MHD_Bool prefer_utf8)"
    functionSourceFile: /src/mhd2/src/mhd2/response_auth_digest.c
    functionUses: 0
    functionsReached:
    - memchr
    - response_add_auth_digest_challenge_alg
    - mhd_response_remove_auth_digest_headers
    - strlen
    - mhd_DLINKEDL_GET_FIRST
    linkageType: ''
    returnType: MHD_FN_PAR_NONNULL_
    signature: "MHD_FN_PAR_NONNULL_ (1)\nMHD_FN_PAR_NONNULL_ (2) MHD_FN_PAR_CSTR_
      (2)\nMHD_FN_PAR_CSTR_ (3) MHD_FN_PAR_CSTR_ (4) enum MHD_StatusCode\nresponse_add_auth_digest_challenge_int
      (struct MHD_Response *restrict response,\n                                        const
      char *restrict realm,\n                                        const char *restrict
      opaque,\n                                        const char *restrict domain,\n
      \                                       enum MHD_Bool indicate_stale,\n                                        enum
      MHD_DigestAuthMultiQOP mqop,\n                                        enum MHD_DigestAuthMultiAlgo
      malgo,\n                                        enum MHD_Bool userhash_support,\n
      \                                       enum MHD_Bool prefer_utf8)"
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: mhd_mutex_lock
      Src: /src/mhd2/src/mhd2/response_auth_digest.c:529,1
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/response_auth_digest.c:531,1
    - Dst: mhd_atomic_counter_get
      Src: /src/mhd2/src/mhd2/response_auth_digest.c:531,1
    - Dst: mhd_DLINKEDL_GET_FIRST
      Src: /src/mhd2/src/mhd2/response_auth_digest.c:538,1
    - Dst: response_add_auth_digest_challenge_int
      Src: /src/mhd2/src/mhd2/response_auth_digest.c:541,1
    - Dst: mhd_mutex_unlock_chk
      Src: /src/mhd2/src/mhd2/response_auth_digest.c:552,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 22
    argCount: 9
    argNames:
    - MHD_RESTRICT
    - MHD_RESTRICT
    - MHD_RESTRICT
    - MHD_RESTRICT
    - indicate_stale
    - mqop
    - malgo
    - userhash_support
    - prefer_utf8
    argTypes:
    - struct MHD_Response*
    - char*
    - char*
    - char*
    - enum MHD_Bool
    - enum MHD_DigestAuthMultiQOP
    - enum MHD_DigestAuthMultiAlgo
    - enum MHD_Bool
    - enum MHD_Bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 555
      start: 504
    functionDepth: 1
    functionLinenumber: 504
    functionLinenumberEnd: 555
    functionName: MHD_response_add_auth_digest_challenge
    functionSourceFile: /src/mhd2/src/mhd2/response_auth_digest.c
    functionUses: 3
    functionsReached:
    - mhd_mutex_lock
    - mhd_mutex_unlock_chk
    - mhd_atomic_counter_get
    - response_add_auth_digest_challenge_int
    - mhd_assert
    - mhd_DLINKEDL_GET_FIRST
    linkageType: ''
    returnType: enum MHD_StatusCode
    signature: "enum MHD_StatusCode MHD_response_add_auth_digest_challenge (\n  struct
      MHD_Response *MHD_RESTRICT response,\n  const char *MHD_RESTRICT realm,\n  const
      char *MHD_RESTRICT opaque,\n  const char *MHD_RESTRICT domain,\n  enum MHD_Bool
      indicate_stale,\n  enum MHD_DigestAuthMultiQOP mqop,\n  enum MHD_DigestAuthMultiAlgo
      malgo,\n  enum MHD_Bool userhash_support,\n  enum MHD_Bool prefer_utf8)"
  - BBCount: 14
    BranchProfiles: []
    Callsites:
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/conn_tls_check.c:68,1
    - Dst: mhd_C_HAS_TLS
      Src: /src/mhd2/src/mhd2/conn_tls_check.c:68,1
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/conn_tls_check.c:69,1
    - Dst: mhd_D_HAS_TLS
      Src: /src/mhd2/src/mhd2/conn_tls_check.c:69,1
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/conn_tls_check.c:70,1
    - Dst: mhd_socket_error_get_from_socket
      Src: /src/mhd2/src/mhd2/conn_tls_check.c:81,1
    - Dst: mhd_conn_start_closing_skt_err
      Src: /src/mhd2/src/mhd2/conn_tls_check.c:82,1
    - Dst: mhd_tls_conn_handshake
      Src: /src/mhd2/src/mhd2/conn_tls_check.c:91,1
    - Dst: mhd_tls_conn_has_data_in
      Src: /src/mhd2/src/mhd2/conn_tls_check.c:106,1
    - Dst: mhd_conn_event_loop_state_update
      Src: /src/mhd2/src/mhd2/conn_tls_check.c:110,1
    - Dst: mhd_LOG_MSG
      Src: /src/mhd2/src/mhd2/conn_tls_check.c:138,1
    - Dst: mhd_conn_start_closing_skt_err
      Src: /src/mhd2/src/mhd2/conn_tls_check.c:142,1
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/conn_tls_check.c:146,1
    - Dst: mhd_UNREACHABLE
      Src: /src/mhd2/src/mhd2/conn_tls_check.c:147,1
    - Dst: mhd_conn_mark_ready_update
      Src: /src/mhd2/src/mhd2/conn_tls_check.c:151,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 53
    argCount: 1
    argNames:
    - c
    argTypes:
    - struct MHD_Connection*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 153
      start: 65
    functionDepth: 1
    functionLinenumber: 65
    functionLinenumberEnd: 153
    functionName: mhd_conn_tls_check
    functionSourceFile: /src/mhd2/src/mhd2/conn_tls_check.c
    functionUses: 2
    functionsReached:
    - mhd_C_HAS_TLS
    - mhd_socket_error_get_from_socket
    - mhd_conn_start_closing_skt_err
    - mhd_tls_conn_has_data_in
    - mhd_LOG_MSG
    - mhd_conn_event_loop_state_update
    - mhd_UNREACHABLE
    - mhd_D_HAS_TLS
    - mhd_assert
    - mhd_tls_conn_handshake
    - mhd_conn_mark_ready_update
    linkageType: ''
    returnType: MHD_INTERNAL
    signature: MHD_INTERNAL mhd_conn_tls_check (struct MHD_Connection *restrict c)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/conn_mark_ready.h:69,1
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/conn_mark_ready.h:72,1
    - Dst: mhd_DLINKEDL_GET_NEXT
      Src: /src/mhd2/src/mhd2/conn_mark_ready.h:72,1
    - Dst: mhd_DLINKEDL_GET_PREV
      Src: /src/mhd2/src/mhd2/conn_mark_ready.h:73,1
    - Dst: mhd_DLINKEDL_GET_FIRST
      Src: /src/mhd2/src/mhd2/conn_mark_ready.h:74,1
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/conn_mark_ready.h:77,1
    - Dst: mhd_DLINKEDL_GET_NEXT
      Src: /src/mhd2/src/mhd2/conn_mark_ready.h:77,1
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/conn_mark_ready.h:78,1
    - Dst: mhd_DLINKEDL_GET_PREV
      Src: /src/mhd2/src/mhd2/conn_mark_ready.h:78,1
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/conn_mark_ready.h:79,1
    - Dst: mhd_DLINKEDL_GET_FIRST
      Src: /src/mhd2/src/mhd2/conn_mark_ready.h:79,1
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/conn_mark_ready.h:80,1
    - Dst: mhd_DLINKEDL_GET_LAST
      Src: /src/mhd2/src/mhd2/conn_mark_ready.h:80,1
    - Dst: mhd_DLINKEDL_INS_LAST
      Src: /src/mhd2/src/mhd2/conn_mark_ready.h:82,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 12
    argCount: 2
    argNames:
    - c
    - d
    argTypes:
    - struct MHD_Connection*
    - struct MHD_Daemon*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 84
      start: 65
    functionDepth: 1
    functionLinenumber: 65
    functionLinenumberEnd: 84
    functionName: mhd_conn_mark_ready
    functionSourceFile: /src/mhd2/src/mhd2/conn_mark_ready.h
    functionUses: 0
    functionsReached:
    - mhd_DLINKEDL_GET_LAST
    - mhd_DLINKEDL_INS_LAST
    - mhd_DLINKEDL_GET_NEXT
    - mhd_DLINKEDL_GET_PREV
    - mhd_assert
    - mhd_DLINKEDL_GET_FIRST
    linkageType: ''
    returnType: mhd_static_inline
    signature: "mhd_static_inline mhd_conn_mark_ready (struct MHD_Connection *restrict
      c,\n                     struct MHD_Daemon *restrict d)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/conn_mark_ready.h:97,1
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/conn_mark_ready.h:100,1
    - Dst: mhd_DLINKEDL_GET_NEXT
      Src: /src/mhd2/src/mhd2/conn_mark_ready.h:100,1
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/conn_mark_ready.h:101,1
    - Dst: mhd_DLINKEDL_GET_PREV
      Src: /src/mhd2/src/mhd2/conn_mark_ready.h:101,1
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/conn_mark_ready.h:102,1
    - Dst: mhd_DLINKEDL_GET_FIRST
      Src: /src/mhd2/src/mhd2/conn_mark_ready.h:102,1
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/conn_mark_ready.h:103,1
    - Dst: mhd_DLINKEDL_GET_LAST
      Src: /src/mhd2/src/mhd2/conn_mark_ready.h:103,1
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/conn_mark_ready.h:106,1
    - Dst: mhd_DLINKEDL_GET_NEXT
      Src: /src/mhd2/src/mhd2/conn_mark_ready.h:106,1
    - Dst: mhd_DLINKEDL_GET_PREV
      Src: /src/mhd2/src/mhd2/conn_mark_ready.h:107,1
    - Dst: mhd_DLINKEDL_GET_FIRST
      Src: /src/mhd2/src/mhd2/conn_mark_ready.h:108,1
    - Dst: mhd_DLINKEDL_DEL
      Src: /src/mhd2/src/mhd2/conn_mark_ready.h:110,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 12
    argCount: 2
    argNames:
    - c
    - d
    argTypes:
    - struct MHD_Connection*
    - struct MHD_Daemon*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 112
      start: 93
    functionDepth: 1
    functionLinenumber: 93
    functionLinenumberEnd: 112
    functionName: mhd_conn_mark_unready
    functionSourceFile: /src/mhd2/src/mhd2/conn_mark_ready.h
    functionUses: 0
    functionsReached:
    - mhd_DLINKEDL_GET_LAST
    - mhd_DLINKEDL_DEL
    - mhd_DLINKEDL_GET_NEXT
    - mhd_DLINKEDL_GET_PREV
    - mhd_assert
    - mhd_DLINKEDL_GET_FIRST
    linkageType: ''
    returnType: mhd_static_inline
    signature: "mhd_static_inline mhd_conn_mark_unready (struct MHD_Connection *restrict
      c,\n                       struct MHD_Daemon *restrict d)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: mhd_C_HAS_TLS_DATA_IN
      Src: /src/mhd2/src/mhd2/conn_mark_ready.h:129,1
    - Dst: mhd_conn_mark_ready
      Src: /src/mhd2/src/mhd2/conn_mark_ready.h:132,1
    - Dst: mhd_conn_mark_unready
      Src: /src/mhd2/src/mhd2/conn_mark_ready.h:134,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 4
    argCount: 3
    argNames:
    - c
    - force_ready
    - d
    argTypes:
    - struct MHD_Connection*
    - bool
    - struct MHD_Daemon*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 135
      start: 122
    functionDepth: 2
    functionLinenumber: 122
    functionLinenumberEnd: 135
    functionName: mhd_conn_mark_ready_update3
    functionSourceFile: /src/mhd2/src/mhd2/conn_mark_ready.h
    functionUses: 0
    functionsReached:
    - mhd_conn_mark_unready
    - mhd_conn_mark_ready
    - mhd_C_HAS_TLS_DATA_IN
    linkageType: ''
    returnType: mhd_static_inline
    signature: "mhd_static_inline mhd_conn_mark_ready_update3 (struct MHD_Connection
      *restrict c,\n                             bool force_ready,\n                             struct
      MHD_Daemon *restrict d)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: mhd_conn_mark_ready_update3
      Src: /src/mhd2/src/mhd2/conn_mark_ready.h:150,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - c
    - d
    argTypes:
    - struct MHD_Connection*
    - struct MHD_Daemon*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 151
      start: 146
    functionDepth: 3
    functionLinenumber: 146
    functionLinenumberEnd: 151
    functionName: mhd_conn_mark_ready_update2
    functionSourceFile: /src/mhd2/src/mhd2/conn_mark_ready.h
    functionUses: 0
    functionsReached:
    - mhd_conn_mark_ready_update3
    linkageType: ''
    returnType: mhd_static_inline
    signature: "mhd_static_inline mhd_conn_mark_ready_update2 (struct MHD_Connection
      *restrict c,\n                             struct MHD_Daemon *restrict d)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: mhd_conn_mark_ready_update2
      Src: /src/mhd2/src/mhd2/conn_mark_ready.h:164,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - c
    argTypes:
    - struct MHD_Connection*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 166
      start: 161
    functionDepth: 4
    functionLinenumber: 161
    functionLinenumberEnd: 166
    functionName: mhd_conn_mark_ready_update
    functionSourceFile: /src/mhd2/src/mhd2/conn_mark_ready.h
    functionUses: 1
    functionsReached:
    - mhd_conn_mark_ready_update2
    linkageType: ''
    returnType: mhd_static_inline
    signature: mhd_static_inline mhd_conn_mark_ready_update (struct MHD_Connection
      *restrict c)
  - BBCount: 20
    BranchProfiles: []
    Callsites:
    - Dst: mhd_mutex_lock
      Src: /src/mhd2/src/mhd2/response_set_options.c:37,1
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/response_set_options.c:39,1
    - Dst: mhd_atomic_counter_get
      Src: /src/mhd2/src/mhd2/response_set_options.c:39,1
    - Dst: mhd_mutex_unlock_chk
      Src: /src/mhd2/src/mhd2/response_set_options.c:42,1
    - Dst: response_make_reusable
      Src: /src/mhd2/src/mhd2/response_set_options.c:68,1
    - Dst: mhd_mutex_unlock_chk
      Src: /src/mhd2/src/mhd2/response_set_options.c:110,1
    CyclomaticComplexity: 23
    EdgeCount: 23
    ICount: 64
    argCount: 3
    argNames:
    - MHD_RESTRICT
    - MHD_RESTRICT
    - options_max_num
    argTypes:
    - struct MHD_Response*
    - struct MHD_ResponseOptionAndValue*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 113
      start: 20
    functionDepth: 1
    functionLinenumber: 20
    functionLinenumberEnd: 113
    functionName: MHD_response_set_options
    functionSourceFile: /src/mhd2/src/mhd2/response_set_options.c
    functionUses: 0
    functionsReached:
    - mhd_mutex_lock
    - mhd_mutex_unlock_chk
    - response_make_reusable
    - mhd_atomic_counter_get
    - mhd_assert
    linkageType: ''
    returnType: MHD_FN_PAR_NONNULL_ALL_
    signature: "MHD_FN_PAR_NONNULL_ALL_ MHD_response_set_options (\n  struct MHD_Response
      *MHD_RESTRICT response,\n  const struct MHD_ResponseOptionAndValue *MHD_RESTRICT
      options,\n  size_t options_max_num)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: fprintf
      Src: /src/mhd2/src/mhd2/tls_gnu_funcs.c:93,1
    - Dst: fflush
      Src: /src/mhd2/src/mhd2/tls_gnu_funcs.c:96,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - level
    - msg
    argTypes:
    - int
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 97
      start: 90
    functionDepth: 0
    functionLinenumber: 90
    functionLinenumberEnd: 97
    functionName: mhd_tls_gnu_debug_print
    functionSourceFile: /src/mhd2/src/mhd2/tls_gnu_funcs.c
    functionUses: 0
    functionsReached:
    - fprintf
    - fflush
    linkageType: ''
    returnType: void
    signature: void mhd_tls_gnu_debug_print (int level, const char *msg)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - message
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 103
      start: 100
    functionDepth: 0
    functionLinenumber: 100
    functionLinenumberEnd: 103
    functionName: mhd_DBG_PRINT_TLS_INFO_MSG
    functionSourceFile: /src/mhd2/src/mhd2/tls_gnu_funcs.c
    functionUses: 5
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: mhd_DBG_PRINT_TLS_INFO_MSG(message)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - message
    - ','
    - param
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 106
      start: 103
    functionDepth: 0
    functionLinenumber: 103
    functionLinenumberEnd: 106
    functionName: mhd_DBG_PRINT_TLS_INFO_PARAM1
    functionSourceFile: /src/mhd2/src/mhd2/tls_gnu_funcs.c
    functionUses: 3
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: mhd_DBG_PRINT_TLS_INFO_PARAM1(message, param)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 2
    argNames:
    - (
    - )
    argTypes:
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 108
      start: 107
    functionDepth: 0
    functionLinenumber: 107
    functionLinenumberEnd: 108
    functionName: mhd_DBG_PRINT_TLS_ERRS
    functionSourceFile: /src/mhd2/src/mhd2/tls_gnu_funcs.c
    functionUses: 14
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: mhd_DBG_PRINT_TLS_ERRS()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - message
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 109
      start: 108
    functionDepth: 0
    functionLinenumber: 108
    functionLinenumberEnd: 109
    functionName: mhd_DBG_PRINT_TLS_INFO_MSG
    functionSourceFile: /src/mhd2/src/mhd2/tls_gnu_funcs.c
    functionUses: 5
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: mhd_DBG_PRINT_TLS_INFO_MSG(message)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - message
    - ','
    - param
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 110
      start: 109
    functionDepth: 0
    functionLinenumber: 109
    functionLinenumberEnd: 110
    functionName: mhd_DBG_PRINT_TLS_INFO_PARAM1
    functionSourceFile: /src/mhd2/src/mhd2/tls_gnu_funcs.c
    functionUses: 3
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: mhd_DBG_PRINT_TLS_INFO_PARAM1(message, param)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: gnutls_check_version
      Src: /src/mhd2/src/mhd2/tls_gnu_funcs.c:148,1
    - Dst: gnutls_global_init
      Src: /src/mhd2/src/mhd2/tls_gnu_funcs.c:150,1
    - Dst: gnutls_global_set_log_function
      Src: /src/mhd2/src/mhd2/tls_gnu_funcs.c:153,1
    - Dst: gnutls_global_set_log_level
      Src: /src/mhd2/src/mhd2/tls_gnu_funcs.c:154,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 156
      start: 142
    functionDepth: 0
    functionLinenumber: 142
    functionLinenumberEnd: 156
    functionName: mhd_tls_gnu_global_init
    functionSourceFile: /src/mhd2/src/mhd2/tls_gnu_funcs.c
    functionUses: 0
    functionsReached:
    - gnutls_global_init
    - gnutls_global_set_log_level
    - gnutls_global_set_log_function
    - gnutls_check_version
    linkageType: ''
    returnType: MHD_INTERNAL
    signature: MHD_INTERNAL mhd_tls_gnu_global_init (void)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: gnutls_global_set_log_level
      Src: /src/mhd2/src/mhd2/tls_gnu_funcs.c:163,1
    - Dst: gnutls_global_deinit
      Src: /src/mhd2/src/mhd2/tls_gnu_funcs.c:167,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 169
      start: 159
    functionDepth: 0
    functionLinenumber: 159
    functionLinenumberEnd: 169
    functionName: mhd_tls_gnu_global_deinit
    functionSourceFile: /src/mhd2/src/mhd2/tls_gnu_funcs.c
    functionUses: 0
    functionsReached:
    - gnutls_global_deinit
    - gnutls_global_set_log_level
    linkageType: ''
    returnType: MHD_INTERNAL
    signature: MHD_INTERNAL mhd_tls_gnu_global_deinit (void)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 176
      start: 172
    functionDepth: 0
    functionLinenumber: 172
    functionLinenumberEnd: 176
    functionName: mhd_tls_gnu_is_inited_fine
    functionSourceFile: /src/mhd2/src/mhd2/tls_gnu_funcs.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: MHD_INTERNAL
    signature: MHD_INTERNAL mhd_tls_gnu_is_inited_fine (void)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/tls_gnu_funcs.c:192,1
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/tls_gnu_funcs.c:193,1
    - Dst: mhd_LOG_MSG
      Src: /src/mhd2/src/mhd2/tls_gnu_funcs.c:197,1
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/tls_gnu_funcs.c:201,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 2
    argNames:
    - d
    - s
    argTypes:
    - struct MHD_Daemon*
    - struct DaemonOptions*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 204
      start: 188
    functionDepth: 1
    functionLinenumber: 188
    functionLinenumberEnd: 204
    functionName: check_app_tls_settings
    functionSourceFile: /src/mhd2/src/mhd2/tls_gnu_funcs.c
    functionUses: 2
    functionsReached:
    - mhd_LOG_MSG
    - mhd_assert
    linkageType: ''
    returnType: MHD_FN_PAR_NONNULL_ALL_
    signature: "MHD_FN_PAR_NONNULL_ALL_ check_app_tls_settings (struct MHD_Daemon
      *restrict d,\n                        struct DaemonOptions *restrict s)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: gnutls_certificate_set_known_dh_params
      Src: /src/mhd2/src/mhd2/tls_gnu_funcs.c:229,1
    - Dst: gnutls_dh_params_init
      Src: /src/mhd2/src/mhd2/tls_gnu_funcs.c:234,1
    - Dst: mhd_DROP_CONST
      Src: /src/mhd2/src/mhd2/tls_gnu_funcs.c:237,1
    - Dst: gnutls_dh_params_import_pkcs3
      Src: /src/mhd2/src/mhd2/tls_gnu_funcs.c:240,1
    - Dst: gnutls_certificate_set_dh_params
      Src: /src/mhd2/src/mhd2/tls_gnu_funcs.c:244,1
    - Dst: gnutls_dh_params_deinit
      Src: /src/mhd2/src/mhd2/tls_gnu_funcs.c:249,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 14
    argCount: 1
    argNames:
    - d_tls
    argTypes:
    - struct mhd_TlsGnuDaemonData*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 255
      start: 219
    functionDepth: 1
    functionLinenumber: 219
    functionLinenumberEnd: 255
    functionName: daemon_init_dh_data
    functionSourceFile: /src/mhd2/src/mhd2/tls_gnu_funcs.c
    functionUses: 0
    functionsReached:
    - gnutls_dh_params_deinit
    - gnutls_certificate_set_dh_params
    - gnutls_dh_params_init
    - gnutls_certificate_set_known_dh_params
    - gnutls_dh_params_import_pkcs3
    - mhd_DROP_CONST
    linkageType: ''
    returnType: MHD_FN_PAR_NONNULL_ALL_
    signature: MHD_FN_PAR_NONNULL_ALL_ daemon_init_dh_data (struct mhd_TlsGnuDaemonData
      *restrict d_tls)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/tls_gnu_funcs.c:266,1
    - Dst: gnutls_dh_params_deinit
      Src: /src/mhd2/src/mhd2/tls_gnu_funcs.c:267,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - d_tls
    argTypes:
    - struct mhd_TlsGnuDaemonData*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 271
      start: 262
    functionDepth: 1
    functionLinenumber: 262
    functionLinenumberEnd: 271
    functionName: daemon_deinit_dh_data
    functionSourceFile: /src/mhd2/src/mhd2/tls_gnu_funcs.c
    functionUses: 0
    functionsReached:
    - mhd_assert
    - gnutls_dh_params_deinit
    linkageType: ''
    returnType: MHD_FN_PAR_NONNULL_ALL_
    signature: MHD_FN_PAR_NONNULL_ALL_ daemon_deinit_dh_data (struct mhd_TlsGnuDaemonData
      *restrict d_tls)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: gnutls_certificate_allocate_credentials
      Src: /src/mhd2/src/mhd2/tls_gnu_funcs.c:293,1
    - Dst: mhd_LOG_MSG
      Src: /src/mhd2/src/mhd2/tls_gnu_funcs.c:295,1
    - Dst: strlen
      Src: /src/mhd2/src/mhd2/tls_gnu_funcs.c:301,1
    - Dst: strlen
      Src: /src/mhd2/src/mhd2/tls_gnu_funcs.c:302,1
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/tls_gnu_funcs.c:304,1
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/tls_gnu_funcs.c:305,1
    - Dst: mhd_DROP_CONST
      Src: /src/mhd2/src/mhd2/tls_gnu_funcs.c:317,1
    - Dst: mhd_DROP_CONST
      Src: /src/mhd2/src/mhd2/tls_gnu_funcs.c:320,1
    - Dst: gnutls_certificate_set_x509_key_mem2
      Src: /src/mhd2/src/mhd2/tls_gnu_funcs.c:322,1
    - Dst: mhd_LOG_PRINT
      Src: /src/mhd2/src/mhd2/tls_gnu_funcs.c:330,1
    - Dst: mhd_LOG_FMT
      Src: /src/mhd2/src/mhd2/tls_gnu_funcs.c:332,1
    - Dst: gnutls_strerror
      Src: /src/mhd2/src/mhd2/tls_gnu_funcs.c:334,1
    - Dst: daemon_init_dh_data
      Src: /src/mhd2/src/mhd2/tls_gnu_funcs.c:339,1
    - Dst: mhd_LOG_MSG
      Src: /src/mhd2/src/mhd2/tls_gnu_funcs.c:341,1
    - Dst: gnutls_certificate_free_credentials
      Src: /src/mhd2/src/mhd2/tls_gnu_funcs.c:351,1
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/tls_gnu_funcs.c:352,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 30
    argCount: 3
    argNames:
    - d
    - d_tls
    - s
    argTypes:
    - struct MHD_Daemon*
    - struct mhd_TlsGnuDaemonData*
    - struct DaemonOptions*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 354
      start: 283
    functionDepth: 2
    functionLinenumber: 283
    functionLinenumberEnd: 354
    functionName: daemon_init_credentials
    functionSourceFile: /src/mhd2/src/mhd2/tls_gnu_funcs.c
    functionUses: 1
    functionsReached:
    - daemon_init_dh_data
    - mhd_LOG_FMT
    - mhd_LOG_MSG
    - gnutls_certificate_set_x509_key_mem2
    - mhd_LOG_PRINT
    - gnutls_strerror
    - gnutls_certificate_allocate_credentials
    - strlen
    - mhd_assert
    - mhd_DROP_CONST
    - gnutls_certificate_free_credentials
    linkageType: ''
    returnType: MHD_FN_PAR_NONNULL_ALL_
    signature: "MHD_FN_PAR_NONNULL_ALL_ daemon_init_credentials (struct MHD_Daemon
      *restrict d,\n                         struct mhd_TlsGnuDaemonData *restrict
      d_tls,\n                         struct DaemonOptions *restrict s)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/tls_gnu_funcs.c:364,1
    - Dst: gnutls_certificate_free_credentials
      Src: /src/mhd2/src/mhd2/tls_gnu_funcs.c:367,1
    - Dst: daemon_deinit_dh_data
      Src: /src/mhd2/src/mhd2/tls_gnu_funcs.c:368,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - d_tls
    argTypes:
    - struct mhd_TlsGnuDaemonData*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 369
      start: 361
    functionDepth: 2
    functionLinenumber: 361
    functionLinenumberEnd: 369
    functionName: daemon_deinit_credentials
    functionSourceFile: /src/mhd2/src/mhd2/tls_gnu_funcs.c
    functionUses: 2
    functionsReached:
    - daemon_deinit_dh_data
    - mhd_assert
    - gnutls_certificate_free_credentials
    linkageType: ''
    returnType: MHD_FN_PAR_NONNULL_ALL_
    signature: MHD_FN_PAR_NONNULL_ALL_ daemon_deinit_credentials (struct mhd_TlsGnuDaemonData
      *restrict d_tls)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: mhd_DBG_PRINT_TLS_INFO_PARAM1
      Src: /src/mhd2/src/mhd2/tls_gnu_funcs.c:384,1
    - Dst: gnutls_priority_init
      Src: /src/mhd2/src/mhd2/tls_gnu_funcs.c:387,1
    - Dst: mhd_DBG_PRINT_TLS_INFO_PARAM1
      Src: /src/mhd2/src/mhd2/tls_gnu_funcs.c:393,1
    - Dst: mhd_DBG_PRINT_TLS_INFO_PARAM1
      Src: /src/mhd2/src/mhd2/tls_gnu_funcs.c:398,1
    - Dst: gnutls_strerror
      Src: /src/mhd2/src/mhd2/tls_gnu_funcs.c:399,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 9
    argCount: 2
    argNames:
    - prio_string
    - d_tls
    argTypes:
    - char*
    - struct mhd_TlsGnuDaemonData*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 402
      start: 379
    functionDepth: 0
    functionLinenumber: 379
    functionLinenumberEnd: 402
    functionName: "(1) MHD_FN_PAR_NONNULL_ (2) MHD_FN_PAR_INOUT_ (2) int\ntry_prio_string
      (const char *restrict prio_string,\n                 struct mhd_TlsGnuDaemonData
      *restrict d_tls)"
    functionSourceFile: /src/mhd2/src/mhd2/tls_gnu_funcs.c
    functionUses: 0
    functionsReached:
    - gnutls_priority_init
    - mhd_DBG_PRINT_TLS_INFO_PARAM1
    - gnutls_strerror
    linkageType: ''
    returnType: MHD_FN_PAR_CSTR_
    signature: "MHD_FN_PAR_CSTR_ (1) MHD_FN_PAR_NONNULL_ (2) MHD_FN_PAR_INOUT_ (2)
      int\ntry_prio_string (const char *restrict prio_string,\n                 struct
      mhd_TlsGnuDaemonData *restrict d_tls)"
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: strlen
      Src: /src/mhd2/src/mhd2/tls_gnu_funcs.c:439,1
    - Dst: mhd_ASSUME
      Src: /src/mhd2/src/mhd2/tls_gnu_funcs.c:442,1
    - Dst: mhd_str_to_uppercase_bin_n
      Src: /src/mhd2/src/mhd2/tls_gnu_funcs.c:444,1
    - Dst: try_prio_string
      Src: /src/mhd2/src/mhd2/tls_gnu_funcs.c:448,1
    - Dst: mhd_LOG_PRINT
      Src: /src/mhd2/src/mhd2/tls_gnu_funcs.c:455,1
    - Dst: mhd_LOG_FMT
      Src: /src/mhd2/src/mhd2/tls_gnu_funcs.c:459,1
    - Dst: gnutls_strerror
      Src: /src/mhd2/src/mhd2/tls_gnu_funcs.c:460,1
    - Dst: mhd_ARR_NUM_ELEMS
      Src: /src/mhd2/src/mhd2/tls_gnu_funcs.c:466,1
    - Dst: mhd_DBG_PRINT_TLS_INFO_MSG
      Src: /src/mhd2/src/mhd2/tls_gnu_funcs.c:475,1
    - Dst: try_prio_string
      Src: /src/mhd2/src/mhd2/tls_gnu_funcs.c:483,1
    - Dst: mhd_LOG_MSG
      Src: /src/mhd2/src/mhd2/tls_gnu_funcs.c:492,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 28
    argCount: 3
    argNames:
    - d
    - d_tls
    - s
    argTypes:
    - struct MHD_Daemon*
    - struct mhd_TlsGnuDaemonData*
    - struct DaemonOptions*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 495
      start: 429
    functionDepth: 1
    functionLinenumber: 429
    functionLinenumberEnd: 495
    functionName: daemon_init_priorities_cache
    functionSourceFile: /src/mhd2/src/mhd2/tls_gnu_funcs.c
    functionUses: 0
    functionsReached:
    - mhd_str_to_uppercase_bin_n
    - mhd_ASSUME
    - mhd_LOG_FMT
    - try_prio_string
    - mhd_LOG_MSG
    - mhd_LOG_PRINT
    - gnutls_strerror
    - mhd_ARR_NUM_ELEMS
    - mhd_DBG_PRINT_TLS_INFO_MSG
    - strlen
    linkageType: ''
    returnType: MHD_FN_PAR_NONNULL_ALL_
    signature: "MHD_FN_PAR_NONNULL_ALL_ daemon_init_priorities_cache (struct MHD_Daemon
      *restrict d,\n                              struct mhd_TlsGnuDaemonData *restrict
      d_tls,\n                              struct DaemonOptions *restrict s)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/tls_gnu_funcs.c:506,1
    - Dst: gnutls_priority_deinit
      Src: /src/mhd2/src/mhd2/tls_gnu_funcs.c:510,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - d_tls
    argTypes:
    - struct mhd_TlsGnuDaemonData*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 511
      start: 502
    functionDepth: 1
    functionLinenumber: 502
    functionLinenumberEnd: 511
    functionName: daemon_deinit_priorities_cache
    functionSourceFile: /src/mhd2/src/mhd2/tls_gnu_funcs.c
    functionUses: 0
    functionsReached:
    - gnutls_priority_deinit
    - mhd_assert
    linkageType: ''
    returnType: MHD_FN_PAR_NONNULL_ALL_
    signature: MHD_FN_PAR_NONNULL_ALL_ daemon_deinit_priorities_cache (struct mhd_TlsGnuDaemonData
      *restrict d_tls)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/tls_gnu_funcs.c:524,1
    - Dst: check_app_tls_settings
      Src: /src/mhd2/src/mhd2/tls_gnu_funcs.c:526,1
    - Dst: mhd_calloc
      Src: /src/mhd2/src/mhd2/tls_gnu_funcs.c:531,1
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/tls_gnu_funcs.c:552,1
    - Dst: mhd_ARR_NUM_ELEMS
      Src: /src/mhd2/src/mhd2/tls_gnu_funcs.c:552,1
    - Dst: daemon_init_credentials
      Src: /src/mhd2/src/mhd2/tls_gnu_funcs.c:555,1
    - Dst: daemon_init_priorities_cache
      Src: /src/mhd2/src/mhd2/tls_gnu_funcs.c:560,1
    - Dst: daemon_deinit_credentials
      Src: /src/mhd2/src/mhd2/tls_gnu_funcs.c:567,1
    - Dst: free
      Src: /src/mhd2/src/mhd2/tls_gnu_funcs.c:570,1
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/tls_gnu_funcs.c:572,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 28
    argCount: 3
    argNames:
    - d
    - s
    - p_d_tls
    argTypes:
    - struct MHD_Daemon*
    - struct DaemonOptions*
    - struct mhd_TlsGnuDaemonData**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 574
      start: 514
    functionDepth: 3
    functionLinenumber: 514
    functionLinenumberEnd: 574
    functionName: mhd_tls_gnu_daemon_init3
    functionSourceFile: /src/mhd2/src/mhd2/tls_gnu_funcs.c
    functionUses: 0
    functionsReached:
    - daemon_init_priorities_cache
    - daemon_init_credentials
    - daemon_deinit_credentials
    - free
    - mhd_calloc
    - mhd_ARR_NUM_ELEMS
    - check_app_tls_settings
    - mhd_assert
    linkageType: ''
    returnType: MHD_INTERNAL
    signature: "MHD_INTERNAL mhd_tls_gnu_daemon_init3 (struct MHD_Daemon *restrict
      d,\n                          struct DaemonOptions *restrict s,\n                          struct
      mhd_TlsGnuDaemonData **restrict p_d_tls)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/tls_gnu_funcs.c:581,1
    - Dst: daemon_deinit_priorities_cache
      Src: /src/mhd2/src/mhd2/tls_gnu_funcs.c:582,1
    - Dst: daemon_deinit_credentials
      Src: /src/mhd2/src/mhd2/tls_gnu_funcs.c:583,1
    - Dst: free
      Src: /src/mhd2/src/mhd2/tls_gnu_funcs.c:584,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 1
    argNames:
    - d_tls
    argTypes:
    - struct mhd_TlsGnuDaemonData*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 585
      start: 578
    functionDepth: 2
    functionLinenumber: 578
    functionLinenumberEnd: 585
    functionName: mhd_tls_gnu_daemon_deinit
    functionSourceFile: /src/mhd2/src/mhd2/tls_gnu_funcs.c
    functionUses: 0
    functionsReached:
    - free
    - daemon_deinit_priorities_cache
    - mhd_assert
    - daemon_deinit_credentials
    linkageType: ''
    returnType: void
    signature: void mhd_tls_gnu_daemon_deinit (struct mhd_TlsGnuDaemonData *restrict
      d_tls)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 594
      start: 590
    functionDepth: 0
    functionLinenumber: 590
    functionLinenumberEnd: 594
    functionName: mhd_tls_gnu_conn_get_tls_size_v
    functionSourceFile: /src/mhd2/src/mhd2/tls_gnu_funcs.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: MHD_INTERNAL
    signature: MHD_INTERNAL mhd_tls_gnu_conn_get_tls_size_v (void)
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: gnutls_init
      Src: /src/mhd2/src/mhd2/tls_gnu_funcs.c:620,1
    - Dst: gnutls_handshake_set_timeout
      Src: /src/mhd2/src/mhd2/tls_gnu_funcs.c:626,1
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/tls_gnu_funcs.c:630,1
    - Dst: gnutls_set_default_priority
      Src: /src/mhd2/src/mhd2/tls_gnu_funcs.c:633,1
    - Dst: gnutls_priority_set
      Src: /src/mhd2/src/mhd2/tls_gnu_funcs.c:636,1
    - Dst: gnutls_credentials_set
      Src: /src/mhd2/src/mhd2/tls_gnu_funcs.c:642,1
    - Dst: gnutls_transport_set_int
      Src: /src/mhd2/src/mhd2/tls_gnu_funcs.c:647,1
    - Dst: gnutls_transport_set_ptr
      Src: /src/mhd2/src/mhd2/tls_gnu_funcs.c:650,1
    - Dst: mhd_INT_TO_PTR
      Src: /src/mhd2/src/mhd2/tls_gnu_funcs.c:651,1
    - Dst: gnutls_transport_set_ptr
      Src: /src/mhd2/src/mhd2/tls_gnu_funcs.c:653,1
    - Dst: mhd_UINT_TO_PTR
      Src: /src/mhd2/src/mhd2/tls_gnu_funcs.c:654,1
    - Dst: gnutls_alpn_set_protocols
      Src: /src/mhd2/src/mhd2/tls_gnu_funcs.c:671,1
    - Dst: gnutls_deinit
      Src: /src/mhd2/src/mhd2/tls_gnu_funcs.c:687,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 30
    argCount: 3
    argNames:
    - d_tls
    - sk
    - c_tls
    argTypes:
    - struct mhd_TlsGnuDaemonData*
    - struct mhd_ConnSocket*
    - struct mhd_TlsGnuConnData*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 689
      start: 597
    functionDepth: 1
    functionLinenumber: 597
    functionLinenumberEnd: 689
    functionName: mhd_tls_gnu_conn_init
    functionSourceFile: /src/mhd2/src/mhd2/tls_gnu_funcs.c
    functionUses: 0
    functionsReached:
    - gnutls_transport_set_ptr
    - mhd_INT_TO_PTR
    - gnutls_priority_set
    - gnutls_transport_set_int
    - gnutls_alpn_set_protocols
    - gnutls_deinit
    - gnutls_set_default_priority
    - mhd_UINT_TO_PTR
    - gnutls_init
    - gnutls_handshake_set_timeout
    - mhd_assert
    - gnutls_credentials_set
    linkageType: ''
    returnType: MHD_INTERNAL
    signature: "MHD_INTERNAL mhd_tls_gnu_conn_init (const struct mhd_TlsGnuDaemonData
      *restrict d_tls,\n                       const struct mhd_ConnSocket *sk,\n
      \                      struct mhd_TlsGnuConnData *restrict c_tls)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/tls_gnu_funcs.c:700,1
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/tls_gnu_funcs.c:701,1
    - Dst: gnutls_deinit
      Src: /src/mhd2/src/mhd2/tls_gnu_funcs.c:702,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - c_tls
    argTypes:
    - struct mhd_TlsGnuConnData*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 703
      start: 697
    functionDepth: 1
    functionLinenumber: 697
    functionLinenumberEnd: 703
    functionName: mhd_tls_gnu_conn_deinit
    functionSourceFile: /src/mhd2/src/mhd2/tls_gnu_funcs.c
    functionUses: 0
    functionsReached:
    - gnutls_deinit
    - mhd_assert
    linkageType: ''
    returnType: MHD_INTERNAL
    signature: MHD_INTERNAL mhd_tls_gnu_conn_deinit (struct mhd_TlsGnuConnData *restrict
      c_tls)
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/tls_gnu_funcs.c:714,1
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/tls_gnu_funcs.c:715,1
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/tls_gnu_funcs.c:716,1
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/tls_gnu_funcs.c:717,1
    - Dst: gnutls_handshake
      Src: /src/mhd2/src/mhd2/tls_gnu_funcs.c:719,1
    - Dst: gnutls_record_get_direction
      Src: /src/mhd2/src/mhd2/tls_gnu_funcs.c:734,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 25
    argCount: 1
    argNames:
    - c_tls
    argTypes:
    - struct mhd_TlsGnuConnData*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 751
      start: 709
    functionDepth: 1
    functionLinenumber: 709
    functionLinenumberEnd: 751
    functionName: mhd_tls_gnu_conn_handshake
    functionSourceFile: /src/mhd2/src/mhd2/tls_gnu_funcs.c
    functionUses: 0
    functionsReached:
    - gnutls_handshake
    - gnutls_record_get_direction
    - mhd_assert
    linkageType: ''
    returnType: enum mhd_TlsProcedureResult
    signature: enum mhd_TlsProcedureResult mhd_tls_gnu_conn_handshake (struct mhd_TlsGnuConnData
      *restrict c_tls)
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/tls_gnu_funcs.c:760,1
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/tls_gnu_funcs.c:761,1
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/tls_gnu_funcs.c:762,1
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/tls_gnu_funcs.c:763,1
    - Dst: gnutls_bye
      Src: /src/mhd2/src/mhd2/tls_gnu_funcs.c:765,1
    - Dst: gnutls_record_get_direction
      Src: /src/mhd2/src/mhd2/tls_gnu_funcs.c:781,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 25
    argCount: 1
    argNames:
    - c_tls
    argTypes:
    - struct mhd_TlsGnuConnData*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 798
      start: 755
    functionDepth: 1
    functionLinenumber: 755
    functionLinenumberEnd: 798
    functionName: mhd_tls_gnu_conn_shutdown
    functionSourceFile: /src/mhd2/src/mhd2/tls_gnu_funcs.c
    functionUses: 0
    functionsReached:
    - gnutls_record_get_direction
    - gnutls_bye
    - mhd_assert
    linkageType: ''
    returnType: enum mhd_TlsProcedureResult
    signature: enum mhd_TlsProcedureResult mhd_tls_gnu_conn_shutdown (struct mhd_TlsGnuConnData
      *restrict c_tls)
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: MHD_FN_PAR_DYN_ARR_SIZE_
      Src: /src/mhd2/src/mhd2/tls_gnu_funcs.c:808,1
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/tls_gnu_funcs.c:813,1
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/tls_gnu_funcs.c:814,1
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/tls_gnu_funcs.c:815,1
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/tls_gnu_funcs.c:816,1
    - Dst: gnutls_record_recv
      Src: /src/mhd2/src/mhd2/tls_gnu_funcs.c:822,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 28
    argCount: 4
    argNames:
    - c_tls
    - buf_size
    - buf
    - received
    argTypes:
    - struct mhd_TlsGnuConnData*
    - size_t
    - char[]
    - size_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 851
      start: 805
    functionDepth: 1
    functionLinenumber: 805
    functionLinenumberEnd: 851
    functionName: mhd_tls_gnu_conn_recv
    functionSourceFile: /src/mhd2/src/mhd2/tls_gnu_funcs.c
    functionUses: 0
    functionsReached:
    - gnutls_record_recv
    - mhd_assert
    - MHD_FN_PAR_DYN_ARR_SIZE_
    linkageType: ''
    returnType: enum mhd_SocketError
    signature: "enum mhd_SocketError mhd_tls_gnu_conn_recv (struct mhd_TlsGnuConnData
      *restrict c_tls,\n                       size_t buf_size,\n                       char
      buf[MHD_FN_PAR_DYN_ARR_SIZE_ (buf_size)],\n                       size_t *restrict
      received)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: gnutls_record_check_pending
      Src: /src/mhd2/src/mhd2/tls_gnu_funcs.c:857,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - c_tls
    argTypes:
    - struct mhd_TlsGnuConnData*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 858
      start: 854
    functionDepth: 0
    functionLinenumber: 854
    functionLinenumberEnd: 858
    functionName: mhd_tls_gnu_conn_has_data_in
    functionSourceFile: /src/mhd2/src/mhd2/tls_gnu_funcs.c
    functionUses: 0
    functionsReached:
    - gnutls_record_check_pending
    linkageType: ''
    returnType: MHD_INTERNAL
    signature: MHD_INTERNAL mhd_tls_gnu_conn_has_data_in (struct mhd_TlsGnuConnData
      *restrict c_tls)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: MHD_FN_PAR_DYN_ARR_SIZE_
      Src: /src/mhd2/src/mhd2/tls_gnu_funcs.c:866,1
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/tls_gnu_funcs.c:871,1
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/tls_gnu_funcs.c:872,1
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/tls_gnu_funcs.c:873,1
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/tls_gnu_funcs.c:874,1
    - Dst: gnutls_record_send
      Src: /src/mhd2/src/mhd2/tls_gnu_funcs.c:880,1
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/tls_gnu_funcs.c:884,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 26
    argCount: 4
    argNames:
    - c_tls
    - buf_size
    - buf
    - sent
    argTypes:
    - struct mhd_TlsGnuConnData*
    - size_t
    - char[]
    - size_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 909
      start: 863
    functionDepth: 1
    functionLinenumber: 863
    functionLinenumberEnd: 909
    functionName: mhd_tls_gnu_conn_send4
    functionSourceFile: /src/mhd2/src/mhd2/tls_gnu_funcs.c
    functionUses: 0
    functionsReached:
    - gnutls_record_send
    - mhd_assert
    - MHD_FN_PAR_DYN_ARR_SIZE_
    linkageType: ''
    returnType: enum mhd_SocketError
    signature: "enum mhd_SocketError mhd_tls_gnu_conn_send4 (struct mhd_TlsGnuConnData
      *restrict c_tls,\n                        size_t buf_size,\n                        const
      char buf[MHD_FN_PAR_DYN_ARR_SIZE_ (buf_size)],\n                        size_t
      *restrict sent)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - c_tls
    - tls_sess_out
    argTypes:
    - struct mhd_TlsGnuConnData*
    - union MHD_ConnInfoDynamicTlsSess*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 921
      start: 915
    functionDepth: 0
    functionLinenumber: 915
    functionLinenumberEnd: 921
    functionName: mhd_tls_gnu_conn_get_tls_sess
    functionSourceFile: /src/mhd2/src/mhd2/tls_gnu_funcs.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: "void mhd_tls_gnu_conn_get_tls_sess (\n  struct mhd_TlsGnuConnData
      *restrict c_tls,\n  union MHD_ConnInfoDynamicTlsSess *restrict tls_sess_out)"
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/tls_gnu_funcs.c:931,1
    - Dst: gnutls_protocol_get_version
      Src: /src/mhd2/src/mhd2/tls_gnu_funcs.c:933,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 15
    argCount: 2
    argNames:
    - c_tls
    - tls_ver_out
    argTypes:
    - struct mhd_TlsGnuConnData*
    - struct mhd_StctTlsVersion*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 952
      start: 925
    functionDepth: 1
    functionLinenumber: 925
    functionLinenumberEnd: 952
    functionName: mhd_tls_gnu_conn_get_tls_ver
    functionSourceFile: /src/mhd2/src/mhd2/tls_gnu_funcs.c
    functionUses: 0
    functionsReached:
    - gnutls_protocol_get_version
    - mhd_assert
    linkageType: ''
    returnType: bool
    signature: "bool mhd_tls_gnu_conn_get_tls_ver (struct mhd_TlsGnuConnData *restrict
      c_tls,\n                              struct mhd_StctTlsVersion *restrict tls_ver_out)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: gnutls_alpn_get_selected_protocol
      Src: /src/mhd2/src/mhd2/tls_gnu_funcs.c:962,1
    - Dst: mhd_tls_alpn_decode_n
      Src: /src/mhd2/src/mhd2/tls_gnu_funcs.c:963,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - c_tls
    argTypes:
    - struct mhd_TlsGnuConnData*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 968
      start: 955
    functionDepth: 1
    functionLinenumber: 955
    functionLinenumberEnd: 968
    functionName: mhd_tls_gnu_conn_get_alpn_prot
    functionSourceFile: /src/mhd2/src/mhd2/tls_gnu_funcs.c
    functionUses: 0
    functionsReached:
    - mhd_tls_alpn_decode_n
    - gnutls_alpn_get_selected_protocol
    linkageType: ''
    returnType: MHD_INTERNAL
    signature: MHD_INTERNAL mhd_tls_gnu_conn_get_alpn_prot (struct mhd_TlsGnuConnData
      *restrict c_tls)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - native_handle
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 150
      start: 148
    functionDepth: 0
    functionLinenumber: 148
    functionLinenumberEnd: 150
    functionName: mhd_join_thread
    functionSourceFile: /src/mhd2/src/mhd2/mhd_threads.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: mhd_join_thread(native_handle)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - native_handle
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 159
      start: 156
    functionDepth: 0
    functionLinenumber: 156
    functionLinenumberEnd: 159
    functionName: mhd_join_thread
    functionSourceFile: /src/mhd2/src/mhd2/mhd_threads.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: mhd_join_thread(native_handle)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - handle_ptr
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 180
      start: 178
    functionDepth: 0
    functionLinenumber: 178
    functionLinenumberEnd: 180
    functionName: mhd_thread_handle_set_invalid
    functionSourceFile: /src/mhd2/src/mhd2/mhd_threads.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: mhd_thread_handle_set_invalid(handle_ptr)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - handle_ptr
    - ','
    - native_val
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 186
      start: 184
    functionDepth: 0
    functionLinenumber: 184
    functionLinenumberEnd: 186
    functionName: mhd_thread_handle_set_native
    functionSourceFile: /src/mhd2/src/mhd2/mhd_threads.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: mhd_thread_handle_set_native(handle_ptr, native_val)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - handle_var
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 191
      start: 189
    functionDepth: 0
    functionLinenumber: 189
    functionLinenumberEnd: 191
    functionName: mhd_thread_handle_is_valid
    functionSourceFile: /src/mhd2/src/mhd2/mhd_threads.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: mhd_thread_handle_is_valid(handle_var)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - handle_var
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 196
      start: 194
    functionDepth: 0
    functionLinenumber: 194
    functionLinenumberEnd: 196
    functionName: mhd_thread_handle_get_native
    functionSourceFile: /src/mhd2/src/mhd2/mhd_threads.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: mhd_thread_handle_get_native(handle_var)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - handle_ptr
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 207
      start: 205
    functionDepth: 0
    functionLinenumber: 205
    functionLinenumberEnd: 207
    functionName: mhd_thread_handle_set_invalid
    functionSourceFile: /src/mhd2/src/mhd2/mhd_threads.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: mhd_thread_handle_set_invalid(handle_ptr)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - handle_ptr
    - ','
    - native_val
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 213
      start: 211
    functionDepth: 0
    functionLinenumber: 211
    functionLinenumberEnd: 213
    functionName: mhd_thread_handle_set_native
    functionSourceFile: /src/mhd2/src/mhd2/mhd_threads.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: mhd_thread_handle_set_native(handle_ptr, native_val)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - handle_var
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 218
      start: 216
    functionDepth: 0
    functionLinenumber: 216
    functionLinenumberEnd: 218
    functionName: mhd_thread_handle_is_valid
    functionSourceFile: /src/mhd2/src/mhd2/mhd_threads.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: mhd_thread_handle_is_valid(handle_var)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - handle_var
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 223
      start: 221
    functionDepth: 0
    functionLinenumber: 221
    functionLinenumberEnd: 223
    functionName: mhd_thread_handle_get_native
    functionSourceFile: /src/mhd2/src/mhd2/mhd_threads.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: mhd_thread_handle_get_native(handle_var)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - handle_ptr
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 231
      start: 229
    functionDepth: 0
    functionLinenumber: 229
    functionLinenumberEnd: 231
    functionName: mhd_thread_handle_get_native_ptr
    functionSourceFile: /src/mhd2/src/mhd2/mhd_threads.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: mhd_thread_handle_get_native_ptr(handle_ptr)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - id1
    - ','
    - id2
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 254
      start: 252
    functionDepth: 0
    functionLinenumber: 252
    functionLinenumberEnd: 254
    functionName: mhd_thread_ID_native_equal
    functionSourceFile: /src/mhd2/src/mhd2/mhd_threads.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: mhd_thread_ID_native_equal(id1, id2)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - id1
    - ','
    - id2
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 272
      start: 270
    functionDepth: 0
    functionLinenumber: 270
    functionLinenumberEnd: 272
    functionName: mhd_thread_ID_native_equal
    functionSourceFile: /src/mhd2/src/mhd2/mhd_threads.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: mhd_thread_ID_native_equal(id1, id2)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - id
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 281
      start: 279
    functionDepth: 0
    functionLinenumber: 279
    functionLinenumberEnd: 281
    functionName: mhd_thread_ID_native_is_current_thread
    functionSourceFile: /src/mhd2/src/mhd2/mhd_threads.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: mhd_thread_ID_native_is_current_thread(id)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - ID_ptr
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 318
      start: 316
    functionDepth: 0
    functionLinenumber: 316
    functionLinenumberEnd: 318
    functionName: mhd_thread_ID_set_invalid
    functionSourceFile: /src/mhd2/src/mhd2/mhd_threads.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: mhd_thread_ID_set_invalid(ID_ptr)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - ID_ptr
    - ','
    - native_val
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 324
      start: 322
    functionDepth: 0
    functionLinenumber: 322
    functionLinenumberEnd: 324
    functionName: mhd_thread_ID_set_native
    functionSourceFile: /src/mhd2/src/mhd2/mhd_threads.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: mhd_thread_ID_set_native(ID_ptr, native_val)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - ID_var
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 329
      start: 327
    functionDepth: 0
    functionLinenumber: 327
    functionLinenumberEnd: 329
    functionName: mhd_thread_ID_is_valid
    functionSourceFile: /src/mhd2/src/mhd2/mhd_threads.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: mhd_thread_ID_is_valid(ID_var)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - ID_var
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 334
      start: 332
    functionDepth: 0
    functionLinenumber: 332
    functionLinenumberEnd: 334
    functionName: mhd_thread_ID_get_native
    functionSourceFile: /src/mhd2/src/mhd2/mhd_threads.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: mhd_thread_ID_get_native(ID_var)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - ID_var
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 340
      start: 337
    functionDepth: 0
    functionLinenumber: 337
    functionLinenumberEnd: 340
    functionName: mhd_thread_ID_is_current_thread
    functionSourceFile: /src/mhd2/src/mhd2/mhd_threads.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: mhd_thread_ID_is_current_thread(ID_var)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - ID_ptr
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 351
      start: 349
    functionDepth: 0
    functionLinenumber: 349
    functionLinenumberEnd: 351
    functionName: mhd_thread_ID_set_invalid
    functionSourceFile: /src/mhd2/src/mhd2/mhd_threads.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: mhd_thread_ID_set_invalid(ID_ptr)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - ID_ptr
    - ','
    - native_val
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 357
      start: 355
    functionDepth: 0
    functionLinenumber: 355
    functionLinenumberEnd: 357
    functionName: mhd_thread_ID_set_native
    functionSourceFile: /src/mhd2/src/mhd2/mhd_threads.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: mhd_thread_ID_set_native(ID_ptr, native_val)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - ID_var
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 362
      start: 360
    functionDepth: 0
    functionLinenumber: 360
    functionLinenumberEnd: 362
    functionName: mhd_thread_ID_is_valid
    functionSourceFile: /src/mhd2/src/mhd2/mhd_threads.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: mhd_thread_ID_is_valid(ID_var)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - ID_var
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 367
      start: 365
    functionDepth: 0
    functionLinenumber: 365
    functionLinenumberEnd: 367
    functionName: mhd_thread_ID_get_native
    functionSourceFile: /src/mhd2/src/mhd2/mhd_threads.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: mhd_thread_ID_get_native(ID_var)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - ID_var
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 372
      start: 370
    functionDepth: 0
    functionLinenumber: 370
    functionLinenumberEnd: 372
    functionName: mhd_thread_ID_is_current_thread
    functionSourceFile: /src/mhd2/src/mhd2/mhd_threads.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: mhd_thread_ID_is_current_thread(ID_var)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - ID_ptr
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 379
      start: 377
    functionDepth: 0
    functionLinenumber: 377
    functionLinenumberEnd: 379
    functionName: mhd_thread_ID_set_current_thread
    functionSourceFile: /src/mhd2/src/mhd2/mhd_threads.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: mhd_thread_ID_set_current_thread(ID_ptr)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - hndl_id_ptr
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 456
      start: 453
    functionDepth: 0
    functionLinenumber: 453
    functionLinenumberEnd: 456
    functionName: mhd_thread_handle_ID_set_invalid
    functionSourceFile: /src/mhd2/src/mhd2/mhd_threads.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: mhd_thread_handle_ID_set_invalid(hndl_id_ptr)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - hndl_id
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 463
      start: 461
    functionDepth: 0
    functionLinenumber: 461
    functionLinenumberEnd: 463
    functionName: mhd_thread_handle_ID_is_valid_handle
    functionSourceFile: /src/mhd2/src/mhd2/mhd_threads.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: mhd_thread_handle_ID_is_valid_handle(hndl_id)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - hndl_id_ptr
    - ','
    - native_val
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 470
      start: 468
    functionDepth: 0
    functionLinenumber: 468
    functionLinenumberEnd: 470
    functionName: mhd_thread_handle_ID_set_native_handle
    functionSourceFile: /src/mhd2/src/mhd2/mhd_threads.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: mhd_thread_handle_ID_set_native_handle(hndl_id_ptr, native_val)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - hndl_id_ptr
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 480
      start: 478
    functionDepth: 0
    functionLinenumber: 478
    functionLinenumberEnd: 480
    functionName: mhd_thread_handle_ID_get_native_handle_ptr
    functionSourceFile: /src/mhd2/src/mhd2/mhd_threads.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: mhd_thread_handle_ID_get_native_handle_ptr(hndl_id_ptr)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - hndl_id
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 487
      start: 485
    functionDepth: 0
    functionLinenumber: 485
    functionLinenumberEnd: 487
    functionName: mhd_thread_handle_ID_get_native_handle
    functionSourceFile: /src/mhd2/src/mhd2/mhd_threads.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: mhd_thread_handle_ID_get_native_handle(hndl_id)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - hndl_id
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 494
      start: 492
    functionDepth: 0
    functionLinenumber: 492
    functionLinenumberEnd: 494
    functionName: mhd_thread_handle_ID_is_valid_ID
    functionSourceFile: /src/mhd2/src/mhd2/mhd_threads.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: mhd_thread_handle_ID_is_valid_ID(hndl_id)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - hndl_id_ptr
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 503
      start: 502
    functionDepth: 0
    functionLinenumber: 502
    functionLinenumberEnd: 503
    functionName: mhd_thread_handle_ID_set_current_thread_ID
    functionSourceFile: /src/mhd2/src/mhd2/mhd_threads.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: mhd_thread_handle_ID_set_current_thread_ID(hndl_id_ptr)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - hndl_id_ptr
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 509
      start: 507
    functionDepth: 0
    functionLinenumber: 507
    functionLinenumberEnd: 509
    functionName: mhd_thread_handle_ID_set_current_thread_ID
    functionSourceFile: /src/mhd2/src/mhd2/mhd_threads.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: mhd_thread_handle_ID_set_current_thread_ID(hndl_id_ptr)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - hndl_id
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 518
      start: 516
    functionDepth: 0
    functionLinenumber: 516
    functionLinenumberEnd: 518
    functionName: mhd_thread_handle_ID_is_current_thread
    functionSourceFile: /src/mhd2/src/mhd2/mhd_threads.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: mhd_thread_handle_ID_is_current_thread(hndl_id)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - hndl_id
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 526
      start: 524
    functionDepth: 0
    functionLinenumber: 524
    functionLinenumberEnd: 526
    functionName: mhd_thread_handle_ID_join_thread
    functionSourceFile: /src/mhd2/src/mhd2/mhd_threads.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: mhd_thread_handle_ID_join_thread(hndl_id)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 11
    argNames:
    - (
    - t
    - ','
    - n
    - ','
    - s
    - ','
    - r
    - ','
    - a
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 548
      start: 546
    functionDepth: 0
    functionLinenumber: 546
    functionLinenumberEnd: 548
    functionName: mhd_create_named_thread
    functionSourceFile: /src/mhd2/src/mhd2/mhd_threads.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: mhd_create_named_thread(t, n, s, r, a)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 2
    argNames:
    - (
    - )
    argTypes:
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 570
      start: 569
    functionDepth: 0
    functionLinenumber: 569
    functionLinenumberEnd: 570
    functionName: mhd_thread_block_sigpipe
    functionSourceFile: /src/mhd2/src/mhd2/mhd_threads.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: mhd_thread_block_sigpipe()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: UINT64_C
      Src: /src/mhd2/src/mhd2/sha512_256_builtin.c:62,1
    - Dst: UINT64_C
      Src: /src/mhd2/src/mhd2/sha512_256_builtin.c:63,1
    - Dst: UINT64_C
      Src: /src/mhd2/src/mhd2/sha512_256_builtin.c:64,1
    - Dst: UINT64_C
      Src: /src/mhd2/src/mhd2/sha512_256_builtin.c:65,1
    - Dst: UINT64_C
      Src: /src/mhd2/src/mhd2/sha512_256_builtin.c:66,1
    - Dst: UINT64_C
      Src: /src/mhd2/src/mhd2/sha512_256_builtin.c:67,1
    - Dst: UINT64_C
      Src: /src/mhd2/src/mhd2/sha512_256_builtin.c:68,1
    - Dst: UINT64_C
      Src: /src/mhd2/src/mhd2/sha512_256_builtin.c:69,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 11
    argCount: 1
    argNames:
    - ctx
    argTypes:
    - struct mhd_Sha512_256CtxBlti*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 74
      start: 56
    functionDepth: 0
    functionLinenumber: 56
    functionLinenumberEnd: 74
    functionName: mhd_SHA512_256_blti_init
    functionSourceFile: /src/mhd2/src/mhd2/sha512_256_builtin.c
    functionUses: 0
    functionsReached:
    - UINT64_C
    linkageType: ''
    returnType: void
    signature: void mhd_SHA512_256_blti_init (struct mhd_Sha512_256CtxBlti *ctx)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: memcpy
      Src: /src/mhd2/src/mhd2/sha512_256_builtin.c:108,1
    - Dst: SHA2STEP64
      Src: /src/mhd2/src/mhd2/sha512_256_builtin.c:180,1
    - Dst: UINT64_C
      Src: /src/mhd2/src/mhd2/sha512_256_builtin.c:180,1
    - Dst: SHA2STEP64
      Src: /src/mhd2/src/mhd2/sha512_256_builtin.c:181,1
    - Dst: UINT64_C
      Src: /src/mhd2/src/mhd2/sha512_256_builtin.c:181,1
    - Dst: SHA2STEP64
      Src: /src/mhd2/src/mhd2/sha512_256_builtin.c:182,1
    - Dst: UINT64_C
      Src: /src/mhd2/src/mhd2/sha512_256_builtin.c:182,1
    - Dst: SHA2STEP64
      Src: /src/mhd2/src/mhd2/sha512_256_builtin.c:183,1
    - Dst: UINT64_C
      Src: /src/mhd2/src/mhd2/sha512_256_builtin.c:183,1
    - Dst: SHA2STEP64
      Src: /src/mhd2/src/mhd2/sha512_256_builtin.c:184,1
    - Dst: UINT64_C
      Src: /src/mhd2/src/mhd2/sha512_256_builtin.c:184,1
    - Dst: SHA2STEP64
      Src: /src/mhd2/src/mhd2/sha512_256_builtin.c:185,1
    - Dst: UINT64_C
      Src: /src/mhd2/src/mhd2/sha512_256_builtin.c:185,1
    - Dst: SHA2STEP64
      Src: /src/mhd2/src/mhd2/sha512_256_builtin.c:186,1
    - Dst: UINT64_C
      Src: /src/mhd2/src/mhd2/sha512_256_builtin.c:186,1
    - Dst: SHA2STEP64
      Src: /src/mhd2/src/mhd2/sha512_256_builtin.c:187,1
    - Dst: UINT64_C
      Src: /src/mhd2/src/mhd2/sha512_256_builtin.c:187,1
    - Dst: SHA2STEP64
      Src: /src/mhd2/src/mhd2/sha512_256_builtin.c:188,1
    - Dst: UINT64_C
      Src: /src/mhd2/src/mhd2/sha512_256_builtin.c:188,1
    - Dst: SHA2STEP64
      Src: /src/mhd2/src/mhd2/sha512_256_builtin.c:189,1
    - Dst: UINT64_C
      Src: /src/mhd2/src/mhd2/sha512_256_builtin.c:189,1
    - Dst: SHA2STEP64
      Src: /src/mhd2/src/mhd2/sha512_256_builtin.c:190,1
    - Dst: UINT64_C
      Src: /src/mhd2/src/mhd2/sha512_256_builtin.c:190,1
    - Dst: SHA2STEP64
      Src: /src/mhd2/src/mhd2/sha512_256_builtin.c:191,1
    - Dst: UINT64_C
      Src: /src/mhd2/src/mhd2/sha512_256_builtin.c:191,1
    - Dst: SHA2STEP64
      Src: /src/mhd2/src/mhd2/sha512_256_builtin.c:192,1
    - Dst: UINT64_C
      Src: /src/mhd2/src/mhd2/sha512_256_builtin.c:192,1
    - Dst: SHA2STEP64
      Src: /src/mhd2/src/mhd2/sha512_256_builtin.c:193,1
    - Dst: UINT64_C
      Src: /src/mhd2/src/mhd2/sha512_256_builtin.c:193,1
    - Dst: SHA2STEP64
      Src: /src/mhd2/src/mhd2/sha512_256_builtin.c:194,1
    - Dst: UINT64_C
      Src: /src/mhd2/src/mhd2/sha512_256_builtin.c:194,1
    - Dst: SHA2STEP64
      Src: /src/mhd2/src/mhd2/sha512_256_builtin.c:195,1
    - Dst: UINT64_C
      Src: /src/mhd2/src/mhd2/sha512_256_builtin.c:195,1
    - Dst: SHA2STEP64
      Src: /src/mhd2/src/mhd2/sha512_256_builtin.c:204,1
    - Dst: UINT64_C
      Src: /src/mhd2/src/mhd2/sha512_256_builtin.c:204,1
    - Dst: GET_W_FROM_DATA
      Src: /src/mhd2/src/mhd2/sha512_256_builtin.c:205,1
    - Dst: SHA2STEP64
      Src: /src/mhd2/src/mhd2/sha512_256_builtin.c:206,1
    - Dst: UINT64_C
      Src: /src/mhd2/src/mhd2/sha512_256_builtin.c:206,1
    - Dst: GET_W_FROM_DATA
      Src: /src/mhd2/src/mhd2/sha512_256_builtin.c:207,1
    - Dst: SHA2STEP64
      Src: /src/mhd2/src/mhd2/sha512_256_builtin.c:208,1
    - Dst: UINT64_C
      Src: /src/mhd2/src/mhd2/sha512_256_builtin.c:208,1
    - Dst: GET_W_FROM_DATA
      Src: /src/mhd2/src/mhd2/sha512_256_builtin.c:209,1
    - Dst: SHA2STEP64
      Src: /src/mhd2/src/mhd2/sha512_256_builtin.c:210,1
    - Dst: UINT64_C
      Src: /src/mhd2/src/mhd2/sha512_256_builtin.c:210,1
    - Dst: GET_W_FROM_DATA
      Src: /src/mhd2/src/mhd2/sha512_256_builtin.c:211,1
    - Dst: SHA2STEP64
      Src: /src/mhd2/src/mhd2/sha512_256_builtin.c:212,1
    - Dst: UINT64_C
      Src: /src/mhd2/src/mhd2/sha512_256_builtin.c:212,1
    - Dst: GET_W_FROM_DATA
      Src: /src/mhd2/src/mhd2/sha512_256_builtin.c:213,1
    - Dst: SHA2STEP64
      Src: /src/mhd2/src/mhd2/sha512_256_builtin.c:214,1
    - Dst: UINT64_C
      Src: /src/mhd2/src/mhd2/sha512_256_builtin.c:214,1
    - Dst: GET_W_FROM_DATA
      Src: /src/mhd2/src/mhd2/sha512_256_builtin.c:215,1
    - Dst: SHA2STEP64
      Src: /src/mhd2/src/mhd2/sha512_256_builtin.c:216,1
    - Dst: UINT64_C
      Src: /src/mhd2/src/mhd2/sha512_256_builtin.c:216,1
    - Dst: GET_W_FROM_DATA
      Src: /src/mhd2/src/mhd2/sha512_256_builtin.c:217,1
    - Dst: SHA2STEP64
      Src: /src/mhd2/src/mhd2/sha512_256_builtin.c:218,1
    - Dst: UINT64_C
      Src: /src/mhd2/src/mhd2/sha512_256_builtin.c:218,1
    - Dst: GET_W_FROM_DATA
      Src: /src/mhd2/src/mhd2/sha512_256_builtin.c:219,1
    - Dst: SHA2STEP64
      Src: /src/mhd2/src/mhd2/sha512_256_builtin.c:220,1
    - Dst: UINT64_C
      Src: /src/mhd2/src/mhd2/sha512_256_builtin.c:220,1
    - Dst: GET_W_FROM_DATA
      Src: /src/mhd2/src/mhd2/sha512_256_builtin.c:221,1
    - Dst: SHA2STEP64
      Src: /src/mhd2/src/mhd2/sha512_256_builtin.c:222,1
    - Dst: UINT64_C
      Src: /src/mhd2/src/mhd2/sha512_256_builtin.c:222,1
    - Dst: GET_W_FROM_DATA
      Src: /src/mhd2/src/mhd2/sha512_256_builtin.c:223,1
    - Dst: SHA2STEP64
      Src: /src/mhd2/src/mhd2/sha512_256_builtin.c:224,1
    - Dst: UINT64_C
      Src: /src/mhd2/src/mhd2/sha512_256_builtin.c:224,1
    - Dst: GET_W_FROM_DATA
      Src: /src/mhd2/src/mhd2/sha512_256_builtin.c:225,1
    - Dst: SHA2STEP64
      Src: /src/mhd2/src/mhd2/sha512_256_builtin.c:226,1
    - Dst: UINT64_C
      Src: /src/mhd2/src/mhd2/sha512_256_builtin.c:226,1
    - Dst: GET_W_FROM_DATA
      Src: /src/mhd2/src/mhd2/sha512_256_builtin.c:227,1
    - Dst: SHA2STEP64
      Src: /src/mhd2/src/mhd2/sha512_256_builtin.c:228,1
    - Dst: UINT64_C
      Src: /src/mhd2/src/mhd2/sha512_256_builtin.c:228,1
    - Dst: GET_W_FROM_DATA
      Src: /src/mhd2/src/mhd2/sha512_256_builtin.c:229,1
    - Dst: SHA2STEP64
      Src: /src/mhd2/src/mhd2/sha512_256_builtin.c:230,1
    - Dst: UINT64_C
      Src: /src/mhd2/src/mhd2/sha512_256_builtin.c:230,1
    - Dst: GET_W_FROM_DATA
      Src: /src/mhd2/src/mhd2/sha512_256_builtin.c:231,1
    - Dst: SHA2STEP64
      Src: /src/mhd2/src/mhd2/sha512_256_builtin.c:232,1
    - Dst: UINT64_C
      Src: /src/mhd2/src/mhd2/sha512_256_builtin.c:232,1
    - Dst: GET_W_FROM_DATA
      Src: /src/mhd2/src/mhd2/sha512_256_builtin.c:233,1
    - Dst: SHA2STEP64
      Src: /src/mhd2/src/mhd2/sha512_256_builtin.c:234,1
    - Dst: UINT64_C
      Src: /src/mhd2/src/mhd2/sha512_256_builtin.c:234,1
    - Dst: GET_W_FROM_DATA
      Src: /src/mhd2/src/mhd2/sha512_256_builtin.c:235,1
    - Dst: SHA2STEP64
      Src: /src/mhd2/src/mhd2/sha512_256_builtin.c:244,1
    - Dst: UINT64_C
      Src: /src/mhd2/src/mhd2/sha512_256_builtin.c:244,1
    - Dst: Wgen
      Src: /src/mhd2/src/mhd2/sha512_256_builtin.c:245,1
    - Dst: SHA2STEP64
      Src: /src/mhd2/src/mhd2/sha512_256_builtin.c:246,1
    - Dst: UINT64_C
      Src: /src/mhd2/src/mhd2/sha512_256_builtin.c:246,1
    - Dst: Wgen
      Src: /src/mhd2/src/mhd2/sha512_256_builtin.c:247,1
    - Dst: SHA2STEP64
      Src: /src/mhd2/src/mhd2/sha512_256_builtin.c:248,1
    - Dst: UINT64_C
      Src: /src/mhd2/src/mhd2/sha512_256_builtin.c:248,1
    - Dst: Wgen
      Src: /src/mhd2/src/mhd2/sha512_256_builtin.c:249,1
    - Dst: SHA2STEP64
      Src: /src/mhd2/src/mhd2/sha512_256_builtin.c:250,1
    - Dst: UINT64_C
      Src: /src/mhd2/src/mhd2/sha512_256_builtin.c:250,1
    - Dst: Wgen
      Src: /src/mhd2/src/mhd2/sha512_256_builtin.c:251,1
    - Dst: SHA2STEP64
      Src: /src/mhd2/src/mhd2/sha512_256_builtin.c:252,1
    - Dst: UINT64_C
      Src: /src/mhd2/src/mhd2/sha512_256_builtin.c:252,1
    - Dst: Wgen
      Src: /src/mhd2/src/mhd2/sha512_256_builtin.c:253,1
    - Dst: SHA2STEP64
      Src: /src/mhd2/src/mhd2/sha512_256_builtin.c:254,1
    - Dst: UINT64_C
      Src: /src/mhd2/src/mhd2/sha512_256_builtin.c:254,1
    - Dst: Wgen
      Src: /src/mhd2/src/mhd2/sha512_256_builtin.c:255,1
    - Dst: SHA2STEP64
      Src: /src/mhd2/src/mhd2/sha512_256_builtin.c:256,1
    - Dst: UINT64_C
      Src: /src/mhd2/src/mhd2/sha512_256_builtin.c:256,1
    - Dst: Wgen
      Src: /src/mhd2/src/mhd2/sha512_256_builtin.c:257,1
    - Dst: SHA2STEP64
      Src: /src/mhd2/src/mhd2/sha512_256_builtin.c:258,1
    - Dst: UINT64_C
      Src: /src/mhd2/src/mhd2/sha512_256_builtin.c:258,1
    - Dst: Wgen
      Src: /src/mhd2/src/mhd2/sha512_256_builtin.c:259,1
    - Dst: SHA2STEP64
      Src: /src/mhd2/src/mhd2/sha512_256_builtin.c:260,1
    - Dst: UINT64_C
      Src: /src/mhd2/src/mhd2/sha512_256_builtin.c:260,1
    - Dst: Wgen
      Src: /src/mhd2/src/mhd2/sha512_256_builtin.c:261,1
    - Dst: SHA2STEP64
      Src: /src/mhd2/src/mhd2/sha512_256_builtin.c:262,1
    - Dst: UINT64_C
      Src: /src/mhd2/src/mhd2/sha512_256_builtin.c:262,1
    - Dst: Wgen
      Src: /src/mhd2/src/mhd2/sha512_256_builtin.c:263,1
    - Dst: SHA2STEP64
      Src: /src/mhd2/src/mhd2/sha512_256_builtin.c:264,1
    - Dst: UINT64_C
      Src: /src/mhd2/src/mhd2/sha512_256_builtin.c:264,1
    - Dst: Wgen
      Src: /src/mhd2/src/mhd2/sha512_256_builtin.c:265,1
    - Dst: SHA2STEP64
      Src: /src/mhd2/src/mhd2/sha512_256_builtin.c:266,1
    - Dst: UINT64_C
      Src: /src/mhd2/src/mhd2/sha512_256_builtin.c:266,1
    - Dst: Wgen
      Src: /src/mhd2/src/mhd2/sha512_256_builtin.c:267,1
    - Dst: SHA2STEP64
      Src: /src/mhd2/src/mhd2/sha512_256_builtin.c:268,1
    - Dst: UINT64_C
      Src: /src/mhd2/src/mhd2/sha512_256_builtin.c:268,1
    - Dst: Wgen
      Src: /src/mhd2/src/mhd2/sha512_256_builtin.c:269,1
    - Dst: SHA2STEP64
      Src: /src/mhd2/src/mhd2/sha512_256_builtin.c:270,1
    - Dst: UINT64_C
      Src: /src/mhd2/src/mhd2/sha512_256_builtin.c:270,1
    - Dst: Wgen
      Src: /src/mhd2/src/mhd2/sha512_256_builtin.c:271,1
    - Dst: SHA2STEP64
      Src: /src/mhd2/src/mhd2/sha512_256_builtin.c:272,1
    - Dst: UINT64_C
      Src: /src/mhd2/src/mhd2/sha512_256_builtin.c:272,1
    - Dst: Wgen
      Src: /src/mhd2/src/mhd2/sha512_256_builtin.c:273,1
    - Dst: SHA2STEP64
      Src: /src/mhd2/src/mhd2/sha512_256_builtin.c:274,1
    - Dst: UINT64_C
      Src: /src/mhd2/src/mhd2/sha512_256_builtin.c:274,1
    - Dst: Wgen
      Src: /src/mhd2/src/mhd2/sha512_256_builtin.c:275,1
    - Dst: SHA2STEP64
      Src: /src/mhd2/src/mhd2/sha512_256_builtin.c:276,1
    - Dst: UINT64_C
      Src: /src/mhd2/src/mhd2/sha512_256_builtin.c:276,1
    - Dst: Wgen
      Src: /src/mhd2/src/mhd2/sha512_256_builtin.c:277,1
    - Dst: SHA2STEP64
      Src: /src/mhd2/src/mhd2/sha512_256_builtin.c:278,1
    - Dst: UINT64_C
      Src: /src/mhd2/src/mhd2/sha512_256_builtin.c:278,1
    - Dst: Wgen
      Src: /src/mhd2/src/mhd2/sha512_256_builtin.c:279,1
    - Dst: SHA2STEP64
      Src: /src/mhd2/src/mhd2/sha512_256_builtin.c:280,1
    - Dst: UINT64_C
      Src: /src/mhd2/src/mhd2/sha512_256_builtin.c:280,1
    - Dst: Wgen
      Src: /src/mhd2/src/mhd2/sha512_256_builtin.c:281,1
    - Dst: SHA2STEP64
      Src: /src/mhd2/src/mhd2/sha512_256_builtin.c:282,1
    - Dst: UINT64_C
      Src: /src/mhd2/src/mhd2/sha512_256_builtin.c:282,1
    - Dst: Wgen
      Src: /src/mhd2/src/mhd2/sha512_256_builtin.c:283,1
    - Dst: SHA2STEP64
      Src: /src/mhd2/src/mhd2/sha512_256_builtin.c:284,1
    - Dst: UINT64_C
      Src: /src/mhd2/src/mhd2/sha512_256_builtin.c:284,1
    - Dst: Wgen
      Src: /src/mhd2/src/mhd2/sha512_256_builtin.c:285,1
    - Dst: SHA2STEP64
      Src: /src/mhd2/src/mhd2/sha512_256_builtin.c:286,1
    - Dst: UINT64_C
      Src: /src/mhd2/src/mhd2/sha512_256_builtin.c:286,1
    - Dst: Wgen
      Src: /src/mhd2/src/mhd2/sha512_256_builtin.c:287,1
    - Dst: SHA2STEP64
      Src: /src/mhd2/src/mhd2/sha512_256_builtin.c:288,1
    - Dst: UINT64_C
      Src: /src/mhd2/src/mhd2/sha512_256_builtin.c:288,1
    - Dst: Wgen
      Src: /src/mhd2/src/mhd2/sha512_256_builtin.c:289,1
    - Dst: SHA2STEP64
      Src: /src/mhd2/src/mhd2/sha512_256_builtin.c:290,1
    - Dst: UINT64_C
      Src: /src/mhd2/src/mhd2/sha512_256_builtin.c:290,1
    - Dst: Wgen
      Src: /src/mhd2/src/mhd2/sha512_256_builtin.c:291,1
    - Dst: SHA2STEP64
      Src: /src/mhd2/src/mhd2/sha512_256_builtin.c:292,1
    - Dst: UINT64_C
      Src: /src/mhd2/src/mhd2/sha512_256_builtin.c:292,1
    - Dst: Wgen
      Src: /src/mhd2/src/mhd2/sha512_256_builtin.c:293,1
    - Dst: SHA2STEP64
      Src: /src/mhd2/src/mhd2/sha512_256_builtin.c:294,1
    - Dst: UINT64_C
      Src: /src/mhd2/src/mhd2/sha512_256_builtin.c:294,1
    - Dst: Wgen
      Src: /src/mhd2/src/mhd2/sha512_256_builtin.c:295,1
    - Dst: SHA2STEP64
      Src: /src/mhd2/src/mhd2/sha512_256_builtin.c:296,1
    - Dst: UINT64_C
      Src: /src/mhd2/src/mhd2/sha512_256_builtin.c:296,1
    - Dst: Wgen
      Src: /src/mhd2/src/mhd2/sha512_256_builtin.c:297,1
    - Dst: SHA2STEP64
      Src: /src/mhd2/src/mhd2/sha512_256_builtin.c:298,1
    - Dst: UINT64_C
      Src: /src/mhd2/src/mhd2/sha512_256_builtin.c:298,1
    - Dst: Wgen
      Src: /src/mhd2/src/mhd2/sha512_256_builtin.c:299,1
    - Dst: SHA2STEP64
      Src: /src/mhd2/src/mhd2/sha512_256_builtin.c:300,1
    - Dst: UINT64_C
      Src: /src/mhd2/src/mhd2/sha512_256_builtin.c:300,1
    - Dst: Wgen
      Src: /src/mhd2/src/mhd2/sha512_256_builtin.c:301,1
    - Dst: SHA2STEP64
      Src: /src/mhd2/src/mhd2/sha512_256_builtin.c:302,1
    - Dst: UINT64_C
      Src: /src/mhd2/src/mhd2/sha512_256_builtin.c:302,1
    - Dst: Wgen
      Src: /src/mhd2/src/mhd2/sha512_256_builtin.c:303,1
    - Dst: SHA2STEP64
      Src: /src/mhd2/src/mhd2/sha512_256_builtin.c:304,1
    - Dst: UINT64_C
      Src: /src/mhd2/src/mhd2/sha512_256_builtin.c:304,1
    - Dst: Wgen
      Src: /src/mhd2/src/mhd2/sha512_256_builtin.c:305,1
    - Dst: SHA2STEP64
      Src: /src/mhd2/src/mhd2/sha512_256_builtin.c:306,1
    - Dst: UINT64_C
      Src: /src/mhd2/src/mhd2/sha512_256_builtin.c:306,1
    - Dst: Wgen
      Src: /src/mhd2/src/mhd2/sha512_256_builtin.c:307,1
    - Dst: SHA2STEP64
      Src: /src/mhd2/src/mhd2/sha512_256_builtin.c:308,1
    - Dst: UINT64_C
      Src: /src/mhd2/src/mhd2/sha512_256_builtin.c:308,1
    - Dst: Wgen
      Src: /src/mhd2/src/mhd2/sha512_256_builtin.c:309,1
    - Dst: SHA2STEP64
      Src: /src/mhd2/src/mhd2/sha512_256_builtin.c:310,1
    - Dst: UINT64_C
      Src: /src/mhd2/src/mhd2/sha512_256_builtin.c:310,1
    - Dst: Wgen
      Src: /src/mhd2/src/mhd2/sha512_256_builtin.c:311,1
    - Dst: SHA2STEP64
      Src: /src/mhd2/src/mhd2/sha512_256_builtin.c:312,1
    - Dst: UINT64_C
      Src: /src/mhd2/src/mhd2/sha512_256_builtin.c:312,1
    - Dst: Wgen
      Src: /src/mhd2/src/mhd2/sha512_256_builtin.c:313,1
    - Dst: SHA2STEP64
      Src: /src/mhd2/src/mhd2/sha512_256_builtin.c:314,1
    - Dst: UINT64_C
      Src: /src/mhd2/src/mhd2/sha512_256_builtin.c:314,1
    - Dst: Wgen
      Src: /src/mhd2/src/mhd2/sha512_256_builtin.c:315,1
    - Dst: SHA2STEP64
      Src: /src/mhd2/src/mhd2/sha512_256_builtin.c:316,1
    - Dst: UINT64_C
      Src: /src/mhd2/src/mhd2/sha512_256_builtin.c:316,1
    - Dst: Wgen
      Src: /src/mhd2/src/mhd2/sha512_256_builtin.c:317,1
    - Dst: SHA2STEP64
      Src: /src/mhd2/src/mhd2/sha512_256_builtin.c:318,1
    - Dst: UINT64_C
      Src: /src/mhd2/src/mhd2/sha512_256_builtin.c:318,1
    - Dst: Wgen
      Src: /src/mhd2/src/mhd2/sha512_256_builtin.c:319,1
    - Dst: SHA2STEP64
      Src: /src/mhd2/src/mhd2/sha512_256_builtin.c:320,1
    - Dst: UINT64_C
      Src: /src/mhd2/src/mhd2/sha512_256_builtin.c:320,1
    - Dst: Wgen
      Src: /src/mhd2/src/mhd2/sha512_256_builtin.c:321,1
    - Dst: SHA2STEP64
      Src: /src/mhd2/src/mhd2/sha512_256_builtin.c:322,1
    - Dst: UINT64_C
      Src: /src/mhd2/src/mhd2/sha512_256_builtin.c:322,1
    - Dst: Wgen
      Src: /src/mhd2/src/mhd2/sha512_256_builtin.c:323,1
    - Dst: SHA2STEP64
      Src: /src/mhd2/src/mhd2/sha512_256_builtin.c:324,1
    - Dst: UINT64_C
      Src: /src/mhd2/src/mhd2/sha512_256_builtin.c:324,1
    - Dst: Wgen
      Src: /src/mhd2/src/mhd2/sha512_256_builtin.c:325,1
    - Dst: SHA2STEP64
      Src: /src/mhd2/src/mhd2/sha512_256_builtin.c:326,1
    - Dst: UINT64_C
      Src: /src/mhd2/src/mhd2/sha512_256_builtin.c:326,1
    - Dst: Wgen
      Src: /src/mhd2/src/mhd2/sha512_256_builtin.c:327,1
    - Dst: SHA2STEP64
      Src: /src/mhd2/src/mhd2/sha512_256_builtin.c:328,1
    - Dst: UINT64_C
      Src: /src/mhd2/src/mhd2/sha512_256_builtin.c:328,1
    - Dst: Wgen
      Src: /src/mhd2/src/mhd2/sha512_256_builtin.c:329,1
    - Dst: SHA2STEP64
      Src: /src/mhd2/src/mhd2/sha512_256_builtin.c:330,1
    - Dst: UINT64_C
      Src: /src/mhd2/src/mhd2/sha512_256_builtin.c:330,1
    - Dst: Wgen
      Src: /src/mhd2/src/mhd2/sha512_256_builtin.c:331,1
    - Dst: SHA2STEP64
      Src: /src/mhd2/src/mhd2/sha512_256_builtin.c:332,1
    - Dst: UINT64_C
      Src: /src/mhd2/src/mhd2/sha512_256_builtin.c:332,1
    - Dst: Wgen
      Src: /src/mhd2/src/mhd2/sha512_256_builtin.c:333,1
    - Dst: SHA2STEP64
      Src: /src/mhd2/src/mhd2/sha512_256_builtin.c:334,1
    - Dst: UINT64_C
      Src: /src/mhd2/src/mhd2/sha512_256_builtin.c:334,1
    - Dst: Wgen
      Src: /src/mhd2/src/mhd2/sha512_256_builtin.c:335,1
    - Dst: SHA2STEP64
      Src: /src/mhd2/src/mhd2/sha512_256_builtin.c:336,1
    - Dst: UINT64_C
      Src: /src/mhd2/src/mhd2/sha512_256_builtin.c:336,1
    - Dst: Wgen
      Src: /src/mhd2/src/mhd2/sha512_256_builtin.c:337,1
    - Dst: SHA2STEP64
      Src: /src/mhd2/src/mhd2/sha512_256_builtin.c:338,1
    - Dst: UINT64_C
      Src: /src/mhd2/src/mhd2/sha512_256_builtin.c:338,1
    - Dst: Wgen
      Src: /src/mhd2/src/mhd2/sha512_256_builtin.c:339,1
    - Dst: SHA2STEP64
      Src: /src/mhd2/src/mhd2/sha512_256_builtin.c:340,1
    - Dst: UINT64_C
      Src: /src/mhd2/src/mhd2/sha512_256_builtin.c:340,1
    - Dst: Wgen
      Src: /src/mhd2/src/mhd2/sha512_256_builtin.c:341,1
    - Dst: SHA2STEP64
      Src: /src/mhd2/src/mhd2/sha512_256_builtin.c:342,1
    - Dst: UINT64_C
      Src: /src/mhd2/src/mhd2/sha512_256_builtin.c:342,1
    - Dst: Wgen
      Src: /src/mhd2/src/mhd2/sha512_256_builtin.c:343,1
    - Dst: SHA2STEP64
      Src: /src/mhd2/src/mhd2/sha512_256_builtin.c:344,1
    - Dst: UINT64_C
      Src: /src/mhd2/src/mhd2/sha512_256_builtin.c:344,1
    - Dst: Wgen
      Src: /src/mhd2/src/mhd2/sha512_256_builtin.c:345,1
    - Dst: SHA2STEP64
      Src: /src/mhd2/src/mhd2/sha512_256_builtin.c:346,1
    - Dst: UINT64_C
      Src: /src/mhd2/src/mhd2/sha512_256_builtin.c:346,1
    - Dst: Wgen
      Src: /src/mhd2/src/mhd2/sha512_256_builtin.c:347,1
    - Dst: SHA2STEP64
      Src: /src/mhd2/src/mhd2/sha512_256_builtin.c:348,1
    - Dst: UINT64_C
      Src: /src/mhd2/src/mhd2/sha512_256_builtin.c:348,1
    - Dst: Wgen
      Src: /src/mhd2/src/mhd2/sha512_256_builtin.c:349,1
    - Dst: SHA2STEP64
      Src: /src/mhd2/src/mhd2/sha512_256_builtin.c:350,1
    - Dst: UINT64_C
      Src: /src/mhd2/src/mhd2/sha512_256_builtin.c:350,1
    - Dst: Wgen
      Src: /src/mhd2/src/mhd2/sha512_256_builtin.c:351,1
    - Dst: SHA2STEP64
      Src: /src/mhd2/src/mhd2/sha512_256_builtin.c:352,1
    - Dst: UINT64_C
      Src: /src/mhd2/src/mhd2/sha512_256_builtin.c:352,1
    - Dst: Wgen
      Src: /src/mhd2/src/mhd2/sha512_256_builtin.c:353,1
    - Dst: SHA2STEP64
      Src: /src/mhd2/src/mhd2/sha512_256_builtin.c:354,1
    - Dst: UINT64_C
      Src: /src/mhd2/src/mhd2/sha512_256_builtin.c:354,1
    - Dst: Wgen
      Src: /src/mhd2/src/mhd2/sha512_256_builtin.c:355,1
    - Dst: SHA2STEP64
      Src: /src/mhd2/src/mhd2/sha512_256_builtin.c:356,1
    - Dst: UINT64_C
      Src: /src/mhd2/src/mhd2/sha512_256_builtin.c:356,1
    - Dst: Wgen
      Src: /src/mhd2/src/mhd2/sha512_256_builtin.c:357,1
    - Dst: SHA2STEP64
      Src: /src/mhd2/src/mhd2/sha512_256_builtin.c:358,1
    - Dst: UINT64_C
      Src: /src/mhd2/src/mhd2/sha512_256_builtin.c:358,1
    - Dst: Wgen
      Src: /src/mhd2/src/mhd2/sha512_256_builtin.c:359,1
    - Dst: SHA2STEP64
      Src: /src/mhd2/src/mhd2/sha512_256_builtin.c:360,1
    - Dst: UINT64_C
      Src: /src/mhd2/src/mhd2/sha512_256_builtin.c:360,1
    - Dst: Wgen
      Src: /src/mhd2/src/mhd2/sha512_256_builtin.c:361,1
    - Dst: SHA2STEP64
      Src: /src/mhd2/src/mhd2/sha512_256_builtin.c:362,1
    - Dst: UINT64_C
      Src: /src/mhd2/src/mhd2/sha512_256_builtin.c:362,1
    - Dst: Wgen
      Src: /src/mhd2/src/mhd2/sha512_256_builtin.c:363,1
    - Dst: SHA2STEP64
      Src: /src/mhd2/src/mhd2/sha512_256_builtin.c:364,1
    - Dst: UINT64_C
      Src: /src/mhd2/src/mhd2/sha512_256_builtin.c:364,1
    - Dst: Wgen
      Src: /src/mhd2/src/mhd2/sha512_256_builtin.c:365,1
    - Dst: SHA2STEP64
      Src: /src/mhd2/src/mhd2/sha512_256_builtin.c:366,1
    - Dst: UINT64_C
      Src: /src/mhd2/src/mhd2/sha512_256_builtin.c:366,1
    - Dst: Wgen
      Src: /src/mhd2/src/mhd2/sha512_256_builtin.c:367,1
    - Dst: SHA2STEP64
      Src: /src/mhd2/src/mhd2/sha512_256_builtin.c:368,1
    - Dst: UINT64_C
      Src: /src/mhd2/src/mhd2/sha512_256_builtin.c:368,1
    - Dst: Wgen
      Src: /src/mhd2/src/mhd2/sha512_256_builtin.c:369,1
    - Dst: SHA2STEP64
      Src: /src/mhd2/src/mhd2/sha512_256_builtin.c:370,1
    - Dst: UINT64_C
      Src: /src/mhd2/src/mhd2/sha512_256_builtin.c:370,1
    - Dst: Wgen
      Src: /src/mhd2/src/mhd2/sha512_256_builtin.c:371,1
    - Dst: UINT64_C
      Src: /src/mhd2/src/mhd2/sha512_256_builtin.c:379,1
    - Dst: UINT64_C
      Src: /src/mhd2/src/mhd2/sha512_256_builtin.c:379,1
    - Dst: UINT64_C
      Src: /src/mhd2/src/mhd2/sha512_256_builtin.c:380,1
    - Dst: UINT64_C
      Src: /src/mhd2/src/mhd2/sha512_256_builtin.c:380,1
    - Dst: UINT64_C
      Src: /src/mhd2/src/mhd2/sha512_256_builtin.c:381,1
    - Dst: UINT64_C
      Src: /src/mhd2/src/mhd2/sha512_256_builtin.c:381,1
    - Dst: UINT64_C
      Src: /src/mhd2/src/mhd2/sha512_256_builtin.c:382,1
    - Dst: UINT64_C
      Src: /src/mhd2/src/mhd2/sha512_256_builtin.c:382,1
    - Dst: UINT64_C
      Src: /src/mhd2/src/mhd2/sha512_256_builtin.c:383,1
    - Dst: UINT64_C
      Src: /src/mhd2/src/mhd2/sha512_256_builtin.c:383,1
    - Dst: UINT64_C
      Src: /src/mhd2/src/mhd2/sha512_256_builtin.c:384,1
    - Dst: UINT64_C
      Src: /src/mhd2/src/mhd2/sha512_256_builtin.c:384,1
    - Dst: UINT64_C
      Src: /src/mhd2/src/mhd2/sha512_256_builtin.c:385,1
    - Dst: UINT64_C
      Src: /src/mhd2/src/mhd2/sha512_256_builtin.c:385,1
    - Dst: UINT64_C
      Src: /src/mhd2/src/mhd2/sha512_256_builtin.c:386,1
    - Dst: UINT64_C
      Src: /src/mhd2/src/mhd2/sha512_256_builtin.c:386,1
    - Dst: UINT64_C
      Src: /src/mhd2/src/mhd2/sha512_256_builtin.c:387,1
    - Dst: UINT64_C
      Src: /src/mhd2/src/mhd2/sha512_256_builtin.c:387,1
    - Dst: UINT64_C
      Src: /src/mhd2/src/mhd2/sha512_256_builtin.c:388,1
    - Dst: UINT64_C
      Src: /src/mhd2/src/mhd2/sha512_256_builtin.c:388,1
    - Dst: UINT64_C
      Src: /src/mhd2/src/mhd2/sha512_256_builtin.c:389,1
    - Dst: UINT64_C
      Src: /src/mhd2/src/mhd2/sha512_256_builtin.c:389,1
    - Dst: UINT64_C
      Src: /src/mhd2/src/mhd2/sha512_256_builtin.c:390,1
    - Dst: UINT64_C
      Src: /src/mhd2/src/mhd2/sha512_256_builtin.c:390,1
    - Dst: UINT64_C
      Src: /src/mhd2/src/mhd2/sha512_256_builtin.c:391,1
    - Dst: UINT64_C
      Src: /src/mhd2/src/mhd2/sha512_256_builtin.c:391,1
    - Dst: UINT64_C
      Src: /src/mhd2/src/mhd2/sha512_256_builtin.c:392,1
    - Dst: UINT64_C
      Src: /src/mhd2/src/mhd2/sha512_256_builtin.c:392,1
    - Dst: UINT64_C
      Src: /src/mhd2/src/mhd2/sha512_256_builtin.c:393,1
    - Dst: UINT64_C
      Src: /src/mhd2/src/mhd2/sha512_256_builtin.c:393,1
    - Dst: UINT64_C
      Src: /src/mhd2/src/mhd2/sha512_256_builtin.c:394,1
    - Dst: UINT64_C
      Src: /src/mhd2/src/mhd2/sha512_256_builtin.c:394,1
    - Dst: UINT64_C
      Src: /src/mhd2/src/mhd2/sha512_256_builtin.c:395,1
    - Dst: UINT64_C
      Src: /src/mhd2/src/mhd2/sha512_256_builtin.c:395,1
    - Dst: UINT64_C
      Src: /src/mhd2/src/mhd2/sha512_256_builtin.c:396,1
    - Dst: UINT64_C
      Src: /src/mhd2/src/mhd2/sha512_256_builtin.c:396,1
    - Dst: UINT64_C
      Src: /src/mhd2/src/mhd2/sha512_256_builtin.c:397,1
    - Dst: UINT64_C
      Src: /src/mhd2/src/mhd2/sha512_256_builtin.c:397,1
    - Dst: UINT64_C
      Src: /src/mhd2/src/mhd2/sha512_256_builtin.c:398,1
    - Dst: UINT64_C
      Src: /src/mhd2/src/mhd2/sha512_256_builtin.c:398,1
    - Dst: UINT64_C
      Src: /src/mhd2/src/mhd2/sha512_256_builtin.c:399,1
    - Dst: UINT64_C
      Src: /src/mhd2/src/mhd2/sha512_256_builtin.c:399,1
    - Dst: UINT64_C
      Src: /src/mhd2/src/mhd2/sha512_256_builtin.c:400,1
    - Dst: UINT64_C
      Src: /src/mhd2/src/mhd2/sha512_256_builtin.c:400,1
    - Dst: UINT64_C
      Src: /src/mhd2/src/mhd2/sha512_256_builtin.c:401,1
    - Dst: UINT64_C
      Src: /src/mhd2/src/mhd2/sha512_256_builtin.c:401,1
    - Dst: UINT64_C
      Src: /src/mhd2/src/mhd2/sha512_256_builtin.c:402,1
    - Dst: UINT64_C
      Src: /src/mhd2/src/mhd2/sha512_256_builtin.c:402,1
    - Dst: UINT64_C
      Src: /src/mhd2/src/mhd2/sha512_256_builtin.c:403,1
    - Dst: UINT64_C
      Src: /src/mhd2/src/mhd2/sha512_256_builtin.c:403,1
    - Dst: UINT64_C
      Src: /src/mhd2/src/mhd2/sha512_256_builtin.c:404,1
    - Dst: UINT64_C
      Src: /src/mhd2/src/mhd2/sha512_256_builtin.c:404,1
    - Dst: UINT64_C
      Src: /src/mhd2/src/mhd2/sha512_256_builtin.c:405,1
    - Dst: UINT64_C
      Src: /src/mhd2/src/mhd2/sha512_256_builtin.c:405,1
    - Dst: UINT64_C
      Src: /src/mhd2/src/mhd2/sha512_256_builtin.c:406,1
    - Dst: UINT64_C
      Src: /src/mhd2/src/mhd2/sha512_256_builtin.c:406,1
    - Dst: UINT64_C
      Src: /src/mhd2/src/mhd2/sha512_256_builtin.c:407,1
    - Dst: UINT64_C
      Src: /src/mhd2/src/mhd2/sha512_256_builtin.c:407,1
    - Dst: UINT64_C
      Src: /src/mhd2/src/mhd2/sha512_256_builtin.c:408,1
    - Dst: UINT64_C
      Src: /src/mhd2/src/mhd2/sha512_256_builtin.c:408,1
    - Dst: UINT64_C
      Src: /src/mhd2/src/mhd2/sha512_256_builtin.c:409,1
    - Dst: UINT64_C
      Src: /src/mhd2/src/mhd2/sha512_256_builtin.c:409,1
    - Dst: UINT64_C
      Src: /src/mhd2/src/mhd2/sha512_256_builtin.c:410,1
    - Dst: UINT64_C
      Src: /src/mhd2/src/mhd2/sha512_256_builtin.c:410,1
    - Dst: UINT64_C
      Src: /src/mhd2/src/mhd2/sha512_256_builtin.c:411,1
    - Dst: UINT64_C
      Src: /src/mhd2/src/mhd2/sha512_256_builtin.c:411,1
    - Dst: UINT64_C
      Src: /src/mhd2/src/mhd2/sha512_256_builtin.c:412,1
    - Dst: UINT64_C
      Src: /src/mhd2/src/mhd2/sha512_256_builtin.c:412,1
    - Dst: UINT64_C
      Src: /src/mhd2/src/mhd2/sha512_256_builtin.c:413,1
    - Dst: UINT64_C
      Src: /src/mhd2/src/mhd2/sha512_256_builtin.c:413,1
    - Dst: UINT64_C
      Src: /src/mhd2/src/mhd2/sha512_256_builtin.c:414,1
    - Dst: UINT64_C
      Src: /src/mhd2/src/mhd2/sha512_256_builtin.c:414,1
    - Dst: UINT64_C
      Src: /src/mhd2/src/mhd2/sha512_256_builtin.c:415,1
    - Dst: UINT64_C
      Src: /src/mhd2/src/mhd2/sha512_256_builtin.c:415,1
    - Dst: UINT64_C
      Src: /src/mhd2/src/mhd2/sha512_256_builtin.c:416,1
    - Dst: UINT64_C
      Src: /src/mhd2/src/mhd2/sha512_256_builtin.c:416,1
    - Dst: UINT64_C
      Src: /src/mhd2/src/mhd2/sha512_256_builtin.c:417,1
    - Dst: UINT64_C
      Src: /src/mhd2/src/mhd2/sha512_256_builtin.c:417,1
    - Dst: UINT64_C
      Src: /src/mhd2/src/mhd2/sha512_256_builtin.c:418,1
    - Dst: UINT64_C
      Src: /src/mhd2/src/mhd2/sha512_256_builtin.c:418,1
    - Dst: SHA2STEP64RV
      Src: /src/mhd2/src/mhd2/sha512_256_builtin.c:443,1
    - Dst: GET_W_FROM_DATA
      Src: /src/mhd2/src/mhd2/sha512_256_builtin.c:444,1
    - Dst: SHA2STEP64RV
      Src: /src/mhd2/src/mhd2/sha512_256_builtin.c:451,1
    - Dst: Wgen
      Src: /src/mhd2/src/mhd2/sha512_256_builtin.c:452,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 121
    argCount: 2
    argNames:
    - H
    - data
    argTypes:
    - uint64_t[]
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 467
      start: 77
    functionDepth: 1
    functionLinenumber: 77
    functionLinenumberEnd: 467
    functionName: sha512_256_transform
    functionSourceFile: /src/mhd2/src/mhd2/sha512_256_builtin.c
    functionUses: 0
    functionsReached:
    - SHA2STEP64
    - UINT64_C
    - SHA2STEP64RV
    - GET_W_FROM_DATA
    - Wgen
    - memcpy
    linkageType: ''
    returnType: mhd_DATA_TRUNCATION_RUNTIME_CHECK_DISABLE
    signature: "mhd_DATA_TRUNCATION_RUNTIME_CHECK_DISABLE sha512_256_transform (uint64_t
      H[mhd_SHA512_256_HASH_SIZE_WORDS],\n                      const void *restrict
      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: 120
      start: 119
    functionDepth: 0
    functionLinenumber: 119
    functionLinenumberEnd: 120
    functionName: Ch
    functionSourceFile: /src/mhd2/src/mhd2/sha512_256_builtin.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: 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: 121
      start: 120
    functionDepth: 0
    functionLinenumber: 120
    functionLinenumberEnd: 121
    functionName: Maj
    functionSourceFile: /src/mhd2/src/mhd2/sha512_256_builtin.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: 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: 129
      start: 127
    functionDepth: 0
    functionLinenumber: 127
    functionLinenumberEnd: 129
    functionName: SIG0
    functionSourceFile: /src/mhd2/src/mhd2/sha512_256_builtin.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: 131
      start: 129
    functionDepth: 0
    functionLinenumber: 129
    functionLinenumberEnd: 131
    functionName: SIG1
    functionSourceFile: /src/mhd2/src/mhd2/sha512_256_builtin.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: 133
      start: 131
    functionDepth: 0
    functionLinenumber: 131
    functionLinenumberEnd: 133
    functionName: sig0
    functionSourceFile: /src/mhd2/src/mhd2/sha512_256_builtin.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: 135
      start: 133
    functionDepth: 0
    functionLinenumber: 133
    functionLinenumberEnd: 135
    functionName: sig1
    functionSourceFile: /src/mhd2/src/mhd2/sha512_256_builtin.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: 148
      start: 145
    functionDepth: 0
    functionLinenumber: 145
    functionLinenumberEnd: 148
    functionName: SHA2STEP64
    functionSourceFile: /src/mhd2/src/mhd2/sha512_256_builtin.c
    functionUses: 1
    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: 5
    argNames:
    - (
    - buf
    - ','
    - t
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 155
      start: 153
    functionDepth: 0
    functionLinenumber: 153
    functionLinenumberEnd: 155
    functionName: GET_W_FROM_DATA
    functionSourceFile: /src/mhd2/src/mhd2/sha512_256_builtin.c
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: 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: 163
      start: 161
    functionDepth: 0
    functionLinenumber: 161
    functionLinenumberEnd: 163
    functionName: Wgen
    functionSourceFile: /src/mhd2/src/mhd2/sha512_256_builtin.c
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: Wgen(w, t)
  - 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: 437
      start: 424
    functionDepth: 0
    functionLinenumber: 424
    functionLinenumberEnd: 437
    functionName: SHA2STEP64RV
    functionSourceFile: /src/mhd2/src/mhd2/sha512_256_builtin.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: SHA2STEP64RV(vA, vB, vC, vD, vE, vF, vG, vH, kt, wt)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/sha512_256_builtin.c:485,1
    - Dst: UINT64_C
      Src: /src/mhd2/src/mhd2/sha512_256_builtin.c:501,1
    - Dst: memcpy
      Src: /src/mhd2/src/mhd2/sha512_256_builtin.c:510,1
    - Dst: sha512_256_transform
      Src: /src/mhd2/src/mhd2/sha512_256_builtin.c:515,1
    - Dst: sha512_256_transform
      Src: /src/mhd2/src/mhd2/sha512_256_builtin.c:523,1
    - Dst: memcpy
      Src: /src/mhd2/src/mhd2/sha512_256_builtin.c:531,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 29
    argCount: 3
    argNames:
    - ctx
    - size
    - data
    argTypes:
    - struct mhd_Sha512_256CtxBlti*
    - size_t
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 533
      start: 471
    functionDepth: 2
    functionLinenumber: 471
    functionLinenumberEnd: 533
    functionName: mhd_SHA512_256_blti_update
    functionSourceFile: /src/mhd2/src/mhd2/sha512_256_builtin.c
    functionUses: 0
    functionsReached:
    - memcpy
    - mhd_assert
    - sha512_256_transform
    - UINT64_C
    linkageType: ''
    returnType: void
    signature: "void mhd_SHA512_256_blti_update (struct mhd_Sha512_256CtxBlti *restrict
      ctx,\n                            size_t size,\n                            const
      void *restrict data)"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: MHD_FN_PAR_FIX_ARR_SIZE_
      Src: /src/mhd2/src/mhd2/sha512_256_builtin.c:551,1
    - Dst: memset
      Src: /src/mhd2/src/mhd2/sha512_256_builtin.c:581,1
    - Dst: sha512_256_transform
      Src: /src/mhd2/src/mhd2/sha512_256_builtin.c:584,1
    - Dst: memset
      Src: /src/mhd2/src/mhd2/sha512_256_builtin.c:590,1
    - Dst: mhd_PUT_64BIT_BE
      Src: /src/mhd2/src/mhd2/sha512_256_builtin.c:596,1
    - Dst: mhd_PUT_64BIT_BE
      Src: /src/mhd2/src/mhd2/sha512_256_builtin.c:598,1
    - Dst: sha512_256_transform
      Src: /src/mhd2/src/mhd2/sha512_256_builtin.c:601,1
    - Dst: mhd_PUT_64BIT_BE
      Src: /src/mhd2/src/mhd2/sha512_256_builtin.c:624,1
    - Dst: mhd_PUT_64BIT_BE
      Src: /src/mhd2/src/mhd2/sha512_256_builtin.c:625,1
    - Dst: mhd_PUT_64BIT_BE
      Src: /src/mhd2/src/mhd2/sha512_256_builtin.c:626,1
    - Dst: mhd_PUT_64BIT_BE
      Src: /src/mhd2/src/mhd2/sha512_256_builtin.c:627,1
    - Dst: memcpy
      Src: /src/mhd2/src/mhd2/sha512_256_builtin.c:629,1
    - Dst: mhd_PUT_64BIT_BE
      Src: /src/mhd2/src/mhd2/sha512_256_builtin.c:635,1
    - Dst: mhd_PUT_64BIT_BE
      Src: /src/mhd2/src/mhd2/sha512_256_builtin.c:637,1
    - Dst: mhd_PUT_64BIT_BE
      Src: /src/mhd2/src/mhd2/sha512_256_builtin.c:639,1
    - Dst: mhd_PUT_64BIT_BE
      Src: /src/mhd2/src/mhd2/sha512_256_builtin.c:641,1
    - Dst: memset
      Src: /src/mhd2/src/mhd2/sha512_256_builtin.c:647,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 32
    argCount: 2
    argNames:
    - ctx
    - digest
    argTypes:
    - struct mhd_Sha512_256CtxBlti*
    - uint8_t[]
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 648
      start: 548
    functionDepth: 2
    functionLinenumber: 548
    functionLinenumberEnd: 648
    functionName: mhd_SHA512_256_blti_finish
    functionSourceFile: /src/mhd2/src/mhd2/sha512_256_builtin.c
    functionUses: 0
    functionsReached:
    - sha512_256_transform
    - memcpy
    - mhd_PUT_64BIT_BE
    - MHD_FN_PAR_FIX_ARR_SIZE_
    - memset
    linkageType: ''
    returnType: void
    signature: "void mhd_SHA512_256_blti_finish (\n  struct mhd_Sha512_256CtxBlti
      *restrict ctx,\n  uint8_t digest[MHD_FN_PAR_FIX_ARR_SIZE_ (mhd_SHA512_256_DIGEST_SIZE)])"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 9
    argNames:
    - (
    - r
    - ','
    - k
    - ','
    - str
    - ','
    - v_out
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 102
      start: 100
    functionDepth: 0
    functionLinenumber: 100
    functionLinenumberEnd: 102
    functionName: mhd_request_get_value_st
    functionSourceFile: /src/mhd2/src/mhd2/request_get_value.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: mhd_request_get_value_st(r, k, str, v_out)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - c
    - ','
    - hdr
    - ','
    - tkn
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 143
      start: 140
    functionDepth: 0
    functionLinenumber: 140
    functionLinenumberEnd: 143
    functionName: mhd_stream_has_header_token_st
    functionSourceFile: /src/mhd2/src/mhd2/request_get_value.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: mhd_stream_has_header_token_st(c, hdr, tkn)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/response_funcs.c:63,1
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/response_funcs.c:64,1
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/response_funcs.c:65,1
    - Dst: mhd_mutex_init
      Src: /src/mhd2/src/mhd2/response_funcs.c:67,1
    - Dst: mhd_atomic_counter_init
      Src: /src/mhd2/src/mhd2/response_funcs.c:69,1
    - Dst: mhd_mutex_destroy
      Src: /src/mhd2/src/mhd2/response_funcs.c:74,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 12
    argCount: 1
    argNames:
    - r
    argTypes:
    - struct MHD_Response*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 77
      start: 59
    functionDepth: 1
    functionLinenumber: 59
    functionLinenumberEnd: 77
    functionName: response_make_reusable
    functionSourceFile: /src/mhd2/src/mhd2/response_funcs.c
    functionUses: 1
    functionsReached:
    - mhd_mutex_init
    - mhd_mutex_destroy
    - mhd_assert
    - mhd_atomic_counter_init
    linkageType: ''
    returnType: MHD_INTERNAL
    signature: MHD_INTERNAL response_make_reusable (struct MHD_Response *restrict
      r)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/response_funcs.c:84,1
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/response_funcs.c:85,1
    - Dst: mhd_atomic_counter_get
      Src: /src/mhd2/src/mhd2/response_funcs.c:85,1
    - Dst: mhd_atomic_counter_deinit
      Src: /src/mhd2/src/mhd2/response_funcs.c:87,1
    - Dst: mhd_mutex_destroy_chk
      Src: /src/mhd2/src/mhd2/response_funcs.c:88,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 1
    argNames:
    - r
    argTypes:
    - struct MHD_Response*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 89
      start: 80
    functionDepth: 1
    functionLinenumber: 80
    functionLinenumberEnd: 89
    functionName: mhd_response_deinit_reusable
    functionSourceFile: /src/mhd2/src/mhd2/response_funcs.c
    functionUses: 1
    functionsReached:
    - mhd_atomic_counter_get
    - mhd_mutex_destroy_chk
    - mhd_assert
    - mhd_atomic_counter_deinit
    linkageType: ''
    returnType: MHD_INTERNAL
    signature: MHD_INTERNAL mhd_response_deinit_reusable (struct MHD_Response *restrict
      r)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/response_funcs.c:96,1
    - Dst: free
      Src: /src/mhd2/src/mhd2/response_funcs.c:125,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 21
    argCount: 1
    argNames:
    - r
    argTypes:
    - struct MHD_Response*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 126
      start: 92
    functionDepth: 1
    functionLinenumber: 92
    functionLinenumberEnd: 126
    functionName: response_set_properties
    functionSourceFile: /src/mhd2/src/mhd2/response_funcs.c
    functionUses: 0
    functionsReached:
    - free
    - mhd_assert
    linkageType: ''
    returnType: MHD_FN_PAR_NONNULL_ALL_
    signature: MHD_FN_PAR_NONNULL_ALL_ response_set_properties (struct MHD_Response
      *restrict r)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: mhd_mutex_lock_chk
      Src: /src/mhd2/src/mhd2/response_funcs.c:138,1
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/response_funcs.c:146,1
    - Dst: mhd_atomic_counter_get
      Src: /src/mhd2/src/mhd2/response_funcs.c:147,1
    - Dst: response_set_properties
      Src: /src/mhd2/src/mhd2/response_funcs.c:148,1
    - Dst: mhd_mutex_unlock_chk
      Src: /src/mhd2/src/mhd2/response_funcs.c:152,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 14
    argCount: 1
    argNames:
    - response
    argTypes:
    - struct MHD_Response*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 153
      start: 129
    functionDepth: 2
    functionLinenumber: 129
    functionLinenumberEnd: 153
    functionName: mhd_response_check_frozen_freeze
    functionSourceFile: /src/mhd2/src/mhd2/response_funcs.c
    functionUses: 2
    functionsReached:
    - mhd_mutex_unlock_chk
    - response_set_properties
    - mhd_atomic_counter_get
    - mhd_mutex_lock_chk
    - mhd_assert
    linkageType: ''
    returnType: MHD_INTERNAL
    signature: MHD_INTERNAL mhd_response_check_frozen_freeze (struct MHD_Response
      *restrict response)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - msg
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 87
      start: 84
    functionDepth: 0
    functionLinenumber: 84
    functionLinenumberEnd: 87
    functionName: mhd_M_DEBUG_PRINT
    functionSourceFile: /src/mhd2/src/mhd2/tls_multi_funcs.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: mhd_M_DEBUG_PRINT(msg)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - msg
    - ','
    - arg1
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 90
      start: 87
    functionDepth: 0
    functionLinenumber: 87
    functionLinenumberEnd: 90
    functionName: mhd_M_DEBUG_PRINT1
    functionSourceFile: /src/mhd2/src/mhd2/tls_multi_funcs.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: mhd_M_DEBUG_PRINT1(msg, arg1)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - msg
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 92
      start: 91
    functionDepth: 0
    functionLinenumber: 91
    functionLinenumberEnd: 92
    functionName: mhd_M_DEBUG_PRINT
    functionSourceFile: /src/mhd2/src/mhd2/tls_multi_funcs.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: mhd_M_DEBUG_PRINT(msg)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - msg
    - ','
    - arg1
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 93
      start: 92
    functionDepth: 0
    functionLinenumber: 92
    functionLinenumberEnd: 93
    functionName: mhd_M_DEBUG_PRINT1
    functionSourceFile: /src/mhd2/src/mhd2/tls_multi_funcs.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: mhd_M_DEBUG_PRINT1(msg, arg1)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: mhd_tls_gnu_global_init_once
      Src: /src/mhd2/src/mhd2/tls_multi_funcs.c:102,1
    - Dst: mhd_tls_open_global_init_once
      Src: /src/mhd2/src/mhd2/tls_multi_funcs.c:105,1
    - Dst: mhd_tls_mbed_global_init_once
      Src: /src/mhd2/src/mhd2/tls_multi_funcs.c:108,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 110
      start: 98
    functionDepth: 1
    functionLinenumber: 98
    functionLinenumberEnd: 110
    functionName: mhd_tls_multi_global_init_once
    functionSourceFile: /src/mhd2/src/mhd2/tls_multi_funcs.c
    functionUses: 0
    functionsReached:
    - mhd_tls_gnu_global_init_once
    - mhd_tls_mbed_global_init_once
    - mhd_tls_open_global_init_once
    linkageType: ''
    returnType: MHD_INTERNAL
    signature: MHD_INTERNAL mhd_tls_multi_global_init_once (void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: mhd_tls_open_global_deinit
      Src: /src/mhd2/src/mhd2/tls_multi_funcs.c:118,1
    - Dst: mhd_tls_gnu_global_deinit
      Src: /src/mhd2/src/mhd2/tls_multi_funcs.c:121,1
    - Dst: mhd_tls_mbed_global_deinit
      Src: /src/mhd2/src/mhd2/tls_multi_funcs.c:124,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 126
      start: 113
    functionDepth: 2
    functionLinenumber: 113
    functionLinenumberEnd: 126
    functionName: mhd_tls_multi_global_deinit
    functionSourceFile: /src/mhd2/src/mhd2/tls_multi_funcs.c
    functionUses: 0
    functionsReached:
    - mhd_tls_gnu_global_deinit
    - mhd_tls_open_global_deinit
    - mhd_tls_mbed_global_deinit
    linkageType: ''
    returnType: MHD_INTERNAL
    signature: MHD_INTERNAL mhd_tls_multi_global_deinit (void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: mhd_tls_gnu_global_re_init
      Src: /src/mhd2/src/mhd2/tls_multi_funcs.c:133,1
    - Dst: mhd_tls_open_global_re_init
      Src: /src/mhd2/src/mhd2/tls_multi_funcs.c:136,1
    - Dst: mhd_tls_mbed_global_re_init
      Src: /src/mhd2/src/mhd2/tls_multi_funcs.c:139,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 141
      start: 129
    functionDepth: 1
    functionLinenumber: 129
    functionLinenumberEnd: 141
    functionName: mhd_tls_multi_global_re_init
    functionSourceFile: /src/mhd2/src/mhd2/tls_multi_funcs.c
    functionUses: 0
    functionsReached:
    - mhd_tls_open_global_re_init
    - mhd_tls_gnu_global_re_init
    - mhd_tls_mbed_global_re_init
    linkageType: ''
    returnType: MHD_INTERNAL
    signature: MHD_INTERNAL mhd_tls_multi_global_re_init (void)
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: mhd_UNREACHABLE
      Src: /src/mhd2/src/mhd2/tls_multi_funcs.c:152,1
    - Dst: mhd_tls_gnu_is_edge_trigg_supported
      Src: /src/mhd2/src/mhd2/tls_multi_funcs.c:156,1
    - Dst: mhd_tls_gnu_is_inited_fine
      Src: /src/mhd2/src/mhd2/tls_multi_funcs.c:157,1
    - Dst: mhd_tls_open_is_edge_trigg_supported
      Src: /src/mhd2/src/mhd2/tls_multi_funcs.c:161,1
    - Dst: mhd_tls_open_is_inited_fine
      Src: /src/mhd2/src/mhd2/tls_multi_funcs.c:162,1
    - Dst: mhd_tls_mbed_is_edge_trigg_supported
      Src: /src/mhd2/src/mhd2/tls_multi_funcs.c:166,1
    - Dst: mhd_tls_mbed_is_inited_fine
      Src: /src/mhd2/src/mhd2/tls_multi_funcs.c:167,1
    - Dst: mhd_tls_gnu_is_edge_trigg_supported
      Src: /src/mhd2/src/mhd2/tls_multi_funcs.c:175,1
    - Dst: mhd_tls_open_is_edge_trigg_supported
      Src: /src/mhd2/src/mhd2/tls_multi_funcs.c:182,1
    - Dst: mhd_tls_mbed_is_edge_trigg_supported
      Src: /src/mhd2/src/mhd2/tls_multi_funcs.c:189,1
    - Dst: mhd_UNREACHABLE
      Src: /src/mhd2/src/mhd2/tls_multi_funcs.c:193,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 27
    argCount: 1
    argNames:
    - s
    argTypes:
    - struct DaemonOptions*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 197
      start: 146
    functionDepth: 1
    functionLinenumber: 146
    functionLinenumberEnd: 197
    functionName: mhd_tls_multi_is_edge_trigg_supported
    functionSourceFile: /src/mhd2/src/mhd2/tls_multi_funcs.c
    functionUses: 0
    functionsReached:
    - mhd_tls_open_is_inited_fine
    - mhd_tls_gnu_is_edge_trigg_supported
    - mhd_tls_open_is_edge_trigg_supported
    - mhd_tls_mbed_is_inited_fine
    - mhd_UNREACHABLE
    - mhd_tls_gnu_is_inited_fine
    - mhd_tls_mbed_is_edge_trigg_supported
    linkageType: ''
    returnType: MHD_INTERNAL
    signature: MHD_INTERNAL mhd_tls_multi_is_edge_trigg_supported (struct DaemonOptions
      *s)
  - BBCount: 12
    BranchProfiles: []
    Callsites:
    - Dst: mhd_tls_gnu_is_inited_fine
      Src: /src/mhd2/src/mhd2/tls_multi_funcs.c:228,1
    - Dst: mhd_tls_gnu_daemon_init
      Src: /src/mhd2/src/mhd2/tls_multi_funcs.c:230,1
    - Dst: mhd_M_DEBUG_PRINT
      Src: /src/mhd2/src/mhd2/tls_multi_funcs.c:236,1
    - Dst: mhd_M_DEBUG_PRINT1
      Src: /src/mhd2/src/mhd2/tls_multi_funcs.c:241,1
    - Dst: mhd_tls_open_is_inited_fine
      Src: /src/mhd2/src/mhd2/tls_multi_funcs.c:247,1
    - Dst: mhd_tls_open_daemon_init
      Src: /src/mhd2/src/mhd2/tls_multi_funcs.c:249,1
    - Dst: mhd_M_DEBUG_PRINT
      Src: /src/mhd2/src/mhd2/tls_multi_funcs.c:255,1
    - Dst: mhd_M_DEBUG_PRINT1
      Src: /src/mhd2/src/mhd2/tls_multi_funcs.c:260,1
    - Dst: mhd_tls_mbed_is_inited_fine
      Src: /src/mhd2/src/mhd2/tls_multi_funcs.c:266,1
    - Dst: mhd_tls_mbed_daemon_init
      Src: /src/mhd2/src/mhd2/tls_multi_funcs.c:268,1
    - Dst: mhd_M_DEBUG_PRINT
      Src: /src/mhd2/src/mhd2/tls_multi_funcs.c:274,1
    - Dst: mhd_M_DEBUG_PRINT1
      Src: /src/mhd2/src/mhd2/tls_multi_funcs.c:279,1
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/tls_multi_funcs.c:287,1
    - Dst: mhd_UNREACHABLE
      Src: /src/mhd2/src/mhd2/tls_multi_funcs.c:288,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 43
    argCount: 5
    argNames:
    - route
    - d
    - sk_edge_trigg
    - s
    - d_tls
    argTypes:
    - enum mhd_TlsMultiRoute
    - struct MHD_Daemon*
    - bool
    - struct DaemonOptions*
    - struct mhd_TlsMultiDaemonData*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 290
      start: 211
    functionDepth: 7
    functionLinenumber: 211
    functionLinenumberEnd: 290
    functionName: tls_daemon_init_try
    functionSourceFile: /src/mhd2/src/mhd2/tls_multi_funcs.c
    functionUses: 0
    functionsReached:
    - mhd_tls_open_is_inited_fine
    - mhd_tls_mbed_is_inited_fine
    - mhd_M_DEBUG_PRINT1
    - mhd_tls_gnu_daemon_init
    - mhd_tls_mbed_daemon_init
    - mhd_UNREACHABLE
    - mhd_tls_gnu_is_inited_fine
    - mhd_M_DEBUG_PRINT
    - mhd_tls_open_daemon_init
    - mhd_assert
    linkageType: ''
    returnType: mhd_StatusCodeInt
    signature: "mhd_StatusCodeInt tls_daemon_init_try (enum mhd_TlsMultiRoute route,\n
      \                    struct MHD_Daemon *restrict d,\n                     bool
      sk_edge_trigg,\n                     struct DaemonOptions *restrict s,\n                     struct
      mhd_TlsMultiDaemonData *restrict d_tls)"
  - BBCount: 84
    BranchProfiles: []
    Callsites:
    - Dst: mhd_calloc
      Src: /src/mhd2/src/mhd2/tls_multi_funcs.c:303,1
    - Dst: mhd_ARR_NUM_ELEMS
      Src: /src/mhd2/src/mhd2/tls_multi_funcs.c:328,1
    - Dst: tls_daemon_init_try
      Src: /src/mhd2/src/mhd2/tls_multi_funcs.c:330,1
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/tls_multi_funcs.c:342,1
    - Dst: mhd_tls_gnu_is_inited_fine
      Src: /src/mhd2/src/mhd2/tls_multi_funcs.c:342,1
    - Dst: tls_daemon_init_try
      Src: /src/mhd2/src/mhd2/tls_multi_funcs.c:343,1
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/tls_multi_funcs.c:352,1
    - Dst: mhd_tls_open_is_inited_fine
      Src: /src/mhd2/src/mhd2/tls_multi_funcs.c:352,1
    - Dst: tls_daemon_init_try
      Src: /src/mhd2/src/mhd2/tls_multi_funcs.c:353,1
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/tls_multi_funcs.c:362,1
    - Dst: mhd_tls_mbed_is_inited_fine
      Src: /src/mhd2/src/mhd2/tls_multi_funcs.c:362,1
    - Dst: tls_daemon_init_try
      Src: /src/mhd2/src/mhd2/tls_multi_funcs.c:363,1
    - Dst: mhd_UNREACHABLE
      Src: /src/mhd2/src/mhd2/tls_multi_funcs.c:382,1
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/tls_multi_funcs.c:386,1
    - Dst: free
      Src: /src/mhd2/src/mhd2/tls_multi_funcs.c:392,1
    - Dst: mhd_tls_gnu_daemon_deinit
      Src: /src/mhd2/src/mhd2/tls_multi_funcs.c:405,1
    - Dst: mhd_tls_open_daemon_deinit
      Src: /src/mhd2/src/mhd2/tls_multi_funcs.c:410,1
    - Dst: mhd_tls_mbed_daemon_deinit
      Src: /src/mhd2/src/mhd2/tls_multi_funcs.c:415,1
    - Dst: mhd_UNREACHABLE
      Src: /src/mhd2/src/mhd2/tls_multi_funcs.c:420,1
    - Dst: free
      Src: /src/mhd2/src/mhd2/tls_multi_funcs.c:423,1
    - Dst: mhd_tls_gnu_thread_cleanup
      Src: /src/mhd2/src/mhd2/tls_multi_funcs.c:442,1
    - Dst: mhd_tls_open_thread_cleanup
      Src: /src/mhd2/src/mhd2/tls_multi_funcs.c:447,1
    - Dst: mhd_tls_mbed_thread_cleanup
      Src: /src/mhd2/src/mhd2/tls_multi_funcs.c:452,1
    - Dst: mhd_UNREACHABLE
      Src: /src/mhd2/src/mhd2/tls_multi_funcs.c:457,1
    - Dst: mhd_tls_gnu_conn_get_tls_size
      Src: /src/mhd2/src/mhd2/tls_multi_funcs.c:477,1
    - Dst: mhd_tls_open_conn_get_tls_size
      Src: /src/mhd2/src/mhd2/tls_multi_funcs.c:482,1
    - Dst: mhd_tls_mbed_conn_get_tls_size
      Src: /src/mhd2/src/mhd2/tls_multi_funcs.c:487,1
    - Dst: mhd_UNREACHABLE
      Src: /src/mhd2/src/mhd2/tls_multi_funcs.c:492,1
    - Dst: mhd_tls_gnu_conn_init
      Src: /src/mhd2/src/mhd2/tls_multi_funcs.c:512,1
    - Dst: mhd_tls_open_conn_init
      Src: /src/mhd2/src/mhd2/tls_multi_funcs.c:520,1
    - Dst: mhd_tls_mbed_conn_init
      Src: /src/mhd2/src/mhd2/tls_multi_funcs.c:528,1
    - Dst: mhd_UNREACHABLE
      Src: /src/mhd2/src/mhd2/tls_multi_funcs.c:534,1
    - Dst: mhd_tls_gnu_conn_deinit
      Src: /src/mhd2/src/mhd2/tls_multi_funcs.c:554,1
    - Dst: mhd_tls_open_conn_deinit
      Src: /src/mhd2/src/mhd2/tls_multi_funcs.c:559,1
    - Dst: mhd_tls_mbed_conn_deinit
      Src: /src/mhd2/src/mhd2/tls_multi_funcs.c:564,1
    - Dst: mhd_UNREACHABLE
      Src: /src/mhd2/src/mhd2/tls_multi_funcs.c:569,1
    - Dst: mhd_tls_gnu_conn_handshake
      Src: /src/mhd2/src/mhd2/tls_multi_funcs.c:584,1
    - Dst: mhd_tls_open_conn_handshake
      Src: /src/mhd2/src/mhd2/tls_multi_funcs.c:588,1
    - Dst: mhd_tls_mbed_conn_handshake
      Src: /src/mhd2/src/mhd2/tls_multi_funcs.c:592,1
    - Dst: mhd_UNREACHABLE
      Src: /src/mhd2/src/mhd2/tls_multi_funcs.c:596,1
    - Dst: mhd_tls_gnu_conn_shutdown
      Src: /src/mhd2/src/mhd2/tls_multi_funcs.c:611,1
    - Dst: mhd_tls_open_conn_shutdown
      Src: /src/mhd2/src/mhd2/tls_multi_funcs.c:615,1
    - Dst: mhd_tls_mbed_conn_shutdown
      Src: /src/mhd2/src/mhd2/tls_multi_funcs.c:619,1
    - Dst: mhd_UNREACHABLE
      Src: /src/mhd2/src/mhd2/tls_multi_funcs.c:623,1
    - Dst: MHD_FN_PAR_OUT_
      Src: /src/mhd2/src/mhd2/tls_multi_funcs.c:634,1
    - Dst: MHD_FN_PAR_DYN_ARR_SIZE_
      Src: /src/mhd2/src/mhd2/tls_multi_funcs.c:637,1
    - Dst: mhd_tls_gnu_conn_recv
      Src: /src/mhd2/src/mhd2/tls_multi_funcs.c:644,1
    - Dst: mhd_tls_open_conn_recv
      Src: /src/mhd2/src/mhd2/tls_multi_funcs.c:651,1
    - Dst: mhd_tls_mbed_conn_recv
      Src: /src/mhd2/src/mhd2/tls_multi_funcs.c:658,1
    - Dst: mhd_UNREACHABLE
      Src: /src/mhd2/src/mhd2/tls_multi_funcs.c:665,1
    - Dst: mhd_tls_gnu_conn_has_cstm_tr
      Src: /src/mhd2/src/mhd2/tls_multi_funcs.c:680,1
    - Dst: mhd_tls_open_conn_has_cstm_tr
      Src: /src/mhd2/src/mhd2/tls_multi_funcs.c:684,1
    - Dst: mhd_tls_mbed_conn_has_cstm_tr
      Src: /src/mhd2/src/mhd2/tls_multi_funcs.c:688,1
    - Dst: mhd_UNREACHABLE
      Src: /src/mhd2/src/mhd2/tls_multi_funcs.c:692,1
    - Dst: mhd_tls_gnu_conn_has_data_in
      Src: /src/mhd2/src/mhd2/tls_multi_funcs.c:706,1
    - Dst: mhd_tls_open_conn_has_data_in
      Src: /src/mhd2/src/mhd2/tls_multi_funcs.c:710,1
    - Dst: mhd_tls_mbed_conn_has_data_in
      Src: /src/mhd2/src/mhd2/tls_multi_funcs.c:714,1
    - Dst: mhd_UNREACHABLE
      Src: /src/mhd2/src/mhd2/tls_multi_funcs.c:718,1
    - Dst: MHD_FN_PAR_OUT_
      Src: /src/mhd2/src/mhd2/tls_multi_funcs.c:727,1
    - Dst: MHD_FN_PAR_DYN_ARR_SIZE_
      Src: /src/mhd2/src/mhd2/tls_multi_funcs.c:730,1
    - Dst: mhd_tls_gnu_conn_send
      Src: /src/mhd2/src/mhd2/tls_multi_funcs.c:739,1
    - Dst: mhd_tls_open_conn_send
      Src: /src/mhd2/src/mhd2/tls_multi_funcs.c:747,1
    - Dst: mhd_tls_mbed_conn_send
      Src: /src/mhd2/src/mhd2/tls_multi_funcs.c:755,1
    - Dst: mhd_UNREACHABLE
      Src: /src/mhd2/src/mhd2/tls_multi_funcs.c:763,1
    - Dst: mhd_tls_gnu_conn_get_tls_sess
      Src: /src/mhd2/src/mhd2/tls_multi_funcs.c:782,1
    - Dst: mhd_tls_open_conn_get_tls_sess
      Src: /src/mhd2/src/mhd2/tls_multi_funcs.c:788,1
    - Dst: mhd_tls_mbed_conn_get_tls_sess
      Src: /src/mhd2/src/mhd2/tls_multi_funcs.c:794,1
    - Dst: mhd_UNREACHABLE
      Src: /src/mhd2/src/mhd2/tls_multi_funcs.c:800,1
    - Dst: mhd_tls_gnu_conn_get_tls_ver
      Src: /src/mhd2/src/mhd2/tls_multi_funcs.c:815,1
    - Dst: mhd_tls_open_conn_get_tls_ver
      Src: /src/mhd2/src/mhd2/tls_multi_funcs.c:820,1
    - Dst: mhd_tls_mbed_conn_get_tls_ver
      Src: /src/mhd2/src/mhd2/tls_multi_funcs.c:825,1
    - Dst: mhd_UNREACHABLE
      Src: /src/mhd2/src/mhd2/tls_multi_funcs.c:830,1
    - Dst: mhd_tls_gnu_conn_get_alpn_prot
      Src: /src/mhd2/src/mhd2/tls_multi_funcs.c:844,1
    - Dst: mhd_tls_open_conn_get_alpn_prot
      Src: /src/mhd2/src/mhd2/tls_multi_funcs.c:848,1
    - Dst: mhd_tls_mbed_conn_get_alpn_prot
      Src: /src/mhd2/src/mhd2/tls_multi_funcs.c:852,1
    - Dst: mhd_UNREACHABLE
      Src: /src/mhd2/src/mhd2/tls_multi_funcs.c:856,1
    CyclomaticComplexity: 53
    EdgeCount: 53
    ICount: 259
    argCount: 4
    argNames:
    - d
    - sk_edge_trigg
    - s
    - p_d_tls
    argTypes:
    - struct MHD_Daemon*
    - bool
    - struct DaemonOptions*
    - struct mhd_TlsMultiDaemonData**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 860
      start: 293
    functionDepth: 8
    functionLinenumber: 293
    functionLinenumberEnd: 860
    functionName: mhd_tls_multi_daemon_init
    functionSourceFile: /src/mhd2/src/mhd2/tls_multi_funcs.c
    functionUses: 0
    functionsReached:
    - mhd_tls_open_is_inited_fine
    - mhd_tls_gnu_conn_has_data_in
    - mhd_tls_mbed_conn_has_cstm_tr
    - mhd_tls_mbed_conn_has_data_in
    - mhd_tls_mbed_conn_send
    - mhd_tls_gnu_thread_cleanup
    - mhd_tls_open_conn_get_alpn_prot
    - tls_daemon_init_try
    - mhd_tls_gnu_conn_send
    - mhd_tls_open_conn_get_tls_size
    - mhd_tls_gnu_conn_get_tls_size
    - mhd_tls_gnu_conn_get_tls_ver
    - mhd_tls_open_conn_has_data_in
    - mhd_tls_gnu_conn_has_cstm_tr
    - mhd_tls_open_conn_handshake
    - free
    - mhd_tls_mbed_conn_get_alpn_prot
    - mhd_tls_mbed_conn_deinit
    - MHD_FN_PAR_DYN_ARR_SIZE_
    - mhd_tls_mbed_conn_handshake
    - mhd_tls_gnu_conn_init
    - mhd_tls_mbed_thread_cleanup
    - mhd_tls_mbed_conn_get_tls_ver
    - mhd_tls_open_daemon_deinit
    - mhd_tls_open_thread_cleanup
    - mhd_tls_mbed_is_inited_fine
    - MHD_FN_PAR_OUT_
    - mhd_tls_gnu_conn_recv
    - mhd_UNREACHABLE
    - mhd_tls_mbed_conn_init
    - mhd_tls_gnu_is_inited_fine
    - mhd_tls_mbed_conn_get_tls_size
    - mhd_ARR_NUM_ELEMS
    - mhd_tls_gnu_conn_get_tls_sess
    - mhd_tls_gnu_conn_get_alpn_prot
    - mhd_tls_gnu_conn_handshake
    - mhd_tls_open_conn_get_tls_sess
    - mhd_tls_open_conn_deinit
    - mhd_tls_mbed_conn_shutdown
    - mhd_tls_open_conn_send
    - mhd_tls_mbed_conn_recv
    - mhd_tls_open_conn_has_cstm_tr
    - mhd_tls_gnu_daemon_deinit
    - mhd_tls_open_conn_shutdown
    - mhd_tls_open_conn_get_tls_ver
    - mhd_tls_open_conn_init
    - mhd_tls_gnu_conn_deinit
    - mhd_calloc
    - mhd_tls_mbed_daemon_deinit
    - mhd_tls_gnu_conn_shutdown
    - mhd_tls_open_conn_recv
    - mhd_tls_mbed_conn_get_tls_sess
    - mhd_assert
    linkageType: ''
    returnType: MHD_INTERNAL
    signature: "MHD_INTERNAL mhd_tls_multi_daemon_init (struct MHD_Daemon *restrict
      d,\n                           bool sk_edge_trigg,\n                           struct
      DaemonOptions *restrict s,\n                           struct mhd_TlsMultiDaemonData
      **restrict p_d_tls)"
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: mhd_tls_gnu_daemon_deinit
      Src: /src/mhd2/src/mhd2/tls_multi_funcs.c:405,1
    - Dst: mhd_tls_open_daemon_deinit
      Src: /src/mhd2/src/mhd2/tls_multi_funcs.c:410,1
    - Dst: mhd_tls_mbed_daemon_deinit
      Src: /src/mhd2/src/mhd2/tls_multi_funcs.c:415,1
    - Dst: mhd_UNREACHABLE
      Src: /src/mhd2/src/mhd2/tls_multi_funcs.c:420,1
    - Dst: free
      Src: /src/mhd2/src/mhd2/tls_multi_funcs.c:423,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 17
    argCount: 1
    argNames:
    - d_tls
    argTypes:
    - struct mhd_TlsMultiDaemonData*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 424
      start: 398
    functionDepth: 3
    functionLinenumber: 398
    functionLinenumberEnd: 424
    functionName: mhd_tls_multi_daemon_deinit
    functionSourceFile: /src/mhd2/src/mhd2/tls_multi_funcs.c
    functionUses: 0
    functionsReached:
    - mhd_tls_open_daemon_deinit
    - mhd_tls_gnu_daemon_deinit
    - free
    - mhd_UNREACHABLE
    - mhd_tls_mbed_daemon_deinit
    linkageType: ''
    returnType: void
    signature: void mhd_tls_multi_daemon_deinit (struct mhd_TlsMultiDaemonData *restrict
      d_tls)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: mhd_tls_gnu_thread_cleanup
      Src: /src/mhd2/src/mhd2/tls_multi_funcs.c:442,1
    - Dst: mhd_tls_open_thread_cleanup
      Src: /src/mhd2/src/mhd2/tls_multi_funcs.c:447,1
    - Dst: mhd_tls_mbed_thread_cleanup
      Src: /src/mhd2/src/mhd2/tls_multi_funcs.c:452,1
    - Dst: mhd_UNREACHABLE
      Src: /src/mhd2/src/mhd2/tls_multi_funcs.c:457,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 16
    argCount: 1
    argNames:
    - d_tls
    argTypes:
    - struct mhd_TlsMultiDaemonData*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 460
      start: 435
    functionDepth: 1
    functionLinenumber: 435
    functionLinenumberEnd: 460
    functionName: mhd_tls_multi_thread_cleanup
    functionSourceFile: /src/mhd2/src/mhd2/tls_multi_funcs.c
    functionUses: 0
    functionsReached:
    - mhd_tls_gnu_thread_cleanup
    - mhd_tls_mbed_thread_cleanup
    - mhd_UNREACHABLE
    - mhd_tls_open_thread_cleanup
    linkageType: ''
    returnType: void
    signature: void mhd_tls_multi_thread_cleanup (struct mhd_TlsMultiDaemonData *restrict
      d_tls)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: mhd_tls_gnu_conn_get_tls_size
      Src: /src/mhd2/src/mhd2/tls_multi_funcs.c:477,1
    - Dst: mhd_tls_open_conn_get_tls_size
      Src: /src/mhd2/src/mhd2/tls_multi_funcs.c:482,1
    - Dst: mhd_tls_mbed_conn_get_tls_size
      Src: /src/mhd2/src/mhd2/tls_multi_funcs.c:487,1
    - Dst: mhd_UNREACHABLE
      Src: /src/mhd2/src/mhd2/tls_multi_funcs.c:492,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 17
    argCount: 1
    argNames:
    - d_tls
    argTypes:
    - struct mhd_TlsMultiDaemonData*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 496
      start: 467
    functionDepth: 1
    functionLinenumber: 467
    functionLinenumberEnd: 496
    functionName: mhd_tls_multi_conn_get_tls_size
    functionSourceFile: /src/mhd2/src/mhd2/tls_multi_funcs.c
    functionUses: 0
    functionsReached:
    - mhd_UNREACHABLE
    - mhd_tls_open_conn_get_tls_size
    - mhd_tls_gnu_conn_get_tls_size
    - mhd_tls_mbed_conn_get_tls_size
    linkageType: ''
    returnType: MHD_INTERNAL
    signature: MHD_INTERNAL mhd_tls_multi_conn_get_tls_size (struct mhd_TlsMultiDaemonData
      *restrict d_tls)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: mhd_tls_gnu_conn_init
      Src: /src/mhd2/src/mhd2/tls_multi_funcs.c:512,1
    - Dst: mhd_tls_open_conn_init
      Src: /src/mhd2/src/mhd2/tls_multi_funcs.c:520,1
    - Dst: mhd_tls_mbed_conn_init
      Src: /src/mhd2/src/mhd2/tls_multi_funcs.c:528,1
    - Dst: mhd_UNREACHABLE
      Src: /src/mhd2/src/mhd2/tls_multi_funcs.c:534,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 18
    argCount: 3
    argNames:
    - d_tls
    - sk
    - c_tls
    argTypes:
    - struct mhd_TlsMultiDaemonData*
    - struct mhd_ConnSocket*
    - struct mhd_TlsMultiConnData*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 539
      start: 499
    functionDepth: 2
    functionLinenumber: 499
    functionLinenumberEnd: 539
    functionName: mhd_tls_multi_conn_init
    functionSourceFile: /src/mhd2/src/mhd2/tls_multi_funcs.c
    functionUses: 0
    functionsReached:
    - mhd_tls_gnu_conn_init
    - mhd_UNREACHABLE
    - mhd_tls_mbed_conn_init
    - mhd_tls_open_conn_init
    linkageType: ''
    returnType: MHD_INTERNAL
    signature: "MHD_INTERNAL mhd_tls_multi_conn_init (const struct mhd_TlsMultiDaemonData
      *restrict d_tls,\n                         struct mhd_ConnSocket *sk,\n                         struct
      mhd_TlsMultiConnData *restrict c_tls)"
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: mhd_tls_gnu_conn_deinit
      Src: /src/mhd2/src/mhd2/tls_multi_funcs.c:554,1
    - Dst: mhd_tls_open_conn_deinit
      Src: /src/mhd2/src/mhd2/tls_multi_funcs.c:559,1
    - Dst: mhd_tls_mbed_conn_deinit
      Src: /src/mhd2/src/mhd2/tls_multi_funcs.c:564,1
    - Dst: mhd_UNREACHABLE
      Src: /src/mhd2/src/mhd2/tls_multi_funcs.c:569,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 15
    argCount: 1
    argNames:
    - c_tls
    argTypes:
    - struct mhd_TlsMultiConnData*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 571
      start: 547
    functionDepth: 2
    functionLinenumber: 547
    functionLinenumberEnd: 571
    functionName: mhd_tls_multi_conn_deinit
    functionSourceFile: /src/mhd2/src/mhd2/tls_multi_funcs.c
    functionUses: 0
    functionsReached:
    - mhd_tls_open_conn_deinit
    - mhd_UNREACHABLE
    - mhd_tls_mbed_conn_deinit
    - mhd_tls_gnu_conn_deinit
    linkageType: ''
    returnType: MHD_INTERNAL
    signature: MHD_INTERNAL mhd_tls_multi_conn_deinit (struct mhd_TlsMultiConnData
      *restrict c_tls)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: mhd_tls_gnu_conn_handshake
      Src: /src/mhd2/src/mhd2/tls_multi_funcs.c:584,1
    - Dst: mhd_tls_open_conn_handshake
      Src: /src/mhd2/src/mhd2/tls_multi_funcs.c:588,1
    - Dst: mhd_tls_mbed_conn_handshake
      Src: /src/mhd2/src/mhd2/tls_multi_funcs.c:592,1
    - Dst: mhd_UNREACHABLE
      Src: /src/mhd2/src/mhd2/tls_multi_funcs.c:596,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 14
    argCount: 1
    argNames:
    - c_tls
    argTypes:
    - struct mhd_TlsMultiConnData*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 600
      start: 577
    functionDepth: 2
    functionLinenumber: 577
    functionLinenumberEnd: 600
    functionName: mhd_tls_multi_conn_handshake
    functionSourceFile: /src/mhd2/src/mhd2/tls_multi_funcs.c
    functionUses: 0
    functionsReached:
    - mhd_UNREACHABLE
    - mhd_tls_open_conn_handshake
    - mhd_tls_gnu_conn_handshake
    - mhd_tls_mbed_conn_handshake
    linkageType: ''
    returnType: enum mhd_TlsProcedureResult
    signature: enum mhd_TlsProcedureResult mhd_tls_multi_conn_handshake (struct mhd_TlsMultiConnData
      *restrict c_tls)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: mhd_tls_gnu_conn_shutdown
      Src: /src/mhd2/src/mhd2/tls_multi_funcs.c:611,1
    - Dst: mhd_tls_open_conn_shutdown
      Src: /src/mhd2/src/mhd2/tls_multi_funcs.c:615,1
    - Dst: mhd_tls_mbed_conn_shutdown
      Src: /src/mhd2/src/mhd2/tls_multi_funcs.c:619,1
    - Dst: mhd_UNREACHABLE
      Src: /src/mhd2/src/mhd2/tls_multi_funcs.c:623,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 14
    argCount: 1
    argNames:
    - c_tls
    argTypes:
    - struct mhd_TlsMultiConnData*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 627
      start: 604
    functionDepth: 2
    functionLinenumber: 604
    functionLinenumberEnd: 627
    functionName: mhd_tls_multi_conn_shutdown
    functionSourceFile: /src/mhd2/src/mhd2/tls_multi_funcs.c
    functionUses: 0
    functionsReached:
    - mhd_tls_gnu_conn_shutdown
    - mhd_tls_mbed_conn_shutdown
    - mhd_UNREACHABLE
    - mhd_tls_open_conn_shutdown
    linkageType: ''
    returnType: enum mhd_TlsProcedureResult
    signature: enum mhd_TlsProcedureResult mhd_tls_multi_conn_shutdown (struct mhd_TlsMultiConnData
      *restrict c_tls)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: MHD_FN_PAR_DYN_ARR_SIZE_
      Src: /src/mhd2/src/mhd2/tls_multi_funcs.c:637,1
    - Dst: mhd_tls_gnu_conn_recv
      Src: /src/mhd2/src/mhd2/tls_multi_funcs.c:644,1
    - Dst: mhd_tls_open_conn_recv
      Src: /src/mhd2/src/mhd2/tls_multi_funcs.c:651,1
    - Dst: mhd_tls_mbed_conn_recv
      Src: /src/mhd2/src/mhd2/tls_multi_funcs.c:658,1
    - Dst: mhd_UNREACHABLE
      Src: /src/mhd2/src/mhd2/tls_multi_funcs.c:665,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 14
    argCount: 4
    argNames:
    - c_tls
    - buf_size
    - buf
    - received
    argTypes:
    - struct mhd_TlsMultiConnData*
    - size_t
    - char[]
    - size_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 669
      start: 634
    functionDepth: 2
    functionLinenumber: 634
    functionLinenumberEnd: 669
    functionName: mhd_tls_multi_conn_recv
    functionSourceFile: /src/mhd2/src/mhd2/tls_multi_funcs.c
    functionUses: 0
    functionsReached:
    - mhd_tls_mbed_conn_recv
    - mhd_tls_gnu_conn_recv
    - mhd_UNREACHABLE
    - MHD_FN_PAR_DYN_ARR_SIZE_
    - mhd_tls_open_conn_recv
    linkageType: ''
    returnType: enum mhd_SocketError
    signature: "enum mhd_SocketError mhd_tls_multi_conn_recv (struct mhd_TlsMultiConnData
      *restrict c_tls,\n                         size_t buf_size,\n                         char
      buf[MHD_FN_PAR_DYN_ARR_SIZE_ (buf_size)],\n                         size_t *restrict
      received)"
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: mhd_tls_gnu_conn_has_cstm_tr
      Src: /src/mhd2/src/mhd2/tls_multi_funcs.c:680,1
    - Dst: mhd_tls_open_conn_has_cstm_tr
      Src: /src/mhd2/src/mhd2/tls_multi_funcs.c:684,1
    - Dst: mhd_tls_mbed_conn_has_cstm_tr
      Src: /src/mhd2/src/mhd2/tls_multi_funcs.c:688,1
    - Dst: mhd_UNREACHABLE
      Src: /src/mhd2/src/mhd2/tls_multi_funcs.c:692,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 15
    argCount: 1
    argNames:
    - c_tls
    argTypes:
    - struct mhd_TlsMultiConnData*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 696
      start: 672
    functionDepth: 1
    functionLinenumber: 672
    functionLinenumberEnd: 696
    functionName: mhd_tls_multi_conn_has_cstm_tr
    functionSourceFile: /src/mhd2/src/mhd2/tls_multi_funcs.c
    functionUses: 0
    functionsReached:
    - mhd_tls_gnu_conn_has_cstm_tr
    - mhd_tls_open_conn_has_cstm_tr
    - mhd_UNREACHABLE
    - mhd_tls_mbed_conn_has_cstm_tr
    linkageType: ''
    returnType: MHD_INTERNAL
    signature: MHD_INTERNAL mhd_tls_multi_conn_has_cstm_tr (struct mhd_TlsMultiConnData
      *restrict c_tls)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: mhd_tls_gnu_conn_has_data_in
      Src: /src/mhd2/src/mhd2/tls_multi_funcs.c:706,1
    - Dst: mhd_tls_open_conn_has_data_in
      Src: /src/mhd2/src/mhd2/tls_multi_funcs.c:710,1
    - Dst: mhd_tls_mbed_conn_has_data_in
      Src: /src/mhd2/src/mhd2/tls_multi_funcs.c:714,1
    - Dst: mhd_UNREACHABLE
      Src: /src/mhd2/src/mhd2/tls_multi_funcs.c:718,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 14
    argCount: 1
    argNames:
    - c_tls
    argTypes:
    - struct mhd_TlsMultiConnData*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 722
      start: 699
    functionDepth: 1
    functionLinenumber: 699
    functionLinenumberEnd: 722
    functionName: mhd_tls_multi_conn_has_data_in
    functionSourceFile: /src/mhd2/src/mhd2/tls_multi_funcs.c
    functionUses: 0
    functionsReached:
    - mhd_tls_gnu_conn_has_data_in
    - mhd_tls_mbed_conn_has_data_in
    - mhd_UNREACHABLE
    - mhd_tls_open_conn_has_data_in
    linkageType: ''
    returnType: MHD_INTERNAL
    signature: MHD_INTERNAL mhd_tls_multi_conn_has_data_in (struct mhd_TlsMultiConnData
      *restrict c_tls)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: MHD_FN_PAR_DYN_ARR_SIZE_
      Src: /src/mhd2/src/mhd2/tls_multi_funcs.c:730,1
    - Dst: mhd_tls_gnu_conn_send
      Src: /src/mhd2/src/mhd2/tls_multi_funcs.c:739,1
    - Dst: mhd_tls_open_conn_send
      Src: /src/mhd2/src/mhd2/tls_multi_funcs.c:747,1
    - Dst: mhd_tls_mbed_conn_send
      Src: /src/mhd2/src/mhd2/tls_multi_funcs.c:755,1
    - Dst: mhd_UNREACHABLE
      Src: /src/mhd2/src/mhd2/tls_multi_funcs.c:763,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 15
    argCount: 5
    argNames:
    - c_tls
    - buf_size
    - buf
    - push_data
    - sent
    argTypes:
    - struct mhd_TlsMultiConnData*
    - size_t
    - char[]
    - bool
    - size_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 767
      start: 727
    functionDepth: 3
    functionLinenumber: 727
    functionLinenumberEnd: 767
    functionName: mhd_tls_multi_conn_send
    functionSourceFile: /src/mhd2/src/mhd2/tls_multi_funcs.c
    functionUses: 0
    functionsReached:
    - mhd_tls_open_conn_send
    - mhd_UNREACHABLE
    - MHD_FN_PAR_DYN_ARR_SIZE_
    - mhd_tls_gnu_conn_send
    - mhd_tls_mbed_conn_send
    linkageType: ''
    returnType: enum mhd_SocketError
    signature: "enum mhd_SocketError mhd_tls_multi_conn_send (struct mhd_TlsMultiConnData
      *restrict c_tls,\n                         size_t buf_size,\n                         const
      char buf[MHD_FN_PAR_DYN_ARR_SIZE_ (buf_size)],\n                         bool
      push_data,\n                         size_t *restrict sent)"
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: mhd_tls_gnu_conn_get_tls_sess
      Src: /src/mhd2/src/mhd2/tls_multi_funcs.c:782,1
    - Dst: mhd_tls_open_conn_get_tls_sess
      Src: /src/mhd2/src/mhd2/tls_multi_funcs.c:788,1
    - Dst: mhd_tls_mbed_conn_get_tls_sess
      Src: /src/mhd2/src/mhd2/tls_multi_funcs.c:794,1
    - Dst: mhd_UNREACHABLE
      Src: /src/mhd2/src/mhd2/tls_multi_funcs.c:800,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 16
    argCount: 2
    argNames:
    - c_tls
    - tls_sess_out
    argTypes:
    - struct mhd_TlsMultiConnData*
    - union MHD_ConnInfoDynamicTlsSess*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 803
      start: 773
    functionDepth: 1
    functionLinenumber: 773
    functionLinenumberEnd: 803
    functionName: mhd_tls_multi_conn_get_tls_sess
    functionSourceFile: /src/mhd2/src/mhd2/tls_multi_funcs.c
    functionUses: 0
    functionsReached:
    - mhd_tls_mbed_conn_get_tls_sess
    - mhd_UNREACHABLE
    - mhd_tls_gnu_conn_get_tls_sess
    - mhd_tls_open_conn_get_tls_sess
    linkageType: ''
    returnType: void
    signature: "void mhd_tls_multi_conn_get_tls_sess (\n  struct mhd_TlsMultiConnData
      *restrict c_tls,\n  union MHD_ConnInfoDynamicTlsSess *restrict tls_sess_out)"
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: mhd_tls_gnu_conn_get_tls_ver
      Src: /src/mhd2/src/mhd2/tls_multi_funcs.c:815,1
    - Dst: mhd_tls_open_conn_get_tls_ver
      Src: /src/mhd2/src/mhd2/tls_multi_funcs.c:820,1
    - Dst: mhd_tls_mbed_conn_get_tls_ver
      Src: /src/mhd2/src/mhd2/tls_multi_funcs.c:825,1
    - Dst: mhd_UNREACHABLE
      Src: /src/mhd2/src/mhd2/tls_multi_funcs.c:830,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 14
    argCount: 2
    argNames:
    - c_tls
    - tls_ver_out
    argTypes:
    - struct mhd_TlsMultiConnData*
    - struct mhd_StctTlsVersion*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 834
      start: 807
    functionDepth: 2
    functionLinenumber: 807
    functionLinenumberEnd: 834
    functionName: mhd_tls_multi_conn_get_tls_ver
    functionSourceFile: /src/mhd2/src/mhd2/tls_multi_funcs.c
    functionUses: 0
    functionsReached:
    - mhd_tls_mbed_conn_get_tls_ver
    - mhd_tls_open_conn_get_tls_ver
    - mhd_UNREACHABLE
    - mhd_tls_gnu_conn_get_tls_ver
    linkageType: ''
    returnType: bool
    signature: "bool mhd_tls_multi_conn_get_tls_ver (struct mhd_TlsMultiConnData *restrict
      c_tls,\n                                struct mhd_StctTlsVersion *restrict
      tls_ver_out)"
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: mhd_tls_gnu_conn_get_alpn_prot
      Src: /src/mhd2/src/mhd2/tls_multi_funcs.c:844,1
    - Dst: mhd_tls_open_conn_get_alpn_prot
      Src: /src/mhd2/src/mhd2/tls_multi_funcs.c:848,1
    - Dst: mhd_tls_mbed_conn_get_alpn_prot
      Src: /src/mhd2/src/mhd2/tls_multi_funcs.c:852,1
    - Dst: mhd_UNREACHABLE
      Src: /src/mhd2/src/mhd2/tls_multi_funcs.c:856,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 14
    argCount: 1
    argNames:
    - c_tls
    argTypes:
    - struct mhd_TlsMultiConnData*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 860
      start: 837
    functionDepth: 2
    functionLinenumber: 837
    functionLinenumberEnd: 860
    functionName: mhd_tls_multi_conn_get_alpn_prot
    functionSourceFile: /src/mhd2/src/mhd2/tls_multi_funcs.c
    functionUses: 0
    functionsReached:
    - mhd_tls_open_conn_get_alpn_prot
    - mhd_tls_mbed_conn_get_alpn_prot
    - mhd_tls_gnu_conn_get_alpn_prot
    - mhd_UNREACHABLE
    linkageType: ''
    returnType: MHD_INTERNAL
    signature: MHD_INTERNAL mhd_tls_multi_conn_get_alpn_prot (struct mhd_TlsMultiConnData
      *restrict c_tls)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/conn_data_recv.c:72,1
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/conn_data_recv.c:73,1
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/conn_data_recv.c:74,1
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/conn_data_recv.c:75,1
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/conn_data_recv.c:77,1
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/conn_data_recv.c:79,1
    - Dst: mhd_recv
      Src: /src/mhd2/src/mhd2/conn_data_recv.c:84,1
    - Dst: mhd_SOCKET_ERR_IS_HARD
      Src: /src/mhd2/src/mhd2/conn_data_recv.c:101,1
    - Dst: mhd_sckt_recv
      Src: /src/mhd2/src/mhd2/conn_data_recv.c:105,1
    - Dst: mhd_SOCKET_ERR_IS_HARD
      Src: /src/mhd2/src/mhd2/conn_data_recv.c:110,1
    - Dst: mhd_SCKT_NET_ST_SET_FLAG
      Src: /src/mhd2/src/mhd2/conn_data_recv.c:113,1
    - Dst: mhd_socket_error_get_from_socket
      Src: /src/mhd2/src/mhd2/conn_data_recv.c:118,1
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/conn_data_recv.c:119,1
    - Dst: mhd_conn_update_activity_mark
      Src: /src/mhd2/src/mhd2/conn_data_recv.c:130,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 34
    argCount: 2
    argNames:
    - c
    - has_err
    argTypes:
    - struct MHD_Connection*
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 132
      start: 63
    functionDepth: 1
    functionLinenumber: 63
    functionLinenumberEnd: 132
    functionName: mhd_conn_data_recv
    functionSourceFile: /src/mhd2/src/mhd2/conn_data_recv.c
    functionUses: 1
    functionsReached:
    - mhd_socket_error_get_from_socket
    - mhd_sckt_recv
    - mhd_conn_update_activity_mark
    - mhd_SCKT_NET_ST_SET_FLAG
    - mhd_SOCKET_ERR_IS_HARD
    - mhd_recv
    - mhd_assert
    linkageType: ''
    returnType: MHD_INTERNAL
    signature: "MHD_INTERNAL mhd_conn_data_recv (struct MHD_Connection *c,\n                    bool
      has_err)"
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: mhd_MSTR_INIT
      Src: /src/mhd2/src/mhd2/post_parser_funcs.c:112,1
    - Dst: mhd_MSTR_INIT
      Src: /src/mhd2/src/mhd2/post_parser_funcs.c:114,1
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/post_parser_funcs.c:120,1
    - Dst: mhd_str_starts_with_token_req_param
      Src: /src/mhd2/src/mhd2/post_parser_funcs.c:122,1
    - Dst: mhd_LOG_PRINT
      Src: /src/mhd2/src/mhd2/post_parser_funcs.c:133,1
    - Dst: mhd_LOG_FMT
      Src: /src/mhd2/src/mhd2/post_parser_funcs.c:135,1
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/post_parser_funcs.c:147,1
    - Dst: mhd_LOG_MSG
      Src: /src/mhd2/src/mhd2/post_parser_funcs.c:151,1
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/post_parser_funcs.c:161,1
    - Dst: mhd_stream_alloc_memory
      Src: /src/mhd2/src/mhd2/post_parser_funcs.c:164,1
    - Dst: mhd_LOG_MSG
      Src: /src/mhd2/src/mhd2/post_parser_funcs.c:172,1
    - Dst: memcpy
      Src: /src/mhd2/src/mhd2/post_parser_funcs.c:188,1
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/post_parser_funcs.c:197,1
    - Dst: mhd_str_unquote
      Src: /src/mhd2/src/mhd2/post_parser_funcs.c:199,1
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/post_parser_funcs.c:205,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 40
    argCount: 2
    argNames:
    - c
    - h_cnt_tp
    argTypes:
    - struct MHD_Connection*
    - struct MHD_String*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 207
      start: 107
    functionDepth: 1
    functionLinenumber: 107
    functionLinenumberEnd: 207
    functionName: process_mpart_header
    functionSourceFile: /src/mhd2/src/mhd2/post_parser_funcs.c
    functionUses: 0
    functionsReached:
    - memcpy
    - mhd_LOG_FMT
    - mhd_str_starts_with_token_req_param
    - mhd_LOG_MSG
    - mhd_LOG_PRINT
    - mhd_str_unquote
    - mhd_stream_alloc_memory
    - mhd_MSTR_INIT
    - mhd_assert
    linkageType: ''
    returnType: MHD_FN_PAR_NONNULL_ALL_
    signature: "MHD_FN_PAR_NONNULL_ALL_ process_mpart_header (struct MHD_Connection
      *restrict c,\n                      const struct MHD_String *restrict h_cnt_tp)"
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/post_parser_funcs.c:221,1
    - Dst: mhd_request_get_value_st
      Src: /src/mhd2/src/mhd2/post_parser_funcs.c:223,1
    - Dst: mhd_LOG_MSG
      Src: /src/mhd2/src/mhd2/post_parser_funcs.c:228,1
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/post_parser_funcs.c:236,1
    - Dst: mhd_str_equal_caseless_n_st
      Src: /src/mhd2/src/mhd2/post_parser_funcs.c:238,1
    - Dst: process_mpart_header
      Src: /src/mhd2/src/mhd2/post_parser_funcs.c:250,1
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/post_parser_funcs.c:260,1
    - Dst: mhd_MSTR_INIT
      Src: /src/mhd2/src/mhd2/post_parser_funcs.c:265,1
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/post_parser_funcs.c:267,1
    - Dst: mhd_str_starts_with_token_opt_param
      Src: /src/mhd2/src/mhd2/post_parser_funcs.c:271,1
    - Dst: mhd_LOG_MSG
      Src: /src/mhd2/src/mhd2/post_parser_funcs.c:278,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 32
    argCount: 1
    argNames:
    - c
    argTypes:
    - struct MHD_Connection*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 285
      start: 216
    functionDepth: 2
    functionLinenumber: 216
    functionLinenumberEnd: 285
    functionName: '(1) bool

      detect_post_enc (struct MHD_Connection *restrict c)'
    functionSourceFile: /src/mhd2/src/mhd2/post_parser_funcs.c
    functionUses: 0
    functionsReached:
    - process_mpart_header
    - mhd_LOG_MSG
    - mhd_request_get_value_st
    - mhd_MSTR_INIT
    - mhd_str_starts_with_token_opt_param
    - mhd_str_equal_caseless_n_st
    - mhd_assert
    linkageType: ''
    returnType: MHD_FN_PAR_NONNULL_
    signature: 'MHD_FN_PAR_NONNULL_ (1) bool

      detect_post_enc (struct MHD_Connection *restrict c)'
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/post_parser_funcs.c:300,1
    - Dst: mhd_request_get_value_st
      Src: /src/mhd2/src/mhd2/post_parser_funcs.c:303,1
    - Dst: mhd_LOG_MSG
      Src: /src/mhd2/src/mhd2/post_parser_funcs.c:308,1
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/post_parser_funcs.c:316,1
    - Dst: process_mpart_header
      Src: /src/mhd2/src/mhd2/post_parser_funcs.c:318,1
    - Dst: mhd_LOG_MSG
      Src: /src/mhd2/src/mhd2/post_parser_funcs.c:327,1
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/post_parser_funcs.c:336,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 18
    argCount: 1
    argNames:
    - c
    argTypes:
    - struct MHD_Connection*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 338
      start: 294
    functionDepth: 2
    functionLinenumber: 294
    functionLinenumberEnd: 338
    functionName: detect_mpart_boundary_from_the_header
    functionSourceFile: /src/mhd2/src/mhd2/post_parser_funcs.c
    functionUses: 0
    functionsReached:
    - process_mpart_header
    - mhd_LOG_MSG
    - mhd_assert
    - mhd_request_get_value_st
    linkageType: ''
    returnType: MHD_FN_PAR_NONNULL_ALL_
    signature: MHD_FN_PAR_NONNULL_ALL_ detect_mpart_boundary_from_the_header (struct
      MHD_Connection *restrict c)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/post_parser_funcs.c:387,1
    - Dst: memset
      Src: /src/mhd2/src/mhd2/post_parser_funcs.c:388,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 2
    argNames:
    - pdata
    - final
    argTypes:
    - struct mhd_PostParserData*
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 393
      start: 383
    functionDepth: 1
    functionLinenumber: 383
    functionLinenumberEnd: 393
    functionName: "(1) void\nreset_parse_field_data_mpart_cont (struct mhd_PostParserData
      *pdata,\n                                   bool final)"
    functionSourceFile: /src/mhd2/src/mhd2/post_parser_funcs.c
    functionUses: 0
    functionsReached:
    - mhd_assert
    - memset
    linkageType: ''
    returnType: MHD_FN_PAR_NONNULL_
    signature: "MHD_FN_PAR_NONNULL_ (1) void\nreset_parse_field_data_mpart_cont (struct
      mhd_PostParserData *pdata,\n                                   bool final)"
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/post_parser_funcs.c:419,1
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/post_parser_funcs.c:420,1
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/post_parser_funcs.c:422,1
    - Dst: reset_parse_field_data_urlenc
      Src: /src/mhd2/src/mhd2/post_parser_funcs.c:429,1
    - Dst: reset_parse_field_data_mpart_init
      Src: /src/mhd2/src/mhd2/post_parser_funcs.c:432,1
    - Dst: reset_parse_field_data_text
      Src: /src/mhd2/src/mhd2/post_parser_funcs.c:435,1
    - Dst: mhd_UNREACHABLE
      Src: /src/mhd2/src/mhd2/post_parser_funcs.c:439,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 20
    argCount: 1
    argNames:
    - c
    argTypes:
    - struct MHD_Connection*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 442
      start: 413
    functionDepth: 1
    functionLinenumber: 413
    functionLinenumberEnd: 442
    functionName: '(1) void

      init_post_parse_data (struct MHD_Connection *restrict c)'
    functionSourceFile: /src/mhd2/src/mhd2/post_parser_funcs.c
    functionUses: 0
    functionsReached:
    - reset_parse_field_data_urlenc
    - reset_parse_field_data_text
    - mhd_UNREACHABLE
    - mhd_assert
    - reset_parse_field_data_mpart_init
    linkageType: ''
    returnType: MHD_FN_PAR_NONNULL_
    signature: 'MHD_FN_PAR_NONNULL_ (1) void

      init_post_parse_data (struct MHD_Connection *restrict c)'
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/post_parser_funcs.c:449,1
    - Dst: detect_post_enc
      Src: /src/mhd2/src/mhd2/post_parser_funcs.c:453,1
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/post_parser_funcs.c:455,1
    - Dst: detect_mpart_boundary_from_the_header
      Src: /src/mhd2/src/mhd2/post_parser_funcs.c:464,1
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/post_parser_funcs.c:466,1
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/post_parser_funcs.c:475,1
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/post_parser_funcs.c:477,1
    - Dst: init_post_parse_data
      Src: /src/mhd2/src/mhd2/post_parser_funcs.c:481,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 23
    argCount: 1
    argNames:
    - c
    argTypes:
    - struct MHD_Connection*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 484
      start: 446
    functionDepth: 3
    functionLinenumber: 446
    functionLinenumberEnd: 484
    functionName: mhd_stream_prepare_for_post_parse
    functionSourceFile: /src/mhd2/src/mhd2/post_parser_funcs.c
    functionUses: 3
    functionsReached:
    - detect_post_enc
    - detect_mpart_boundary_from_the_header
    - mhd_assert
    - init_post_parse_data
    linkageType: ''
    returnType: bool
    signature: bool mhd_stream_prepare_for_post_parse (struct MHD_Connection *restrict
      c)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/post_parser_funcs.c:503,1
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/post_parser_funcs.c:504,1
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/post_parser_funcs.c:505,1
    - Dst: mhd_daemon_get_lbuf
      Src: /src/mhd2/src/mhd2/post_parser_funcs.c:510,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 3
    argNames:
    - c
    - alloc_size
    - buf
    argTypes:
    - struct MHD_Connection*
    - size_t
    - struct mhd_Buffer*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 513
      start: 498
    functionDepth: 1
    functionLinenumber: 498
    functionLinenumberEnd: 513
    functionName: get_lbuf_fixed_size
    functionSourceFile: /src/mhd2/src/mhd2/post_parser_funcs.c
    functionUses: 0
    functionsReached:
    - mhd_daemon_get_lbuf
    - mhd_assert
    linkageType: ''
    returnType: bool
    signature: "bool get_lbuf_fixed_size (struct MHD_Connection *restrict c,\n                     size_t
      alloc_size,\n                     struct mhd_Buffer *restrict buf)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/post_parser_funcs.c:530,1
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/post_parser_funcs.c:531,1
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/post_parser_funcs.c:532,1
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/post_parser_funcs.c:533,1
    - Dst: mhd_daemon_grow_lbuf
      Src: /src/mhd2/src/mhd2/post_parser_funcs.c:538,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 3
    argNames:
    - c
    - grow_size
    - buf
    argTypes:
    - struct MHD_Connection*
    - size_t
    - struct mhd_Buffer*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 541
      start: 525
    functionDepth: 1
    functionLinenumber: 525
    functionLinenumberEnd: 541
    functionName: grow_lbuf_fixed_size
    functionSourceFile: /src/mhd2/src/mhd2/post_parser_funcs.c
    functionUses: 0
    functionsReached:
    - mhd_assert
    - mhd_daemon_grow_lbuf
    linkageType: ''
    returnType: bool
    signature: "bool grow_lbuf_fixed_size (struct MHD_Connection *restrict c,\n                      size_t
      grow_size,\n                      struct mhd_Buffer *restrict buf)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/post_parser_funcs.c:560,1
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/post_parser_funcs.c:561,1
    - Dst: mhd_daemon_extend_lbuf_up_to
      Src: /src/mhd2/src/mhd2/post_parser_funcs.c:569,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 3
    argNames:
    - c
    - desired_grow_size
    - buf
    argTypes:
    - struct MHD_Connection*
    - size_t
    - struct mhd_Buffer*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 572
      start: 555
    functionDepth: 1
    functionLinenumber: 555
    functionLinenumberEnd: 572
    functionName: extend_lbuf_up_to
    functionSourceFile: /src/mhd2/src/mhd2/post_parser_funcs.c
    functionUses: 3
    functionsReached:
    - mhd_daemon_extend_lbuf_up_to
    - mhd_assert
    linkageType: ''
    returnType: size_t
    signature: "size_t extend_lbuf_up_to (struct MHD_Connection *restrict c,\n                   size_t
      desired_grow_size,\n                   struct mhd_Buffer *restrict buf)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: mhd_LOG_MSG
      Src: /src/mhd2/src/mhd2/post_parser_funcs.c:585,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 9
    argCount: 1
    argNames:
    - c
    argTypes:
    - struct MHD_Connection*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 599
      start: 582
    functionDepth: 1
    functionLinenumber: 582
    functionLinenumberEnd: 599
    functionName: report_low_lbuf_mem
    functionSourceFile: /src/mhd2/src/mhd2/post_parser_funcs.c
    functionUses: 0
    functionsReached:
    - mhd_LOG_MSG
    linkageType: ''
    returnType: MHD_FN_PAR_NONNULL_ALL_
    signature: MHD_FN_PAR_NONNULL_ALL_ report_low_lbuf_mem (struct MHD_Connection
      *restrict c)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: mhd_LOG_MSG
      Src: /src/mhd2/src/mhd2/post_parser_funcs.c:609,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - c
    argTypes:
    - struct MHD_Connection*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 614
      start: 606
    functionDepth: 1
    functionLinenumber: 606
    functionLinenumberEnd: 614
    functionName: report_invalid_termination
    functionSourceFile: /src/mhd2/src/mhd2/post_parser_funcs.c
    functionUses: 0
    functionsReached:
    - mhd_LOG_MSG
    linkageType: ''
    returnType: MHD_FN_PAR_NONNULL_ALL_
    signature: MHD_FN_PAR_NONNULL_ALL_ report_invalid_termination (struct MHD_Connection
      *restrict c)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/post_parser_funcs.c:635,1
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/post_parser_funcs.c:636,1
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/post_parser_funcs.c:643,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 10
    argCount: 2
    argNames:
    - c
    - field_cur_size
    argTypes:
    - struct MHD_Connection*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 648
      start: 625
    functionDepth: 1
    functionLinenumber: 625
    functionLinenumberEnd: 648
    functionName: is_value_streaming_needed
    functionSourceFile: /src/mhd2/src/mhd2/post_parser_funcs.c
    functionUses: 0
    functionsReached:
    - mhd_assert
    linkageType: ''
    returnType: mhd_static_inline
    signature: "mhd_static_inline is_value_streaming_needed (struct MHD_Connection
      *restrict c,\n                           size_t field_cur_size)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/post_parser_funcs.c:672,1
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/post_parser_funcs.c:673,1
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/post_parser_funcs.c:674,1
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/post_parser_funcs.c:676,1
    - Dst: mhd_stream_alloc_memory
      Src: /src/mhd2/src/mhd2/post_parser_funcs.c:679,1
    - Dst: mhd_DLINKEDL_INIT_LINKS
      Src: /src/mhd2/src/mhd2/post_parser_funcs.c:690,1
    - Dst: mhd_DLINKEDL_INS_LAST
      Src: /src/mhd2/src/mhd2/post_parser_funcs.c:692,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 16
    argCount: 6
    argNames:
    - c
    - name
    - filename
    - content_type
    - transfer_encoding
    - value
    argTypes:
    - struct MHD_Connection*
    - struct mhd_PositionAndLength*
    - struct mhd_PositionAndLength*
    - struct mhd_PositionAndLength*
    - struct mhd_PositionAndLength*
    - struct mhd_PositionAndLength*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 695
      start: 662
    functionDepth: 1
    functionLinenumber: 662
    functionLinenumberEnd: 695
    functionName: add_parsed_post_field
    functionSourceFile: /src/mhd2/src/mhd2/post_parser_funcs.c
    functionUses: 0
    functionsReached:
    - mhd_stream_alloc_memory
    - mhd_DLINKEDL_INIT_LINKS
    - mhd_assert
    - mhd_DLINKEDL_INS_LAST
    linkageType: ''
    returnType: MHD_FN_PAR_NONNULL_ALL_
    signature: "MHD_FN_PAR_NONNULL_ALL_ add_parsed_post_field (struct MHD_Connection
      *restrict c,\n                       struct mhd_PositionAndLength *restrict
      name,\n                       struct mhd_PositionAndLength *restrict filename,\n
      \                      struct mhd_PositionAndLength *restrict content_type,\n
      \                      struct mhd_PositionAndLength *restrict transfer_encoding,\n
      \                      struct mhd_PositionAndLength *restrict value)"
  - BBCount: 4
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 24
    argCount: 13
    argNames:
    - buf
    - name_start
    - name_len
    - filename_start
    - filename_len
    - cntn_type_start
    - cntn_type_len
    - enc_start
    - enc_len
    - name
    - filename
    - content_type
    - encoding
    argTypes:
    - char*
    - size_t
    - size_t
    - size_t
    - size_t
    - size_t
    - size_t
    - size_t
    - size_t
    - struct MHD_String*
    - struct MHD_StringNullable*
    - struct MHD_StringNullable*
    - struct MHD_StringNullable*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 749
      start: 701
    functionDepth: 0
    functionLinenumber: 701
    functionLinenumberEnd: 749
    functionName: make_post_strings_from_buf_and_indices
    functionSourceFile: /src/mhd2/src/mhd2/post_parser_funcs.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: "void make_post_strings_from_buf_and_indices (const char *restrict
      buf,\n                                        size_t name_start,\n                                        size_t
      name_len,\n                                        size_t filename_start,\n
      \                                       size_t filename_len,\n                                        size_t
      cntn_type_start,\n                                        size_t cntn_type_len,\n
      \                                       size_t enc_start,\n                                        size_t
      enc_len,\n                                        struct MHD_String *name,\n
      \                                       struct MHD_StringNullable *filename,\n
      \                                       struct MHD_StringNullable *content_type,\n
      \                                       struct MHD_StringNullable *encoding)"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/post_parser_funcs.c:803,1
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/post_parser_funcs.c:805,1
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/post_parser_funcs.c:807,1
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/post_parser_funcs.c:809,1
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/post_parser_funcs.c:812,1
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/post_parser_funcs.c:813,1
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/post_parser_funcs.c:814,1
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/post_parser_funcs.c:816,1
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/post_parser_funcs.c:817,1
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/post_parser_funcs.c:819,1
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/post_parser_funcs.c:820,1
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/post_parser_funcs.c:822,1
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/post_parser_funcs.c:824,1
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/post_parser_funcs.c:825,1
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/post_parser_funcs.c:827,1
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/post_parser_funcs.c:828,1
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/post_parser_funcs.c:830,1
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/post_parser_funcs.c:831,1
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/post_parser_funcs.c:832,1
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/post_parser_funcs.c:833,1
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/post_parser_funcs.c:834,1
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/post_parser_funcs.c:835,1
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/post_parser_funcs.c:836,1
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/post_parser_funcs.c:837,1
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/post_parser_funcs.c:838,1
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/post_parser_funcs.c:839,1
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/post_parser_funcs.c:840,1
    - Dst: is_value_streaming_needed
      Src: /src/mhd2/src/mhd2/post_parser_funcs.c:844,1
    - Dst: make_post_strings_from_buf_and_indices
      Src: /src/mhd2/src/mhd2/post_parser_funcs.c:853,1
    - Dst: struct mhd_PostParseActionData*::stream_reader
      Src: /src/mhd2/src/mhd2/post_parser_funcs.c:867,1
    - Dst: mhd_stream_process_upload_action
      Src: /src/mhd2/src/mhd2/post_parser_funcs.c:878,1
    - Dst: memmove
      Src: /src/mhd2/src/mhd2/post_parser_funcs.c:886,1
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/post_parser_funcs.c:908,1
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/post_parser_funcs.c:909,1
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/post_parser_funcs.c:910,1
    - Dst: add_parsed_post_field
      Src: /src/mhd2/src/mhd2/post_parser_funcs.c:923,1
    - Dst: mhd_LOG_MSG
      Src: /src/mhd2/src/mhd2/post_parser_funcs.c:931,1
    CyclomaticComplexity: 22
    EdgeCount: 22
    ICount: 71
    argCount: 15
    argNames:
    - c
    - buf
    - pfield_next_pos
    - pdata_size
    - field_start
    - name_start
    - name_len
    - filename_start
    - filename_len
    - cntn_type_start
    - cntn_type_len
    - enc_start
    - enc_len
    - value_start
    - value_len
    argTypes:
    - struct MHD_Connection*
    - char*
    - size_t*
    - size_t*
    - size_t
    - size_t
    - size_t
    - size_t
    - size_t
    - size_t
    - size_t
    - size_t
    - size_t
    - size_t
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 942
      start: 782
    functionDepth: 3
    functionLinenumber: 782
    functionLinenumberEnd: 942
    functionName: process_complete_field_all
    functionSourceFile: /src/mhd2/src/mhd2/post_parser_funcs.c
    functionUses: 0
    functionsReached:
    - add_parsed_post_field
    - mhd_stream_process_upload_action
    - mhd_LOG_MSG
    - make_post_strings_from_buf_and_indices
    - memmove
    - struct mhd_PostParseActionData*::stream_reader
    - mhd_assert
    - is_value_streaming_needed
    linkageType: ''
    returnType: MHD_FN_PAR_NONNULL_ALL_
    signature: "MHD_FN_PAR_NONNULL_ALL_ process_complete_field_all (struct MHD_Connection
      *restrict c,\n                            char *restrict buf,\n                            size_t
      *restrict pfield_next_pos,\n                            size_t *restrict pdata_size,\n
      \                           size_t field_start,\n                            size_t
      name_start,\n                            size_t name_len,\n                            size_t
      filename_start,\n                            size_t filename_len,\n                            size_t
      cntn_type_start,\n                            size_t cntn_type_len,\n                            size_t
      enc_start,\n                            size_t enc_len,\n                            size_t
      value_start,\n                            size_t value_len)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/post_parser_funcs.c:974,1
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/post_parser_funcs.c:975,1
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/post_parser_funcs.c:976,1
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/post_parser_funcs.c:978,1
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/post_parser_funcs.c:980,1
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/post_parser_funcs.c:981,1
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/post_parser_funcs.c:983,1
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/post_parser_funcs.c:984,1
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/post_parser_funcs.c:986,1
    - Dst: process_complete_field_all
      Src: /src/mhd2/src/mhd2/post_parser_funcs.c:989,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 11
    argCount: 9
    argNames:
    - c
    - buf
    - pfield_next_pos
    - pdata_size
    - field_start
    - name_start
    - name_len
    - value_start
    - value_len
    argTypes:
    - struct MHD_Connection*
    - char*
    - size_t*
    - size_t*
    - size_t
    - size_t
    - size_t
    - size_t
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 999
      start: 963
    functionDepth: 4
    functionLinenumber: 963
    functionLinenumberEnd: 999
    functionName: process_complete_field
    functionSourceFile: /src/mhd2/src/mhd2/post_parser_funcs.c
    functionUses: 0
    functionsReached:
    - process_complete_field_all
    - mhd_assert
    linkageType: ''
    returnType: MHD_FN_PAR_NONNULL_ALL_
    signature: "MHD_FN_PAR_NONNULL_ALL_ process_complete_field (struct MHD_Connection
      *restrict c,\n                        char *restrict buf,\n                        size_t
      *restrict pfield_next_pos,\n                        size_t *restrict pdata_size,\n
      \                       size_t field_start,\n                        size_t
      name_start,\n                        size_t name_len,\n                        size_t
      value_start,\n                        size_t value_len)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/post_parser_funcs.c:1059,1
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/post_parser_funcs.c:1060,1
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/post_parser_funcs.c:1061,1
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/post_parser_funcs.c:1062,1
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/post_parser_funcs.c:1063,1
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/post_parser_funcs.c:1064,1
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/post_parser_funcs.c:1065,1
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/post_parser_funcs.c:1066,1
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/post_parser_funcs.c:1067,1
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/post_parser_funcs.c:1068,1
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/post_parser_funcs.c:1069,1
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/post_parser_funcs.c:1070,1
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/post_parser_funcs.c:1071,1
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/post_parser_funcs.c:1072,1
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/post_parser_funcs.c:1073,1
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/post_parser_funcs.c:1074,1
    - Dst: make_post_strings_from_buf_and_indices
      Src: /src/mhd2/src/mhd2/post_parser_funcs.c:1076,1
    - Dst: struct mhd_PostParseActionData*::stream_reader
      Src: /src/mhd2/src/mhd2/post_parser_funcs.c:1090,1
    - Dst: mhd_stream_process_upload_action
      Src: /src/mhd2/src/mhd2/post_parser_funcs.c:1104,1
    - Dst: memmove
      Src: /src/mhd2/src/mhd2/post_parser_funcs.c:1113,1
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/post_parser_funcs.c:1122,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 36
    argCount: 14
    argNames:
    - c
    - buf
    - pnext_pos
    - pdata_size
    - name_start
    - name_len
    - filename_start
    - filename_len
    - cntn_type_start
    - cntn_type_len
    - enc_start
    - enc_len
    - part_value_start
    - part_value_len
    argTypes:
    - struct MHD_Connection*
    - char*
    - size_t*
    - size_t*
    - size_t
    - size_t
    - size_t
    - size_t
    - size_t
    - size_t
    - size_t
    - size_t
    - size_t
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1127
      start: 1033
    functionDepth: 3
    functionLinenumber: 1033
    functionLinenumberEnd: 1127
    functionName: process_partial_value_all
    functionSourceFile: /src/mhd2/src/mhd2/post_parser_funcs.c
    functionUses: 0
    functionsReached:
    - mhd_stream_process_upload_action
    - make_post_strings_from_buf_and_indices
    - memmove
    - struct mhd_PostParseActionData*::stream_reader
    - mhd_assert
    linkageType: ''
    returnType: MHD_FN_PAR_NONNULL_ALL_
    signature: "MHD_FN_PAR_NONNULL_ALL_ process_partial_value_all (struct MHD_Connection
      *restrict c,\n                           char *restrict buf,\n                           size_t
      *restrict pnext_pos,\n                           size_t *restrict pdata_size,\n
      \                          size_t name_start,\n                           size_t
      name_len,\n                           size_t filename_start,\n                           size_t
      filename_len,\n                           size_t cntn_type_start,\n                           size_t
      cntn_type_len,\n                           size_t enc_start,\n                           size_t
      enc_len,\n                           size_t part_value_start,\n                           size_t
      part_value_len)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/post_parser_funcs.c:1160,1
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/post_parser_funcs.c:1161,1
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/post_parser_funcs.c:1162,1
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/post_parser_funcs.c:1163,1
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/post_parser_funcs.c:1164,1
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/post_parser_funcs.c:1165,1
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/post_parser_funcs.c:1168,1
    - Dst: process_partial_value_all
      Src: /src/mhd2/src/mhd2/post_parser_funcs.c:1171,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 9
    argCount: 8
    argNames:
    - c
    - buf
    - pnext_pos
    - pdata_size
    - name_start
    - name_len
    - part_value_start
    - part_value_len
    argTypes:
    - struct MHD_Connection*
    - char*
    - size_t*
    - size_t*
    - size_t
    - size_t
    - size_t
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1180
      start: 1150
    functionDepth: 4
    functionLinenumber: 1150
    functionLinenumberEnd: 1180
    functionName: process_partial_value
    functionSourceFile: /src/mhd2/src/mhd2/post_parser_funcs.c
    functionUses: 0
    functionsReached:
    - process_partial_value_all
    - mhd_assert
    linkageType: ''
    returnType: MHD_FN_PAR_NONNULL_ALL_
    signature: "MHD_FN_PAR_NONNULL_ALL_ process_partial_value (struct MHD_Connection
      *restrict c,\n                       char *restrict buf,\n                       size_t
      *restrict pnext_pos,\n                       size_t *restrict pdata_size,\n
      \                      size_t name_start,\n                       size_t name_len,\n
      \                      size_t part_value_start,\n                       size_t
      part_value_len)"
  - BBCount: 30
    BranchProfiles: []
    Callsites:
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/post_parser_funcs.c:1202,1
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/post_parser_funcs.c:1203,1
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/post_parser_funcs.c:1204,1
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/post_parser_funcs.c:1205,1
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/post_parser_funcs.c:1212,1
    - Dst: process_partial_value
      Src: /src/mhd2/src/mhd2/post_parser_funcs.c:1213,1
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/post_parser_funcs.c:1231,1
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/post_parser_funcs.c:1232,1
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/post_parser_funcs.c:1257,1
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/post_parser_funcs.c:1262,1
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/post_parser_funcs.c:1263,1
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/post_parser_funcs.c:1264,1
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/post_parser_funcs.c:1265,1
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/post_parser_funcs.c:1266,1
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/post_parser_funcs.c:1268,1
    - Dst: mhd_str_pct_decode_lenient_n
      Src: /src/mhd2/src/mhd2/post_parser_funcs.c:1270,1
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/post_parser_funcs.c:1283,1
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/post_parser_funcs.c:1284,1
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/post_parser_funcs.c:1285,1
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/post_parser_funcs.c:1286,1
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/post_parser_funcs.c:1305,1
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/post_parser_funcs.c:1309,1
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/post_parser_funcs.c:1310,1
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/post_parser_funcs.c:1312,1
    - Dst: mhd_str_pct_decode_lenient_n
      Src: /src/mhd2/src/mhd2/post_parser_funcs.c:1318,1
    - Dst: mhd_str_pct_decode_lenient_n
      Src: /src/mhd2/src/mhd2/post_parser_funcs.c:1331,1
    - Dst: process_complete_field
      Src: /src/mhd2/src/mhd2/post_parser_funcs.c:1346,1
    - Dst: reset_parse_field_data_urlenc
      Src: /src/mhd2/src/mhd2/post_parser_funcs.c:1359,1
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/post_parser_funcs.c:1363,1
    - Dst: reset_parse_field_data_urlenc
      Src: /src/mhd2/src/mhd2/post_parser_funcs.c:1364,1
    - Dst: mhd_UNREACHABLE
      Src: /src/mhd2/src/mhd2/post_parser_funcs.c:1367,1
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/post_parser_funcs.c:1370,1
    - Dst: mhd_UNREACHABLE
      Src: /src/mhd2/src/mhd2/post_parser_funcs.c:1371,1
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/post_parser_funcs.c:1375,1
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/post_parser_funcs.c:1377,1
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/post_parser_funcs.c:1378,1
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/post_parser_funcs.c:1379,1
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/post_parser_funcs.c:1380,1
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/post_parser_funcs.c:1383,1
    - Dst: is_value_streaming_needed
      Src: /src/mhd2/src/mhd2/post_parser_funcs.c:1387,1
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/post_parser_funcs.c:1392,1
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/post_parser_funcs.c:1393,1
    - Dst: mhd_str_pct_decode_lenient_n
      Src: /src/mhd2/src/mhd2/post_parser_funcs.c:1399,1
    - Dst: process_partial_value
      Src: /src/mhd2/src/mhd2/post_parser_funcs.c:1413,1
    CyclomaticComplexity: 46
    EdgeCount: 46
    ICount: 140
    argCount: 3
    argNames:
    - c
    - pdata_size
    - buf
    argTypes:
    - struct MHD_Connection*
    - size_t*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1440
      start: 1193
    functionDepth: 5
    functionLinenumber: 1193
    functionLinenumberEnd: 1440
    functionName: parse_post_urlenc
    functionSourceFile: /src/mhd2/src/mhd2/post_parser_funcs.c
    functionUses: 0
    functionsReached:
    - mhd_str_pct_decode_lenient_n
    - process_complete_field
    - reset_parse_field_data_urlenc
    - mhd_UNREACHABLE
    - mhd_assert
    - is_value_streaming_needed
    - process_partial_value
    linkageType: ''
    returnType: bool
    signature: "bool parse_post_urlenc (struct MHD_Connection *restrict c,\n                   size_t
      *restrict pdata_size,\n                   char *restrict buf)"
  - BBCount: 108
    BranchProfiles: []
    Callsites:
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/post_parser_funcs.c:1464,1
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/post_parser_funcs.c:1465,1
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/post_parser_funcs.c:1466,1
    - Dst: memcmp
      Src: /src/mhd2/src/mhd2/post_parser_funcs.c:1466,1
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/post_parser_funcs.c:1467,1
    - Dst: memchr
      Src: /src/mhd2/src/mhd2/post_parser_funcs.c:1467,1
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/post_parser_funcs.c:1468,1
    - Dst: memchr
      Src: /src/mhd2/src/mhd2/post_parser_funcs.c:1468,1
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/post_parser_funcs.c:1469,1
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/post_parser_funcs.c:1471,1
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/post_parser_funcs.c:1472,1
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/post_parser_funcs.c:1473,1
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/post_parser_funcs.c:1474,1
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/post_parser_funcs.c:1482,1
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/post_parser_funcs.c:1488,1
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/post_parser_funcs.c:1489,1
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/post_parser_funcs.c:1490,1
    - Dst: memmem
      Src: /src/mhd2/src/mhd2/post_parser_funcs.c:1496,1
    - Dst: memmem
      Src: /src/mhd2/src/mhd2/post_parser_funcs.c:1501,1
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/post_parser_funcs.c:1509,1
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/post_parser_funcs.c:1510,1
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/post_parser_funcs.c:1514,1
    - Dst: memchr
      Src: /src/mhd2/src/mhd2/post_parser_funcs.c:1540,1
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/post_parser_funcs.c:1549,1
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/post_parser_funcs.c:1550,1
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/post_parser_funcs.c:1580,1
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/post_parser_funcs.c:1585,1
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/post_parser_funcs.c:1586,1
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/post_parser_funcs.c:1596,1
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/post_parser_funcs.c:1597,1
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/post_parser_funcs.c:1603,1
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/post_parser_funcs.c:1604,1
    - Dst: memcmp
      Src: /src/mhd2/src/mhd2/post_parser_funcs.c:1609,1
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/post_parser_funcs.c:1623,1
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/post_parser_funcs.c:1624,1
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/post_parser_funcs.c:1625,1
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/post_parser_funcs.c:1626,1
    - Dst: memcmp
      Src: /src/mhd2/src/mhd2/post_parser_funcs.c:1630,1
    - Dst: memcmp
      Src: /src/mhd2/src/mhd2/post_parser_funcs.c:1643,1
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/post_parser_funcs.c:1650,1
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/post_parser_funcs.c:1655,1
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/post_parser_funcs.c:1656,1
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/post_parser_funcs.c:1657,1
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/post_parser_funcs.c:1686,1
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/post_parser_funcs.c:1692,1
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/post_parser_funcs.c:1693,1
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/post_parser_funcs.c:1694,1
    - Dst: memmove
      Src: /src/mhd2/src/mhd2/post_parser_funcs.c:1700,1
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/post_parser_funcs.c:1710,1
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/post_parser_funcs.c:1711,1
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/post_parser_funcs.c:1712,1
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/post_parser_funcs.c:1723,1
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/post_parser_funcs.c:1724,1
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/post_parser_funcs.c:1725,1
    - Dst: memcmp
      Src: /src/mhd2/src/mhd2/post_parser_funcs.c:1744,1
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/post_parser_funcs.c:1760,1
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/post_parser_funcs.c:1776,1
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/post_parser_funcs.c:1777,1
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/post_parser_funcs.c:1778,1
    - Dst: mhd_MSTR_INIT
      Src: /src/mhd2/src/mhd2/post_parser_funcs.c:1798,1
    - Dst: mhd_MSTR_INIT
      Src: /src/mhd2/src/mhd2/post_parser_funcs.c:1799,1
    - Dst: mhd_MSTR_INIT
      Src: /src/mhd2/src/mhd2/post_parser_funcs.c:1800,1
    - Dst: mhd_str_equal_caseless_bin_n
      Src: /src/mhd2/src/mhd2/post_parser_funcs.c:1803,1
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/post_parser_funcs.c:1820,1
    - Dst: mhd_str_starts_with_token_req_param
      Src: /src/mhd2/src/mhd2/post_parser_funcs.c:1825,1
    - Dst: mhd_MSTR_INIT
      Src: /src/mhd2/src/mhd2/post_parser_funcs.c:1839,1
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/post_parser_funcs.c:1845,1
    - Dst: mhd_str_starts_with_token_req_param
      Src: /src/mhd2/src/mhd2/post_parser_funcs.c:1862,1
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/post_parser_funcs.c:1876,1
    - Dst: mhd_str_unquote
      Src: /src/mhd2/src/mhd2/post_parser_funcs.c:1889,1
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/post_parser_funcs.c:1894,1
    - Dst: mhd_UNREACHABLE
      Src: /src/mhd2/src/mhd2/post_parser_funcs.c:1897,1
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/post_parser_funcs.c:1902,1
    - Dst: mhd_str_pct_decode_lenient_n
      Src: /src/mhd2/src/mhd2/post_parser_funcs.c:1904,1
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/post_parser_funcs.c:1909,1
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/post_parser_funcs.c:1916,1
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/post_parser_funcs.c:1917,1
    - Dst: mhd_UNREACHABLE
      Src: /src/mhd2/src/mhd2/post_parser_funcs.c:1919,1
    - Dst: mhd_str_unquote
      Src: /src/mhd2/src/mhd2/post_parser_funcs.c:1926,1
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/post_parser_funcs.c:1931,1
    - Dst: mhd_UNREACHABLE
      Src: /src/mhd2/src/mhd2/post_parser_funcs.c:1934,1
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/post_parser_funcs.c:1939,1
    - Dst: mhd_str_pct_decode_lenient_n
      Src: /src/mhd2/src/mhd2/post_parser_funcs.c:1941,1
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/post_parser_funcs.c:1946,1
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/post_parser_funcs.c:1958,1
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/post_parser_funcs.c:1959,1
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/post_parser_funcs.c:1960,1
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/post_parser_funcs.c:1961,1
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/post_parser_funcs.c:1962,1
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/post_parser_funcs.c:1963,1
    - Dst: mhd_LOG_MSG
      Src: /src/mhd2/src/mhd2/post_parser_funcs.c:1966,1
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/post_parser_funcs.c:1979,1
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/post_parser_funcs.c:1980,1
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/post_parser_funcs.c:1985,1
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/post_parser_funcs.c:1992,1
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/post_parser_funcs.c:1993,1
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/post_parser_funcs.c:1994,1
    - Dst: memmem
      Src: /src/mhd2/src/mhd2/post_parser_funcs.c:2000,1
    - Dst: memmem
      Src: /src/mhd2/src/mhd2/post_parser_funcs.c:2005,1
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/post_parser_funcs.c:2013,1
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/post_parser_funcs.c:2014,1
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/post_parser_funcs.c:2018,1
    - Dst: memchr
      Src: /src/mhd2/src/mhd2/post_parser_funcs.c:2048,1
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/post_parser_funcs.c:2057,1
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/post_parser_funcs.c:2058,1
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/post_parser_funcs.c:2092,1
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/post_parser_funcs.c:2106,1
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/post_parser_funcs.c:2107,1
    - Dst: memcmp
      Src: /src/mhd2/src/mhd2/post_parser_funcs.c:2112,1
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/post_parser_funcs.c:2126,1
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/post_parser_funcs.c:2127,1
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/post_parser_funcs.c:2128,1
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/post_parser_funcs.c:2129,1
    - Dst: memcmp
      Src: /src/mhd2/src/mhd2/post_parser_funcs.c:2133,1
    - Dst: memcmp
      Src: /src/mhd2/src/mhd2/post_parser_funcs.c:2146,1
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/post_parser_funcs.c:2153,1
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/post_parser_funcs.c:2158,1
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/post_parser_funcs.c:2159,1
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/post_parser_funcs.c:2160,1
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/post_parser_funcs.c:2161,1
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/post_parser_funcs.c:2187,1
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/post_parser_funcs.c:2194,1
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/post_parser_funcs.c:2195,1
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/post_parser_funcs.c:2196,1
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/post_parser_funcs.c:2197,1
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/post_parser_funcs.c:2198,1
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/post_parser_funcs.c:2199,1
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/post_parser_funcs.c:2200,1
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/post_parser_funcs.c:2215,1
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/post_parser_funcs.c:2216,1
    - Dst: process_complete_field_all
      Src: /src/mhd2/src/mhd2/post_parser_funcs.c:2225,1
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/post_parser_funcs.c:2242,1
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/post_parser_funcs.c:2243,1
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/post_parser_funcs.c:2251,1
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/post_parser_funcs.c:2258,1
    - Dst: reset_parse_field_data_mpart_cont
      Src: /src/mhd2/src/mhd2/post_parser_funcs.c:2260,1
    - Dst: mhd_LOG_MSG
      Src: /src/mhd2/src/mhd2/post_parser_funcs.c:2279,1
    - Dst: mhd_LOG_MSG
      Src: /src/mhd2/src/mhd2/post_parser_funcs.c:2288,1
    - Dst: mhd_UNREACHABLE
      Src: /src/mhd2/src/mhd2/post_parser_funcs.c:2298,1
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/post_parser_funcs.c:2301,1
    - Dst: mhd_UNREACHABLE
      Src: /src/mhd2/src/mhd2/post_parser_funcs.c:2302,1
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/post_parser_funcs.c:2306,1
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/post_parser_funcs.c:2308,1
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/post_parser_funcs.c:2309,1
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/post_parser_funcs.c:2310,1
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/post_parser_funcs.c:2311,1
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/post_parser_funcs.c:2312,1
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/post_parser_funcs.c:2313,1
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/post_parser_funcs.c:2314,1
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/post_parser_funcs.c:2315,1
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/post_parser_funcs.c:2318,1
    - Dst: is_value_streaming_needed
      Src: /src/mhd2/src/mhd2/post_parser_funcs.c:2323,1
    - Dst: is_value_streaming_needed
      Src: /src/mhd2/src/mhd2/post_parser_funcs.c:2328,1
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/post_parser_funcs.c:2332,1
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/post_parser_funcs.c:2334,1
    - Dst: process_partial_value_all
      Src: /src/mhd2/src/mhd2/post_parser_funcs.c:2343,1
    CyclomaticComplexity: 183
    EdgeCount: 183
    ICount: 552
    argCount: 3
    argNames:
    - c
    - pdata_size
    - buf
    argTypes:
    - struct MHD_Connection*
    - size_t*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2365
      start: 1453
    functionDepth: 4
    functionLinenumber: 1453
    functionLinenumberEnd: 2365
    functionName: parse_post_mpart
    functionSourceFile: /src/mhd2/src/mhd2/post_parser_funcs.c
    functionUses: 0
    functionsReached:
    - mhd_str_pct_decode_lenient_n
    - process_complete_field_all
    - reset_parse_field_data_mpart_cont
    - is_value_streaming_needed
    - mhd_str_equal_caseless_bin_n
    - memchr
    - mhd_str_starts_with_token_req_param
    - mhd_LOG_MSG
    - memmem
    - mhd_UNREACHABLE
    - process_partial_value_all
    - memmove
    - mhd_str_unquote
    - mhd_MSTR_INIT
    - mhd_assert
    - memcmp
    linkageType: ''
    returnType: bool
    signature: "bool parse_post_mpart (struct MHD_Connection *restrict c,\n                  size_t
      *restrict pdata_size,\n                  char *restrict buf)"
  - BBCount: 27
    BranchProfiles: []
    Callsites:
    - Dst: mhd_ALLOW_BARE_LF_AS_CRLF
      Src: /src/mhd2/src/mhd2/post_parser_funcs.c:2379,1
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/post_parser_funcs.c:2385,1
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/post_parser_funcs.c:2386,1
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/post_parser_funcs.c:2387,1
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/post_parser_funcs.c:2388,1
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/post_parser_funcs.c:2397,1
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/post_parser_funcs.c:2398,1
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/post_parser_funcs.c:2423,1
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/post_parser_funcs.c:2427,1
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/post_parser_funcs.c:2428,1
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/post_parser_funcs.c:2429,1
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/post_parser_funcs.c:2436,1
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/post_parser_funcs.c:2437,1
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/post_parser_funcs.c:2438,1
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/post_parser_funcs.c:2439,1
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/post_parser_funcs.c:2458,1
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/post_parser_funcs.c:2471,1
    - Dst: reset_parse_field_data_text
      Src: /src/mhd2/src/mhd2/post_parser_funcs.c:2480,1
    - Dst: process_complete_field
      Src: /src/mhd2/src/mhd2/post_parser_funcs.c:2502,1
    - Dst: reset_parse_field_data_text
      Src: /src/mhd2/src/mhd2/post_parser_funcs.c:2515,1
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/post_parser_funcs.c:2519,1
    - Dst: reset_parse_field_data_text
      Src: /src/mhd2/src/mhd2/post_parser_funcs.c:2520,1
    - Dst: mhd_UNREACHABLE
      Src: /src/mhd2/src/mhd2/post_parser_funcs.c:2523,1
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/post_parser_funcs.c:2527,1
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/post_parser_funcs.c:2531,1
    - Dst: mhd_LOG_MSG
      Src: /src/mhd2/src/mhd2/post_parser_funcs.c:2537,1
    - Dst: mhd_LOG_MSG
      Src: /src/mhd2/src/mhd2/post_parser_funcs.c:2546,1
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/post_parser_funcs.c:2558,1
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/post_parser_funcs.c:2559,1
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/post_parser_funcs.c:2560,1
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/post_parser_funcs.c:2561,1
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/post_parser_funcs.c:2563,1
    - Dst: is_value_streaming_needed
      Src: /src/mhd2/src/mhd2/post_parser_funcs.c:2567,1
    - Dst: process_partial_value
      Src: /src/mhd2/src/mhd2/post_parser_funcs.c:2569,1
    CyclomaticComplexity: 42
    EdgeCount: 42
    ICount: 139
    argCount: 3
    argNames:
    - c
    - pdata_size
    - buf
    argTypes:
    - struct MHD_Connection*
    - size_t*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2585
      start: 2369
    functionDepth: 5
    functionLinenumber: 2369
    functionLinenumberEnd: 2585
    functionName: parse_post_text
    functionSourceFile: /src/mhd2/src/mhd2/post_parser_funcs.c
    functionUses: 0
    functionsReached:
    - mhd_ALLOW_BARE_LF_AS_CRLF
    - process_complete_field
    - mhd_LOG_MSG
    - reset_parse_field_data_text
    - mhd_UNREACHABLE
    - mhd_assert
    - is_value_streaming_needed
    - process_partial_value
    linkageType: ''
    returnType: bool
    signature: "bool parse_post_text (struct MHD_Connection *restrict c,\n                 size_t
      *restrict pdata_size,\n                 char *restrict buf)"
  - BBCount: 14
    BranchProfiles: []
    Callsites:
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/post_parser_funcs.c:2597,1
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/post_parser_funcs.c:2598,1
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/post_parser_funcs.c:2610,1
    - Dst: extend_lbuf_up_to
      Src: /src/mhd2/src/mhd2/post_parser_funcs.c:2614,1
    - Dst: memcpy
      Src: /src/mhd2/src/mhd2/post_parser_funcs.c:2627,1
    - Dst: parse_post_urlenc
      Src: /src/mhd2/src/mhd2/post_parser_funcs.c:2637,1
    - Dst: parse_post_mpart
      Src: /src/mhd2/src/mhd2/post_parser_funcs.c:2643,1
    - Dst: parse_post_text
      Src: /src/mhd2/src/mhd2/post_parser_funcs.c:2649,1
    - Dst: mhd_UNREACHABLE
      Src: /src/mhd2/src/mhd2/post_parser_funcs.c:2656,1
    - Dst: report_low_lbuf_mem
      Src: /src/mhd2/src/mhd2/post_parser_funcs.c:2667,1
    CyclomaticComplexity: 16
    EdgeCount: 16
    ICount: 45
    argCount: 3
    argNames:
    - c
    - pdata_size
    - buf
    argTypes:
    - struct MHD_Connection*
    - size_t*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2670
      start: 2589
    functionDepth: 6
    functionLinenumber: 2589
    functionLinenumberEnd: 2670
    functionName: mhd_stream_post_parse
    functionSourceFile: /src/mhd2/src/mhd2/post_parser_funcs.c
    functionUses: 3
    functionsReached:
    - memcpy
    - extend_lbuf_up_to
    - parse_post_mpart
    - mhd_UNREACHABLE
    - report_low_lbuf_mem
    - parse_post_text
    - parse_post_urlenc
    - mhd_assert
    linkageType: ''
    returnType: bool
    signature: "bool mhd_stream_post_parse (struct MHD_Connection *restrict c,\n                       size_t
      *restrict pdata_size,\n                       char *restrict buf)"
  - BBCount: 19
    BranchProfiles: []
    Callsites:
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/post_parser_funcs.c:2699,1
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/post_parser_funcs.c:2700,1
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/post_parser_funcs.c:2706,1
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/post_parser_funcs.c:2709,1
    - Dst: mhd_str_pct_decode_lenient_n
      Src: /src/mhd2/src/mhd2/post_parser_funcs.c:2713,1
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/post_parser_funcs.c:2720,1
    - Dst: report_low_lbuf_mem
      Src: /src/mhd2/src/mhd2/post_parser_funcs.c:2723,1
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/post_parser_funcs.c:2729,1
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/post_parser_funcs.c:2740,1
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/post_parser_funcs.c:2743,1
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/post_parser_funcs.c:2748,1
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/post_parser_funcs.c:2749,1
    - Dst: memmove
      Src: /src/mhd2/src/mhd2/post_parser_funcs.c:2752,1
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/post_parser_funcs.c:2760,1
    - Dst: mhd_str_pct_decode_lenient_n
      Src: /src/mhd2/src/mhd2/post_parser_funcs.c:2763,1
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/post_parser_funcs.c:2780,1
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/post_parser_funcs.c:2781,1
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/post_parser_funcs.c:2782,1
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/post_parser_funcs.c:2787,1
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/post_parser_funcs.c:2788,1
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/post_parser_funcs.c:2790,1
    - Dst: mhd_UNREACHABLE
      Src: /src/mhd2/src/mhd2/post_parser_funcs.c:2795,1
    - Dst: report_low_lbuf_mem
      Src: /src/mhd2/src/mhd2/post_parser_funcs.c:2809,1
    - Dst: process_complete_field
      Src: /src/mhd2/src/mhd2/post_parser_funcs.c:2812,1
    - Dst: reset_parse_field_data_urlenc
      Src: /src/mhd2/src/mhd2/post_parser_funcs.c:2823,1
    CyclomaticComplexity: 17
    EdgeCount: 17
    ICount: 86
    argCount: 3
    argNames:
    - c
    - pdata_size
    - buf
    argTypes:
    - struct MHD_Connection*
    - size_t*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2826
      start: 2683
    functionDepth: 5
    functionLinenumber: 2683
    functionLinenumberEnd: 2826
    functionName: check_post_leftovers_urlenc
    functionSourceFile: /src/mhd2/src/mhd2/post_parser_funcs.c
    functionUses: 0
    functionsReached:
    - mhd_str_pct_decode_lenient_n
    - process_complete_field
    - reset_parse_field_data_urlenc
    - mhd_UNREACHABLE
    - memmove
    - report_low_lbuf_mem
    - mhd_assert
    linkageType: ''
    returnType: bool
    signature: "bool check_post_leftovers_urlenc (struct MHD_Connection *restrict
      c,\n                             size_t *restrict pdata_size,\n                             char
      *restrict buf)"
  - BBCount: 35
    BranchProfiles: []
    Callsites:
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/post_parser_funcs.c:2853,1
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/post_parser_funcs.c:2854,1
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/post_parser_funcs.c:2867,1
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/post_parser_funcs.c:2872,1
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/post_parser_funcs.c:2879,1
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/post_parser_funcs.c:2887,1
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/post_parser_funcs.c:2888,1
    - Dst: mhd_ASSUME
      Src: /src/mhd2/src/mhd2/post_parser_funcs.c:2892,1
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/post_parser_funcs.c:2896,1
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/post_parser_funcs.c:2897,1
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/post_parser_funcs.c:2898,1
    - Dst: mhd_ASSUME
      Src: /src/mhd2/src/mhd2/post_parser_funcs.c:2904,1
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/post_parser_funcs.c:2913,1
    - Dst: mhd_UNREACHABLE
      Src: /src/mhd2/src/mhd2/post_parser_funcs.c:2931,1
    - Dst: report_invalid_termination
      Src: /src/mhd2/src/mhd2/post_parser_funcs.c:2937,1
    - Dst: report_low_lbuf_mem
      Src: /src/mhd2/src/mhd2/post_parser_funcs.c:2946,1
    - Dst: process_complete_field_all
      Src: /src/mhd2/src/mhd2/post_parser_funcs.c:2950,1
    - Dst: reset_parse_field_data_mpart_cont
      Src: /src/mhd2/src/mhd2/post_parser_funcs.c:2968,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 92
    argCount: 3
    argNames:
    - c
    - pdata_size
    - buf
    argTypes:
    - struct MHD_Connection*
    - size_t*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2972
      start: 2839
    functionDepth: 4
    functionLinenumber: 2839
    functionLinenumberEnd: 2972
    functionName: check_post_leftovers_mpart
    functionSourceFile: /src/mhd2/src/mhd2/post_parser_funcs.c
    functionUses: 0
    functionsReached:
    - process_complete_field_all
    - reset_parse_field_data_mpart_cont
    - mhd_ASSUME
    - report_invalid_termination
    - mhd_UNREACHABLE
    - report_low_lbuf_mem
    - mhd_assert
    linkageType: ''
    returnType: bool
    signature: "bool check_post_leftovers_mpart (struct MHD_Connection *restrict c,\n
      \                           size_t *restrict pdata_size,\n                            char
      *restrict buf)"
  - BBCount: 17
    BranchProfiles: []
    Callsites:
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/post_parser_funcs.c:2999,1
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/post_parser_funcs.c:3003,1
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/post_parser_funcs.c:3007,1
    - Dst: report_low_lbuf_mem
      Src: /src/mhd2/src/mhd2/post_parser_funcs.c:3011,1
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/post_parser_funcs.c:3017,1
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/post_parser_funcs.c:3024,1
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/post_parser_funcs.c:3025,1
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/post_parser_funcs.c:3026,1
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/post_parser_funcs.c:3033,1
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/post_parser_funcs.c:3034,1
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/post_parser_funcs.c:3035,1
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/post_parser_funcs.c:3040,1
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/post_parser_funcs.c:3041,1
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/post_parser_funcs.c:3046,1
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/post_parser_funcs.c:3047,1
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/post_parser_funcs.c:3052,1
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/post_parser_funcs.c:3054,1
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/post_parser_funcs.c:3056,1
    - Dst: mhd_UNREACHABLE
      Src: /src/mhd2/src/mhd2/post_parser_funcs.c:3062,1
    - Dst: report_invalid_termination
      Src: /src/mhd2/src/mhd2/post_parser_funcs.c:3068,1
    - Dst: report_low_lbuf_mem
      Src: /src/mhd2/src/mhd2/post_parser_funcs.c:3077,1
    - Dst: process_complete_field
      Src: /src/mhd2/src/mhd2/post_parser_funcs.c:3080,1
    - Dst: reset_parse_field_data_text
      Src: /src/mhd2/src/mhd2/post_parser_funcs.c:3091,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 77
    argCount: 3
    argNames:
    - c
    - pdata_size
    - buf
    argTypes:
    - struct MHD_Connection*
    - size_t*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3094
      start: 2985
    functionDepth: 5
    functionLinenumber: 2985
    functionLinenumberEnd: 3094
    functionName: check_post_leftovers_text
    functionSourceFile: /src/mhd2/src/mhd2/post_parser_funcs.c
    functionUses: 0
    functionsReached:
    - process_complete_field
    - report_invalid_termination
    - mhd_UNREACHABLE
    - reset_parse_field_data_text
    - report_low_lbuf_mem
    - mhd_assert
    linkageType: ''
    returnType: bool
    signature: "bool check_post_leftovers_text (struct MHD_Connection *restrict c,\n
      \                          size_t *restrict pdata_size,\n                           char
      *restrict buf)"
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: extend_lbuf_up_to
      Src: /src/mhd2/src/mhd2/post_parser_funcs.c:3109,1
    - Dst: check_post_leftovers_urlenc
      Src: /src/mhd2/src/mhd2/post_parser_funcs.c:3116,1
    - Dst: check_post_leftovers_mpart
      Src: /src/mhd2/src/mhd2/post_parser_funcs.c:3120,1
    - Dst: check_post_leftovers_text
      Src: /src/mhd2/src/mhd2/post_parser_funcs.c:3124,1
    - Dst: mhd_UNREACHABLE
      Src: /src/mhd2/src/mhd2/post_parser_funcs.c:3129,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 18
    argCount: 1
    argNames:
    - c
    argTypes:
    - struct MHD_Connection*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3136
      start: 3103
    functionDepth: 6
    functionLinenumber: 3103
    functionLinenumberEnd: 3136
    functionName: check_post_leftovers
    functionSourceFile: /src/mhd2/src/mhd2/post_parser_funcs.c
    functionUses: 0
    functionsReached:
    - check_post_leftovers_urlenc
    - extend_lbuf_up_to
    - check_post_leftovers_mpart
    - mhd_UNREACHABLE
    - check_post_leftovers_text
    linkageType: ''
    returnType: MHD_FN_PAR_NONNULL_ALL_
    signature: MHD_FN_PAR_NONNULL_ALL_ check_post_leftovers (struct MHD_Connection
      *restrict c)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: check_post_leftovers
      Src: /src/mhd2/src/mhd2/post_parser_funcs.c:3150,1
    - Dst: struct MHD_Connection*::rq::app_act::head_act::data::post_parse::done_cb
      Src: /src/mhd2/src/mhd2/post_parser_funcs.c:3154,1
    - Dst: mhd_stream_process_upload_action
      Src: /src/mhd2/src/mhd2/post_parser_funcs.c:3159,1
    - Dst: mhd_daemon_free_lbuf
      Src: /src/mhd2/src/mhd2/post_parser_funcs.c:3161,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 10
    argCount: 1
    argNames:
    - c
    argTypes:
    - struct MHD_Connection*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3163
      start: 3139
    functionDepth: 7
    functionLinenumber: 3139
    functionLinenumberEnd: 3163
    functionName: mhd_stream_process_post_finish
    functionSourceFile: /src/mhd2/src/mhd2/post_parser_funcs.c
    functionUses: 3
    functionsReached:
    - struct MHD_Connection*::rq::app_act::head_act::data::post_parse::done_cb
    - mhd_daemon_free_lbuf
    - mhd_stream_process_upload_action
    - check_post_leftovers
    linkageType: ''
    returnType: MHD_INTERNAL
    signature: MHD_INTERNAL mhd_stream_process_post_finish (struct MHD_Connection
      *restrict c)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: UINT64_C
      Src: /src/mhd2/src/mhd2/sha512_256_mbedtls.c:76,1
    - Dst: UINT64_C
      Src: /src/mhd2/src/mhd2/sha512_256_mbedtls.c:76,1
    - Dst: UINT64_C
      Src: /src/mhd2/src/mhd2/sha512_256_mbedtls.c:77,1
    - Dst: UINT64_C
      Src: /src/mhd2/src/mhd2/sha512_256_mbedtls.c:77,1
    - Dst: UINT64_C
      Src: /src/mhd2/src/mhd2/sha512_256_mbedtls.c:78,1
    - Dst: UINT64_C
      Src: /src/mhd2/src/mhd2/sha512_256_mbedtls.c:78,1
    - Dst: UINT64_C
      Src: /src/mhd2/src/mhd2/sha512_256_mbedtls.c:79,1
    - Dst: UINT64_C
      Src: /src/mhd2/src/mhd2/sha512_256_mbedtls.c:79,1
    - Dst: mbedtls_sha512_starts
      Src: /src/mhd2/src/mhd2/sha512_256_mbedtls.c:83,1
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/sha512_256_mbedtls.c:88,1
    - Dst: memcpy
      Src: /src/mhd2/src/mhd2/sha512_256_mbedtls.c:89,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - ctx
    argTypes:
    - struct mhd_Sha512_256CtxMtls*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 92
      start: 72
    functionDepth: 1
    functionLinenumber: 72
    functionLinenumberEnd: 92
    functionName: mtls_set_sha512_256_iv
    functionSourceFile: /src/mhd2/src/mhd2/sha512_256_mbedtls.c
    functionUses: 0
    functionsReached:
    - memcpy
    - mhd_assert
    - mbedtls_sha512_starts
    - UINT64_C
    linkageType: ''
    returnType: MHD_FN_PAR_NONNULL_ALL_
    signature: MHD_FN_PAR_NONNULL_ALL_ mtls_set_sha512_256_iv (struct mhd_Sha512_256CtxMtls
      *ctx)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: mbedtls_sha512_init
      Src: /src/mhd2/src/mhd2/sha512_256_mbedtls.c:98,1
    - Dst: mtls_set_sha512_256_iv
      Src: /src/mhd2/src/mhd2/sha512_256_mbedtls.c:99,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - ctx
    argTypes:
    - struct mhd_Sha512_256CtxMtls*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 100
      start: 95
    functionDepth: 2
    functionLinenumber: 95
    functionLinenumberEnd: 100
    functionName: mhd_SHA512_256_mtls_init
    functionSourceFile: /src/mhd2/src/mhd2/sha512_256_mbedtls.c
    functionUses: 0
    functionsReached:
    - mbedtls_sha512_init
    - mtls_set_sha512_256_iv
    linkageType: ''
    returnType: void
    signature: void mhd_SHA512_256_mtls_init (struct mhd_Sha512_256CtxMtls *ctx)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: mtls_set_sha512_256_iv
      Src: /src/mhd2/src/mhd2/sha512_256_mbedtls.c:109,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - ctx
    argTypes:
    - struct mhd_Sha512_256CtxMtls*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 110
      start: 103
    functionDepth: 2
    functionLinenumber: 103
    functionLinenumberEnd: 110
    functionName: mhd_SHA512_256_mtls_reset
    functionSourceFile: /src/mhd2/src/mhd2/sha512_256_mbedtls.c
    functionUses: 0
    functionsReached:
    - mtls_set_sha512_256_iv
    linkageType: ''
    returnType: void
    signature: void mhd_SHA512_256_mtls_reset (struct mhd_Sha512_256CtxMtls *ctx)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/sha512_256_mbedtls.c:120,1
    - Dst: mbedtls_sha512_update
      Src: /src/mhd2/src/mhd2/sha512_256_mbedtls.c:126,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 3
    argNames:
    - ctx
    - size
    - data
    argTypes:
    - struct mhd_Sha512_256CtxMtls*
    - size_t
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 129
      start: 114
    functionDepth: 1
    functionLinenumber: 114
    functionLinenumberEnd: 129
    functionName: mhd_SHA512_256_mtls_update
    functionSourceFile: /src/mhd2/src/mhd2/sha512_256_mbedtls.c
    functionUses: 0
    functionsReached:
    - mhd_assert
    - mbedtls_sha512_update
    linkageType: ''
    returnType: void
    signature: "void mhd_SHA512_256_mtls_update (struct mhd_Sha512_256CtxMtls *restrict
      ctx,\n                            size_t size,\n                            const
      void *restrict data)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: MHD_FN_PAR_FIX_ARR_SIZE_
      Src: /src/mhd2/src/mhd2/sha512_256_mbedtls.c:136,1
    - Dst: mbedtls_sha512_finish
      Src: /src/mhd2/src/mhd2/sha512_256_mbedtls.c:143,1
    - Dst: memcpy
      Src: /src/mhd2/src/mhd2/sha512_256_mbedtls.c:150,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 2
    argNames:
    - ctx
    - digest
    argTypes:
    - struct mhd_Sha512_256CtxMtls*
    - uint8_t[]
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 153
      start: 133
    functionDepth: 0
    functionLinenumber: 133
    functionLinenumberEnd: 153
    functionName: mhd_SHA512_256_mtls_finish
    functionSourceFile: /src/mhd2/src/mhd2/sha512_256_mbedtls.c
    functionUses: 0
    functionsReached:
    - memcpy
    - MHD_FN_PAR_FIX_ARR_SIZE_
    - mbedtls_sha512_finish
    linkageType: ''
    returnType: void
    signature: "void mhd_SHA512_256_mtls_finish (\n  struct mhd_Sha512_256CtxMtls
      *restrict ctx,\n  uint8_t digest[MHD_FN_PAR_FIX_ARR_SIZE_ (mhd_SHA512_256_DIGEST_SIZE)])"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: mbedtls_sha512_free
      Src: /src/mhd2/src/mhd2/sha512_256_mbedtls.c:159,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ctx
    argTypes:
    - struct mhd_Sha512_256CtxMtls*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 160
      start: 156
    functionDepth: 0
    functionLinenumber: 156
    functionLinenumberEnd: 160
    functionName: mhd_SHA512_256_mtls_deinit
    functionSourceFile: /src/mhd2/src/mhd2/sha512_256_mbedtls.c
    functionUses: 0
    functionsReached:
    - mbedtls_sha512_free
    linkageType: ''
    returnType: void
    signature: void mhd_SHA512_256_mtls_deinit (struct mhd_Sha512_256CtxMtls *ctx)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - type
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 62
      start: 61
    functionDepth: 0
    functionLinenumber: 61
    functionLinenumberEnd: 62
    functionName: mhd_UNSIGNED_TYPE_MAX
    functionSourceFile: /src/mhd2/src/mhd2/mhd_limits.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: mhd_UNSIGNED_TYPE_MAX(type)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - type
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 66
      start: 64
    functionDepth: 0
    functionLinenumber: 64
    functionLinenumberEnd: 66
    functionName: mhd_SIGNED_TYPE_MAX
    functionSourceFile: /src/mhd2/src/mhd2/mhd_limits.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: mhd_SIGNED_TYPE_MAX(type)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - type
    - ','
    - utype
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 71
      start: 69
    functionDepth: 0
    functionLinenumber: 69
    functionLinenumberEnd: 71
    functionName: mhd_SIGNED_TYPE_MAX2
    functionSourceFile: /src/mhd2/src/mhd2/mhd_limits.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: mhd_SIGNED_TYPE_MAX2(type, utype)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - type
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 73
      start: 72
    functionDepth: 0
    functionLinenumber: 72
    functionLinenumberEnd: 73
    functionName: mhd_IS_TYPE_SIGNED
    functionSourceFile: /src/mhd2/src/mhd2/mhd_limits.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: mhd_IS_TYPE_SIGNED(type)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 71
      start: 67
    functionDepth: 0
    functionLinenumber: 67
    functionLinenumberEnd: 71
    functionName: mhd_panic_init_default
    functionSourceFile: /src/mhd2/src/mhd2/mhd_panic.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: MHD_INTERNAL
    signature: MHD_INTERNAL mhd_panic_init_default (void)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - cb
    - cls
    argTypes:
    - MHD_PanicCallback
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 80
      start: 74
    functionDepth: 0
    functionLinenumber: 74
    functionLinenumberEnd: 80
    functionName: MHD_lib_set_panic_func
    functionSourceFile: /src/mhd2/src/mhd2/mhd_panic.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: MHD_EXTERN_
    signature: "MHD_EXTERN_ MHD_lib_set_panic_func (MHD_PanicCallback cb,\n                        void
      *cls)"
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: user_panic_handler
      Src: /src/mhd2/src/mhd2/mhd_panic.c:97,1
    - Dst: fprintf
      Src: /src/mhd2/src/mhd2/mhd_panic.c:101,1
    - Dst: fprintf
      Src: /src/mhd2/src/mhd2/mhd_panic.c:109,1
    - Dst: fprintf
      Src: /src/mhd2/src/mhd2/mhd_panic.c:118,1
    - Dst: abort
      Src: /src/mhd2/src/mhd2/mhd_panic.c:127,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 18
    argCount: 4
    argNames:
    - file
    - func
    - line
    - message
    argTypes:
    - char*
    - char*
    - unsigned int
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 128
      start: 83
    functionDepth: 0
    functionLinenumber: 83
    functionLinenumberEnd: 128
    functionName: mhd_panic
    functionSourceFile: /src/mhd2/src/mhd2/mhd_panic.c
    functionUses: 0
    functionsReached:
    - abort
    - fprintf
    - user_panic_handler
    linkageType: ''
    returnType: MHD_NORETURN_
    signature: "MHD_NORETURN_ mhd_panic (const char *file,\n           const char
      *func,\n           unsigned int line,\n           const char *message)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - stream
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 66
      start: 65
    functionDepth: 0
    functionLinenumber: 65
    functionLinenumberEnd: 66
    functionName: mhd_STRM_IS_HTTP2
    functionSourceFile: /src/mhd2/src/mhd2/mhd_stream.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: mhd_STRM_IS_HTTP2(stream)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - stream
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 68
      start: 67
    functionDepth: 0
    functionLinenumber: 67
    functionLinenumberEnd: 68
    functionName: mhd_STRM_IS_HTTP2
    functionSourceFile: /src/mhd2/src/mhd2/mhd_stream.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: mhd_STRM_IS_HTTP2(stream)
  - BBCount: 16
    BranchProfiles: []
    Callsites:
    - Dst: MHD_FN_PAR_DYN_ARR_SIZE_
      Src: /src/mhd2/src/mhd2/mhd_read_file.c:68,1
    - Dst: pread64
      Src: /src/mhd2/src/mhd2/mhd_read_file.c:89,1
    - Dst: pread
      Src: /src/mhd2/src/mhd2/mhd_read_file.c:94,1
    - Dst: lseek64
      Src: /src/mhd2/src/mhd2/mhd_read_file.c:127,1
    - Dst: lseek
      Src: /src/mhd2/src/mhd2/mhd_read_file.c:132,1
    - Dst: read
      Src: /src/mhd2/src/mhd2/mhd_read_file.c:138,1
    - Dst: _get_osfhandle
      Src: /src/mhd2/src/mhd2/mhd_read_file.c:152,1
    - Dst: memset
      Src: /src/mhd2/src/mhd2/mhd_read_file.c:163,1
    - Dst: ReadFile
      Src: /src/mhd2/src/mhd2/mhd_read_file.c:173,1
    CyclomaticComplexity: 20
    EdgeCount: 20
    ICount: 48
    argCount: 5
    argNames:
    - file_fd
    - offset
    - buf_size
    - buf
    - size_filled
    argTypes:
    - int
    - uint_fast64_t
    - size_t
    - char[]
    - size_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 186
      start: 64
    functionDepth: 0
    functionLinenumber: 64
    functionLinenumberEnd: 186
    functionName: mhd_read_file
    functionSourceFile: /src/mhd2/src/mhd2/mhd_read_file.c
    functionUses: 0
    functionsReached:
    - lseek64
    - ReadFile
    - pread64
    - memset
    - lseek
    - read
    - MHD_FN_PAR_DYN_ARR_SIZE_
    - _get_osfhandle
    - pread
    linkageType: ''
    returnType: enum mhd_FileReadResult
    signature: "enum mhd_FileReadResult mhd_read_file (int file_fd,\n               uint_fast64_t
      offset,\n               size_t buf_size,\n               char buf[MHD_FN_PAR_DYN_ARR_SIZE_
      (buf_size)],\n               size_t *restrict size_filled)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: va_start
      Src: /src/mhd2/src/mhd2/daemon_logger.c:63,1
    - Dst: struct MHD_Daemon*::log_params::v_log_cb
      Src: /src/mhd2/src/mhd2/daemon_logger.c:64,1
    - Dst: va_end
      Src: /src/mhd2/src/mhd2/daemon_logger.c:66,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 3
    argNames:
    - daemon
    - sc
    - fm
    argTypes:
    - struct MHD_Daemon*
    - enum MHD_StatusCode
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 68
      start: 54
    functionDepth: 0
    functionLinenumber: 54
    functionLinenumberEnd: 68
    functionName: mhd_logger
    functionSourceFile: /src/mhd2/src/mhd2/daemon_logger.c
    functionUses: 0
    functionsReached:
    - struct MHD_Daemon*::log_params::v_log_cb
    - va_start
    - va_end
    linkageType: ''
    returnType: MHD_INTERNAL
    signature: "MHD_INTERNAL mhd_logger (struct MHD_Daemon *daemon,\n            enum
      MHD_StatusCode sc,\n            const char *fm,\n            ...)"
  - BBCount: 16
    BranchProfiles: []
    Callsites:
    - Dst: mhd_MSTR_INIT
      Src: /src/mhd2/src/mhd2/mhd_enum_to_str.c:61,1
    - Dst: mhd_MSTR_INIT
      Src: /src/mhd2/src/mhd2/mhd_enum_to_str.c:69,1
    - Dst: mhd_MSTR_INIT
      Src: /src/mhd2/src/mhd2/mhd_enum_to_str.c:77,1
    - Dst: mhd_MSTR_INIT
      Src: /src/mhd2/src/mhd2/mhd_enum_to_str.c:85,1
    - Dst: mhd_MSTR_INIT
      Src: /src/mhd2/src/mhd2/mhd_enum_to_str.c:93,1
    - Dst: mhd_MSTR_INIT
      Src: /src/mhd2/src/mhd2/mhd_enum_to_str.c:101,1
    - Dst: mhd_MSTR_INIT
      Src: /src/mhd2/src/mhd2/mhd_enum_to_str.c:108,1
    CyclomaticComplexity: 16
    EdgeCount: 16
    ICount: 41
    argCount: 1
    argNames:
    - pv
    argTypes:
    - enum MHD_HTTP_ProtocolVersion
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 117
      start: 53
    functionDepth: 1
    functionLinenumber: 53
    functionLinenumberEnd: 117
    functionName: MHD_protocol_version_to_string
    functionSourceFile: /src/mhd2/src/mhd2/mhd_enum_to_str.c
    functionUses: 1
    functionsReached:
    - mhd_MSTR_INIT
    linkageType: ''
    returnType: struct MHD_String
    signature: 'struct MHD_String *

      MHD_protocol_version_to_string (enum MHD_HTTP_ProtocolVersion pv)'
  - BBCount: 21
    BranchProfiles: []
    Callsites:
    - Dst: mhd_MSTR_INIT
      Src: /src/mhd2/src/mhd2/mhd_enum_to_str.c:128,1
    - Dst: mhd_MSTR_INIT
      Src: /src/mhd2/src/mhd2/mhd_enum_to_str.c:135,1
    - Dst: mhd_MSTR_INIT
      Src: /src/mhd2/src/mhd2/mhd_enum_to_str.c:142,1
    - Dst: mhd_MSTR_INIT
      Src: /src/mhd2/src/mhd2/mhd_enum_to_str.c:149,1
    - Dst: mhd_MSTR_INIT
      Src: /src/mhd2/src/mhd2/mhd_enum_to_str.c:156,1
    - Dst: mhd_MSTR_INIT
      Src: /src/mhd2/src/mhd2/mhd_enum_to_str.c:163,1
    - Dst: mhd_MSTR_INIT
      Src: /src/mhd2/src/mhd2/mhd_enum_to_str.c:170,1
    - Dst: mhd_MSTR_INIT
      Src: /src/mhd2/src/mhd2/mhd_enum_to_str.c:177,1
    - Dst: mhd_MSTR_INIT
      Src: /src/mhd2/src/mhd2/mhd_enum_to_str.c:184,1
    CyclomaticComplexity: 20
    EdgeCount: 20
    ICount: 52
    argCount: 1
    argNames:
    - method
    argTypes:
    - enum MHD_HTTP_Method
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 194
      start: 120
    functionDepth: 1
    functionLinenumber: 120
    functionLinenumberEnd: 194
    functionName: MHD_http_method_to_string
    functionSourceFile: /src/mhd2/src/mhd2/mhd_enum_to_str.c
    functionUses: 1
    functionsReached:
    - mhd_MSTR_INIT
    linkageType: ''
    returnType: struct MHD_String
    signature: 'struct MHD_String *

      MHD_http_method_to_string (enum MHD_HTTP_Method method)'
  - BBCount: 63
    BranchProfiles: []
    Callsites:
    - Dst: memset
      Src: /src/mhd2/src/mhd2/lib_get_info.c:110,1
    - Dst: mhd_MSTR_INIT
      Src: /src/mhd2/src/mhd2/lib_get_info.c:130,1
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/lib_get_info.c:143,1
    - Dst: mhd_uint32_to_strx
      Src: /src/mhd2/src/mhd2/lib_get_info.c:145,1
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/lib_get_info.c:148,1
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/lib_get_info.c:149,1
    - Dst: mhd_uint32_to_strx
      Src: /src/mhd2/src/mhd2/lib_get_info.c:153,1
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/lib_get_info.c:156,1
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/lib_get_info.c:157,1
    - Dst: mhd_uint32_to_strx
      Src: /src/mhd2/src/mhd2/lib_get_info.c:161,1
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/lib_get_info.c:164,1
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/lib_get_info.c:165,1
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/lib_get_info.c:166,1
    CyclomaticComplexity: 35
    EdgeCount: 35
    ICount: 220
    argCount: 3
    argNames:
    - info_type
    - MHD_RESTRICT
    - output_buf_size
    argTypes:
    - enum MHD_LibInfoFixed
    - union MHD_LibInfoFixedData*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 504
      start: 104
    functionDepth: 1
    functionLinenumber: 104
    functionLinenumberEnd: 504
    functionName: MHD_lib_get_info_fixed_sz
    functionSourceFile: /src/mhd2/src/mhd2/lib_get_info.c
    functionUses: 1
    functionsReached:
    - mhd_assert
    - mhd_MSTR_INIT
    - memset
    - mhd_uint32_to_strx
    linkageType: ''
    returnType: enum MHD_StatusCode
    signature: "enum MHD_StatusCode MHD_lib_get_info_fixed_sz (enum MHD_LibInfoFixed
      info_type,\n                           union MHD_LibInfoFixedData *MHD_RESTRICT
      output_buf,\n                           size_t output_buf_size)"
  - BBCount: 11
    BranchProfiles: []
    Callsites:
    - Dst: memset
      Src: /src/mhd2/src/mhd2/lib_get_info.c:516,1
    - Dst: mhd_lib_is_fully_initialised_once
      Src: /src/mhd2/src/mhd2/lib_get_info.c:524,1
    - Dst: mhd_lib_is_fully_initialised_now
      Src: /src/mhd2/src/mhd2/lib_get_info.c:530,1
    - Dst: mhd_lib_init_global_if_needed
      Src: /src/mhd2/src/mhd2/lib_get_info.c:545,1
    - Dst: mhd_tls_gnu_is_inited_fine
      Src: /src/mhd2/src/mhd2/lib_get_info.c:548,1
    - Dst: mhd_tls_open_is_inited_fine
      Src: /src/mhd2/src/mhd2/lib_get_info.c:549,1
    - Dst: mhd_tls_mbed_is_inited_fine
      Src: /src/mhd2/src/mhd2/lib_get_info.c:550,1
    - Dst: mhd_lib_deinit_global_if_needed
      Src: /src/mhd2/src/mhd2/lib_get_info.c:561,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 38
    argCount: 3
    argNames:
    - info_type
    - MHD_RESTRICT
    - output_buf_size
    argTypes:
    - enum MHD_LibInfoDynamic
    - union MHD_LibInfoDynamicData*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 571
      start: 509
    functionDepth: 3
    functionLinenumber: 509
    functionLinenumberEnd: 571
    functionName: MHD_lib_get_info_dynamic_sz
    functionSourceFile: /src/mhd2/src/mhd2/lib_get_info.c
    functionUses: 1
    functionsReached:
    - mhd_tls_open_is_inited_fine
    - mhd_tls_mbed_is_inited_fine
    - mhd_tls_gnu_is_inited_fine
    - mhd_lib_deinit_global_if_needed
    - mhd_lib_init_global_if_needed
    - mhd_lib_is_fully_initialised_once
    - memset
    - mhd_lib_is_fully_initialised_now
    linkageType: ''
    returnType: enum MHD_StatusCode
    signature: "enum MHD_StatusCode MHD_lib_get_info_dynamic_sz (\n  enum MHD_LibInfoDynamic
      info_type,\n  union MHD_LibInfoDynamicData *MHD_RESTRICT output_buf,\n  size_t
      output_buf_size)"
  - BBCount: 68
    BranchProfiles: []
    Callsites:
    - Dst: free
      Src: /src/mhd2/src/mhd2/daemon_set_options.c:62,1
    - Dst: malloc
      Src: /src/mhd2/src/mhd2/daemon_set_options.c:64,1
    - Dst: memcpy
      Src: /src/mhd2/src/mhd2/daemon_set_options.c:67,1
    - Dst: strlen
      Src: /src/mhd2/src/mhd2/daemon_set_options.c:103,1
    - Dst: strlen
      Src: /src/mhd2/src/mhd2/daemon_set_options.c:104,1
    - Dst: strlen
      Src: /src/mhd2/src/mhd2/daemon_set_options.c:111,1
    - Dst: free
      Src: /src/mhd2/src/mhd2/daemon_set_options.c:117,1
    - Dst: malloc
      Src: /src/mhd2/src/mhd2/daemon_set_options.c:118,1
    - Dst: memcpy
      Src: /src/mhd2/src/mhd2/daemon_set_options.c:123,1
    - Dst: memcpy
      Src: /src/mhd2/src/mhd2/daemon_set_options.c:126,1
    - Dst: memcpy
      Src: /src/mhd2/src/mhd2/daemon_set_options.c:133,1
    - Dst: strlen
      Src: /src/mhd2/src/mhd2/daemon_set_options.c:164,1
    - Dst: malloc
      Src: /src/mhd2/src/mhd2/daemon_set_options.c:167,1
    - Dst: memcpy
      Src: /src/mhd2/src/mhd2/daemon_set_options.c:170,1
    - Dst: strlen
      Src: /src/mhd2/src/mhd2/daemon_set_options.c:184,1
    - Dst: malloc
      Src: /src/mhd2/src/mhd2/daemon_set_options.c:185,1
    - Dst: memcpy
      Src: /src/mhd2/src/mhd2/daemon_set_options.c:188,1
    - Dst: free
      Src: /src/mhd2/src/mhd2/daemon_set_options.c:284,1
    - Dst: malloc
      Src: /src/mhd2/src/mhd2/daemon_set_options.c:286,1
    - Dst: memcpy
      Src: /src/mhd2/src/mhd2/daemon_set_options.c:289,1
    CyclomaticComplexity: 70
    EdgeCount: 70
    ICount: 220
    argCount: 3
    argNames:
    - MHD_RESTRICT
    - MHD_RESTRICT
    - options_max_num
    argTypes:
    - struct MHD_Daemon*
    - struct MHD_DaemonOptionAndValue*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 314
      start: 17
    functionDepth: 0
    functionLinenumber: 17
    functionLinenumberEnd: 314
    functionName: MHD_daemon_set_options
    functionSourceFile: /src/mhd2/src/mhd2/daemon_set_options.c
    functionUses: 2
    functionsReached:
    - free
    - malloc
    - strlen
    - memcpy
    linkageType: ''
    returnType: MHD_FN_PAR_NONNULL_ALL_
    signature: "MHD_FN_PAR_NONNULL_ALL_ MHD_daemon_set_options (\n  struct MHD_Daemon
      *MHD_RESTRICT daemon,\n  const struct MHD_DaemonOptionAndValue *MHD_RESTRICT
      options,\n  size_t options_max_num)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - act
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 113
      start: 111
    functionDepth: 0
    functionLinenumber: 111
    functionLinenumberEnd: 113
    functionName: mhd_ACTION_IS_VALID
    functionSourceFile: /src/mhd2/src/mhd2/mhd_action.h
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: mhd_ACTION_IS_VALID(act)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - act
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 356
      start: 353
    functionDepth: 0
    functionLinenumber: 353
    functionLinenumberEnd: 356
    functionName: mhd_UPLOAD_ACTION_IS_VALID
    functionSourceFile: /src/mhd2/src/mhd2/mhd_action.h
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: mhd_UPLOAD_ACTION_IS_VALID(act)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/mhd_mono_clock.c:193,1
    - Dst: mach_port_deallocate
      Src: /src/mhd2/src/mhd2/mhd_mono_clock.c:194,1
    - Dst: mach_task_self
      Src: /src/mhd2/src/mhd2/mhd_mono_clock.c:194,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 197
      start: 190
    functionDepth: 1
    functionLinenumber: 190
    functionLinenumberEnd: 197
    functionName: mclock_deinit_clock_get_time
    functionSourceFile: /src/mhd2/src/mhd2/mhd_mono_clock.c
    functionUses: 0
    functionsReached:
    - mach_port_deallocate
    - mach_task_self
    - mhd_assert
    linkageType: ''
    returnType: void
    signature: void mclock_deinit_clock_get_time (void)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - ptr
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 203
      start: 202
    functionDepth: 0
    functionLinenumber: 202
    functionLinenumberEnd: 203
    functionName: mclock_init_clock_get_time
    functionSourceFile: /src/mhd2/src/mhd2/mhd_mono_clock.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: mclock_init_clock_get_time(ptr)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 2
    argNames:
    - (
    - )
    argTypes:
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 204
      start: 203
    functionDepth: 0
    functionLinenumber: 203
    functionLinenumberEnd: 204
    functionName: mclock_deinit_clock_get_time
    functionSourceFile: /src/mhd2/src/mhd2/mhd_mono_clock.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: mclock_deinit_clock_get_time()
  - BBCount: 4
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 12
    argCount: 2
    argNames:
    - a
    - b
    argTypes:
    - uint_fast32_t
    - uint_fast32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 234
      start: 218
    functionDepth: 0
    functionLinenumber: 218
    functionLinenumberEnd: 234
    functionName: uint_fast32_t
    functionSourceFile: /src/mhd2/src/mhd2/mhd_mono_clock.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: mhd_static_inline
    signature: 'mhd_static_inline uint_fast32_t

      mclock_gcd (uint_fast32_t a, uint_fast32_t b)'
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/mhd_mono_clock.c:249,1
    - Dst: mach_timebase_info
      Src: /src/mhd2/src/mhd2/mhd_mono_clock.c:251,1
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/mhd_mono_clock.c:254,1
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/mhd_mono_clock.c:255,1
    - Dst: mclock_gcd
      Src: /src/mhd2/src/mhd2/mhd_mono_clock.c:257,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 263
      start: 242
    functionDepth: 1
    functionLinenumber: 242
    functionLinenumberEnd: 263
    functionName: mclock_init_mach_time
    functionSourceFile: /src/mhd2/src/mhd2/mhd_mono_clock.c
    functionUses: 0
    functionsReached:
    - mclock_gcd
    - mach_timebase_info
    - mhd_assert
    linkageType: ''
    returnType: bool
    signature: bool mclock_init_mach_time (void)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 2
    argNames:
    - (
    - )
    argTypes:
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 268
      start: 267
    functionDepth: 0
    functionLinenumber: 267
    functionLinenumberEnd: 268
    functionName: mclock_init_mach_time
    functionSourceFile: /src/mhd2/src/mhd2/mhd_mono_clock.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: mclock_init_mach_time()
  - BBCount: 21
    BranchProfiles: []
    Callsites:
    - Dst: GetTickCount64
      Src: /src/mhd2/src/mhd2/mhd_mono_clock.c:370,1
    - Dst: QueryPerformanceFrequency
      Src: /src/mhd2/src/mhd2/mhd_mono_clock.c:382,1
    - Dst: QueryPerformanceCounter
      Src: /src/mhd2/src/mhd2/mhd_mono_clock.c:383,1
    - Dst: mclock_init_mach_time
      Src: /src/mhd2/src/mhd2/mhd_mono_clock.c:397,1
    - Dst: mach_continuous_approximate_time
      Src: /src/mhd2/src/mhd2/mhd_mono_clock.c:400,1
    - Dst: mach_approximate_time
      Src: /src/mhd2/src/mhd2/mhd_mono_clock.c:402,1
    - Dst: clock_gettime
      Src: /src/mhd2/src/mhd2/mhd_mono_clock.c:415,1
    - Dst: clock_gettime
      Src: /src/mhd2/src/mhd2/mhd_mono_clock.c:427,1
    - Dst: clock_gettime
      Src: /src/mhd2/src/mhd2/mhd_mono_clock.c:440,1
    - Dst: clock_gettime
      Src: /src/mhd2/src/mhd2/mhd_mono_clock.c:453,1
    - Dst: clock_gettime
      Src: /src/mhd2/src/mhd2/mhd_mono_clock.c:467,1
    - Dst: clock_gettime
      Src: /src/mhd2/src/mhd2/mhd_mono_clock.c:480,1
    - Dst: clock_gettime
      Src: /src/mhd2/src/mhd2/mhd_mono_clock.c:492,1
    - Dst: clock_gettime
      Src: /src/mhd2/src/mhd2/mhd_mono_clock.c:505,1
    - Dst: clock_gettime
      Src: /src/mhd2/src/mhd2/mhd_mono_clock.c:517,1
    - Dst: mclock_init_clock_get_time
      Src: /src/mhd2/src/mhd2/mhd_mono_clock.c:531,1
    - Dst: clock_gettime
      Src: /src/mhd2/src/mhd2/mhd_mono_clock.c:542,1
    - Dst: gethrtime
      Src: /src/mhd2/src/mhd2/mhd_mono_clock.c:557,1
    - Dst: timespec_get
      Src: /src/mhd2/src/mhd2/mhd_mono_clock.c:569,1
    - Dst: gettimeofday
      Src: /src/mhd2/src/mhd2/mhd_mono_clock.c:578,1
    - Dst: time
      Src: /src/mhd2/src/mhd2/mhd_mono_clock.c:585,1
    CyclomaticComplexity: 20
    EdgeCount: 20
    ICount: 92
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 590
      start: 346
    functionDepth: 2
    functionLinenumber: 346
    functionLinenumberEnd: 590
    functionName: mhd_mclock_init_once
    functionSourceFile: /src/mhd2/src/mhd2/mhd_mono_clock.c
    functionUses: 1
    functionsReached:
    - QueryPerformanceCounter
    - clock_gettime
    - time
    - timespec_get
    - mach_continuous_approximate_time
    - gethrtime
    - mclock_init_clock_get_time
    - gettimeofday
    - QueryPerformanceFrequency
    - mclock_init_mach_time
    - GetTickCount64
    - mach_approximate_time
    linkageType: ''
    returnType: MHD_INTERNAL
    signature: MHD_INTERNAL mhd_mclock_init_once (void)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: mclock_deinit_clock_get_time
      Src: /src/mhd2/src/mhd2/mhd_mono_clock.c:600,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 601
      start: 596
    functionDepth: 2
    functionLinenumber: 596
    functionLinenumberEnd: 601
    functionName: mhd_mclock_deinit
    functionSourceFile: /src/mhd2/src/mhd2/mhd_mono_clock.c
    functionUses: 1
    functionsReached:
    - mclock_deinit_clock_get_time
    linkageType: ''
    returnType: MHD_INTERNAL
    signature: MHD_INTERNAL mhd_mclock_deinit (void)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: mclock_init_clock_get_time
      Src: /src/mhd2/src/mhd2/mhd_mono_clock.c:609,1
    - Dst: mhd_mclock_init_once
      Src: /src/mhd2/src/mhd2/mhd_mono_clock.c:611,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 613
      start: 604
    functionDepth: 3
    functionLinenumber: 604
    functionLinenumberEnd: 613
    functionName: mhd_mclock_re_init
    functionSourceFile: /src/mhd2/src/mhd2/mhd_mono_clock.c
    functionUses: 1
    functionsReached:
    - mhd_mclock_init_once
    - mclock_init_clock_get_time
    linkageType: ''
    returnType: MHD_INTERNAL
    signature: MHD_INTERNAL mhd_mclock_re_init (void)
  - BBCount: 23
    BranchProfiles: []
    Callsites:
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/mhd_mono_clock.c:638,1
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/mhd_mono_clock.c:646,1
    - Dst: clock_gettime
      Src: /src/mhd2/src/mhd2/mhd_mono_clock.c:650,1
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/mhd_mono_clock.c:661,1
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/mhd_mono_clock.c:662,1
    - Dst: mach_continuous_approximate_time
      Src: /src/mhd2/src/mhd2/mhd_mono_clock.c:667,1
    - Dst: mach_approximate_time
      Src: /src/mhd2/src/mhd2/mhd_mono_clock.c:669,1
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/mhd_mono_clock.c:688,1
    - Dst: clock_get_time
      Src: /src/mhd2/src/mhd2/mhd_mono_clock.c:693,1
    - Dst: gethrtime
      Src: /src/mhd2/src/mhd2/mhd_mono_clock.c:704,1
    - Dst: GetTickCount64
      Src: /src/mhd2/src/mhd2/mhd_mono_clock.c:710,1
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/mhd_mono_clock.c:713,1
    - Dst: QueryPerformanceCounter
      Src: /src/mhd2/src/mhd2/mhd_mono_clock.c:719,1
    - Dst: mhd_UNREACHABLE
      Src: /src/mhd2/src/mhd2/mhd_mono_clock.c:728,1
    - Dst: timespec_get
      Src: /src/mhd2/src/mhd2/mhd_mono_clock.c:737,1
    - Dst: gettimeofday
      Src: /src/mhd2/src/mhd2/mhd_mono_clock.c:746,1
    - Dst: time
      Src: /src/mhd2/src/mhd2/mhd_mono_clock.c:758,1
    - Dst: time
      Src: /src/mhd2/src/mhd2/mhd_mono_clock.c:764,1
    CyclomaticComplexity: 22
    EdgeCount: 22
    ICount: 64
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 766
      start: 625
    functionDepth: 1
    functionLinenumber: 625
    functionLinenumberEnd: 766
    functionName: uint_fast64_t::mhd_monotonic_msec_counter
    functionSourceFile: /src/mhd2/src/mhd2/mhd_mono_clock.c
    functionUses: 0
    functionsReached:
    - QueryPerformanceCounter
    - time
    - clock_get_time
    - timespec_get
    - mach_continuous_approximate_time
    - gethrtime
    - mhd_UNREACHABLE
    - mhd_assert
    - gettimeofday
    - clock_gettime
    - GetTickCount64
    - mach_approximate_time
    linkageType: ''
    returnType: MHD_INTERNAL
    signature: 'MHD_INTERNAL uint_fast64_t

      mhd_monotonic_msec_counter (void)'
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - act
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 98
      start: 96
    functionDepth: 0
    functionLinenumber: 96
    functionLinenumberEnd: 98
    functionName: mhd_DCC_ACTION_IS_VALID
    functionSourceFile: /src/mhd2/src/mhd2/mhd_dcc_action.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: mhd_DCC_ACTION_IS_VALID(act)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - n
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 135
      start: 132
    functionDepth: 0
    functionLinenumber: 132
    functionLinenumberEnd: 135
    functionName: mhd_ROUND_TO_ALIGN
    functionSourceFile: /src/mhd2/src/mhd2/mempool_funcs.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: mhd_ROUND_TO_ALIGN(n)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - n
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 141
      start: 140
    functionDepth: 0
    functionLinenumber: 140
    functionLinenumberEnd: 141
    functionName: mhd_ROUND_TO_ALIGN_PLUS_RED_ZONE
    functionSourceFile: /src/mhd2/src/mhd2/mempool_funcs.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: mhd_ROUND_TO_ALIGN_PLUS_RED_ZONE(n)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - pointer
    - ','
    - size
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 142
      start: 141
    functionDepth: 0
    functionLinenumber: 141
    functionLinenumberEnd: 142
    functionName: mhd_POISON_MEMORY
    functionSourceFile: /src/mhd2/src/mhd2/mempool_funcs.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: mhd_POISON_MEMORY(pointer, size)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - pointer
    - ','
    - size
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 143
      start: 142
    functionDepth: 0
    functionLinenumber: 142
    functionLinenumberEnd: 143
    functionName: mhd_UNPOISON_MEMORY
    functionSourceFile: /src/mhd2/src/mhd2/mempool_funcs.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: mhd_UNPOISON_MEMORY(pointer, size)
  - 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: 148
      start: 146
    functionDepth: 0
    functionLinenumber: 146
    functionLinenumberEnd: 148
    functionName: mp_ptr_le_
    functionSourceFile: /src/mhd2/src/mhd2/mempool_funcs.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: mp_ptr_le_(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: 154
      start: 152
    functionDepth: 0
    functionLinenumber: 152
    functionLinenumberEnd: 154
    functionName: mp_ptr_diff_
    functionSourceFile: /src/mhd2/src/mhd2/mempool_funcs.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: mp_ptr_diff_(p1, p2)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - n
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 158
      start: 156
    functionDepth: 0
    functionLinenumber: 156
    functionLinenumberEnd: 158
    functionName: mhd_ROUND_TO_ALIGN_PLUS_RED_ZONE
    functionSourceFile: /src/mhd2/src/mhd2/mempool_funcs.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: mhd_ROUND_TO_ALIGN_PLUS_RED_ZONE(n)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - pointer
    - ','
    - size
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 160
      start: 158
    functionDepth: 0
    functionLinenumber: 158
    functionLinenumberEnd: 160
    functionName: mhd_POISON_MEMORY
    functionSourceFile: /src/mhd2/src/mhd2/mempool_funcs.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: mhd_POISON_MEMORY(pointer, size)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - pointer
    - ','
    - size
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 162
      start: 160
    functionDepth: 0
    functionLinenumber: 160
    functionLinenumberEnd: 162
    functionName: mhd_UNPOISON_MEMORY
    functionSourceFile: /src/mhd2/src/mhd2/mempool_funcs.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: mhd_UNPOISON_MEMORY(pointer, size)
  - 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: 169
      start: 166
    functionDepth: 0
    functionLinenumber: 166
    functionLinenumberEnd: 169
    functionName: mp_ptr_le_
    functionSourceFile: /src/mhd2/src/mhd2/mempool_funcs.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: mp_ptr_le_(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: 176
      start: 173
    functionDepth: 0
    functionLinenumber: 173
    functionLinenumberEnd: 176
    functionName: mp_ptr_diff_
    functionSourceFile: /src/mhd2/src/mhd2/mempool_funcs.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: mp_ptr_diff_(p1, p2)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: no_sanitize
      Src: /src/mhd2/src/mhd2/mempool_funcs.c:182,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - p1
    - p2
    argTypes:
    - void*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 186
      start: 182
    functionDepth: 0
    functionLinenumber: 182
    functionLinenumberEnd: 186
    functionName: mp_ptr_le_
    functionSourceFile: /src/mhd2/src/mhd2/mempool_funcs.c
    functionUses: 0
    functionsReached:
    - no_sanitize
    linkageType: ''
    returnType: bool
    signature: bool mp_ptr_le_ (const void *p1, const void *p2)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: no_sanitize
      Src: /src/mhd2/src/mhd2/mempool_funcs.c:196,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - p1
    - p2
    argTypes:
    - void*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 200
      start: 196
    functionDepth: 0
    functionLinenumber: 196
    functionLinenumberEnd: 200
    functionName: mp_ptr_diff_
    functionSourceFile: /src/mhd2/src/mhd2/mempool_funcs.c
    functionUses: 0
    functionsReached:
    - no_sanitize
    linkageType: ''
    returnType: size_t
    signature: size_t mp_ptr_diff_ (const void *p1, const void *p2)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: no_sanitize
      Src: /src/mhd2/src/mhd2/mempool_funcs.c:208,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - p1
    - p2
    argTypes:
    - void*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 212
      start: 208
    functionDepth: 0
    functionLinenumber: 208
    functionLinenumberEnd: 212
    functionName: mp_ptr_le_
    functionSourceFile: /src/mhd2/src/mhd2/mempool_funcs.c
    functionUses: 0
    functionsReached:
    - no_sanitize
    linkageType: ''
    returnType: bool
    signature: bool mp_ptr_le_ (const void *p1, const void *p2)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: no_sanitize
      Src: /src/mhd2/src/mhd2/mempool_funcs.c:221,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - p1
    - p2
    argTypes:
    - void*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 225
      start: 221
    functionDepth: 0
    functionLinenumber: 221
    functionLinenumberEnd: 225
    functionName: mp_ptr_diff_
    functionSourceFile: /src/mhd2/src/mhd2/mempool_funcs.c
    functionUses: 0
    functionsReached:
    - no_sanitize
    linkageType: ''
    returnType: size_t
    signature: size_t mp_ptr_diff_ (const void *p1, const void *p2)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: sysconf
      Src: /src/mhd2/src/mhd2/mempool_funcs.c:253,1
    - Dst: GetSystemInfo
      Src: /src/mhd2/src/mhd2/mempool_funcs.c:260,1
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/mempool_funcs.c:265,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 10
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 268
      start: 247
    functionDepth: 1
    functionLinenumber: 247
    functionLinenumberEnd: 268
    functionName: mhd_init_mem_pools
    functionSourceFile: /src/mhd2/src/mhd2/mempool_funcs.c
    functionUses: 0
    functionsReached:
    - GetSystemInfo
    - mhd_assert
    - sysconf
    linkageType: ''
    returnType: void
    signature: void mhd_init_mem_pools (void)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/mempool_funcs.c:321,1
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/mempool_funcs.c:322,1
    - Dst: malloc
      Src: /src/mhd2/src/mhd2/mempool_funcs.c:325,1
    - Dst: mmap
      Src: /src/mhd2/src/mhd2/mempool_funcs.c:342,1
    - Dst: VirtualAlloc
      Src: /src/mhd2/src/mhd2/mempool_funcs.c:349,1
    - Dst: mhd_ROUND_TO_ALIGN
      Src: /src/mhd2/src/mhd2/mempool_funcs.c:361,1
    - Dst: malloc
      Src: /src/mhd2/src/mhd2/mempool_funcs.c:363,1
    - Dst: mhd_calloc
      Src: /src/mhd2/src/mhd2/mempool_funcs.c:365,1
    - Dst: free
      Src: /src/mhd2/src/mhd2/mempool_funcs.c:368,1
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/mempool_funcs.c:372,1
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/mempool_funcs.c:376,1
    - Dst: mhd_POISON_MEMORY
      Src: /src/mhd2/src/mhd2/mempool_funcs.c:377,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 37
    argCount: 2
    argNames:
    - max
    - zeroing
    argTypes:
    - size_t
    - enum mhd_MemPoolZeroing
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 379
      start: 314
    functionDepth: 1
    functionLinenumber: 314
    functionLinenumberEnd: 379
    functionName: mhd_pool_create
    functionSourceFile: /src/mhd2/src/mhd2/mempool_funcs.c
    functionUses: 4
    functionsReached:
    - mhd_POISON_MEMORY
    - mhd_ROUND_TO_ALIGN
    - malloc
    - free
    - VirtualAlloc
    - mhd_calloc
    - mmap
    - mhd_assert
    linkageType: ''
    returnType: struct mhd_MemoryPool
    signature: "struct mhd_MemoryPool *\nmhd_pool_create (size_t max,\n                 enum
      mhd_MemPoolZeroing zeroing)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/mempool_funcs.c:388,1
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/mempool_funcs.c:389,1
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/mempool_funcs.c:390,1
    - Dst: mhd_ROUND_TO_ALIGN
      Src: /src/mhd2/src/mhd2/mempool_funcs.c:390,1
    - Dst: mhd_UNPOISON_MEMORY
      Src: /src/mhd2/src/mhd2/mempool_funcs.c:391,1
    - Dst: munmap
      Src: /src/mhd2/src/mhd2/mempool_funcs.c:396,1
    - Dst: VirtualFree
      Src: /src/mhd2/src/mhd2/mempool_funcs.c:399,1
    - Dst: free
      Src: /src/mhd2/src/mhd2/mempool_funcs.c:407,1
    - Dst: free
      Src: /src/mhd2/src/mhd2/mempool_funcs.c:409,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 14
    argCount: 1
    argNames:
    - pool
    argTypes:
    - struct mhd_MemoryPool*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 410
      start: 382
    functionDepth: 1
    functionLinenumber: 382
    functionLinenumberEnd: 410
    functionName: mhd_pool_destroy
    functionSourceFile: /src/mhd2/src/mhd2/mempool_funcs.c
    functionUses: 3
    functionsReached:
    - mhd_ROUND_TO_ALIGN
    - VirtualFree
    - free
    - munmap
    - mhd_assert
    - mhd_UNPOISON_MEMORY
    linkageType: ''
    returnType: MHD_INTERNAL
    signature: MHD_INTERNAL mhd_pool_destroy (struct mhd_MemoryPool *restrict pool)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - pool
    argTypes:
    - struct mhd_MemoryPool*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 417
      start: 413
    functionDepth: 0
    functionLinenumber: 413
    functionLinenumberEnd: 417
    functionName: mhd_pool_get_size
    functionSourceFile: /src/mhd2/src/mhd2/mempool_funcs.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: MHD_INTERNAL
    signature: MHD_INTERNAL mhd_pool_get_size (const struct mhd_MemoryPool *restrict
      pool)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/mempool_funcs.c:423,1
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/mempool_funcs.c:424,1
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/mempool_funcs.c:425,1
    - Dst: mhd_ROUND_TO_ALIGN
      Src: /src/mhd2/src/mhd2/mempool_funcs.c:425,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 1
    argNames:
    - pool
    argTypes:
    - struct mhd_MemoryPool*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 431
      start: 420
    functionDepth: 1
    functionLinenumber: 420
    functionLinenumberEnd: 431
    functionName: mhd_pool_get_free
    functionSourceFile: /src/mhd2/src/mhd2/mempool_funcs.c
    functionUses: 1
    functionsReached:
    - mhd_assert
    - mhd_ROUND_TO_ALIGN
    linkageType: ''
    returnType: MHD_INTERNAL
    signature: MHD_INTERNAL mhd_pool_get_free (struct mhd_MemoryPool *restrict pool)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/mempool_funcs.c:444,1
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/mempool_funcs.c:445,1
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/mempool_funcs.c:446,1
    - Dst: mhd_ROUND_TO_ALIGN
      Src: /src/mhd2/src/mhd2/mempool_funcs.c:446,1
    - Dst: mhd_ROUND_TO_ALIGN_PLUS_RED_ZONE
      Src: /src/mhd2/src/mhd2/mempool_funcs.c:447,1
    - Dst: mhd_UNPOISON_MEMORY
      Src: /src/mhd2/src/mhd2/mempool_funcs.c:462,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 18
    argCount: 3
    argNames:
    - pool
    - size
    - from_end
    argTypes:
    - struct mhd_MemoryPool*
    - size_t
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 464
      start: 436
    functionDepth: 1
    functionLinenumber: 436
    functionLinenumberEnd: 464
    functionName: mhd_pool_allocate
    functionSourceFile: /src/mhd2/src/mhd2/mempool_funcs.c
    functionUses: 0
    functionsReached:
    - mhd_ROUND_TO_ALIGN_PLUS_RED_ZONE
    - mhd_assert
    - mhd_UNPOISON_MEMORY
    - mhd_ROUND_TO_ALIGN
    linkageType: ''
    returnType: void
    signature: "void *\nmhd_pool_allocate (struct mhd_MemoryPool *restrict pool,\n
      \                  size_t size,\n                   bool from_end)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/mempool_funcs.c:472,1
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/mempool_funcs.c:473,1
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/mempool_funcs.c:474,1
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/mempool_funcs.c:475,1
    - Dst: mp_ptr_diff_
      Src: /src/mhd2/src/mhd2/mempool_funcs.c:478,1
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/mempool_funcs.c:479,1
    - Dst: mp_ptr_le_
      Src: /src/mhd2/src/mhd2/mempool_funcs.c:479,1
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/mempool_funcs.c:480,1
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/mempool_funcs.c:481,1
    - Dst: mhd_ROUND_TO_ALIGN_PLUS_RED_ZONE
      Src: /src/mhd2/src/mhd2/mempool_funcs.c:483,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 12
    argCount: 3
    argNames:
    - pool
    - block
    - block_size
    argTypes:
    - struct mhd_MemoryPool*
    - void*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 486
      start: 467
    functionDepth: 1
    functionLinenumber: 467
    functionLinenumberEnd: 486
    functionName: mhd_pool_is_resizable_inplace
    functionSourceFile: /src/mhd2/src/mhd2/mempool_funcs.c
    functionUses: 1
    functionsReached:
    - mp_ptr_le_
    - mp_ptr_diff_
    - mhd_assert
    - mhd_ROUND_TO_ALIGN_PLUS_RED_ZONE
    linkageType: ''
    returnType: MHD_INTERNAL
    signature: "MHD_INTERNAL mhd_pool_is_resizable_inplace (struct mhd_MemoryPool
      *restrict pool,\n                               void *restrict block,\n                               size_t
      block_size)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/mempool_funcs.c:499,1
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/mempool_funcs.c:500,1
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/mempool_funcs.c:501,1
    - Dst: mhd_ROUND_TO_ALIGN
      Src: /src/mhd2/src/mhd2/mempool_funcs.c:501,1
    - Dst: mhd_ROUND_TO_ALIGN_PLUS_RED_ZONE
      Src: /src/mhd2/src/mhd2/mempool_funcs.c:502,1
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/mempool_funcs.c:510,1
    - Dst: mhd_ROUND_TO_ALIGN
      Src: /src/mhd2/src/mhd2/mempool_funcs.c:511,1
    - Dst: mhd_UNPOISON_MEMORY
      Src: /src/mhd2/src/mhd2/mempool_funcs.c:521,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 21
    argCount: 3
    argNames:
    - pool
    - size
    - required_bytes
    argTypes:
    - struct mhd_MemoryPool*
    - size_t
    - size_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 523
      start: 491
    functionDepth: 1
    functionLinenumber: 491
    functionLinenumberEnd: 523
    functionName: mhd_pool_try_alloc
    functionSourceFile: /src/mhd2/src/mhd2/mempool_funcs.c
    functionUses: 2
    functionsReached:
    - mhd_ROUND_TO_ALIGN_PLUS_RED_ZONE
    - mhd_assert
    - mhd_UNPOISON_MEMORY
    - mhd_ROUND_TO_ALIGN
    linkageType: ''
    returnType: void
    signature: "void *\nmhd_pool_try_alloc (struct mhd_MemoryPool *restrict pool,\n
      \                   size_t size,\n                    size_t *restrict required_bytes)"
  - BBCount: 11
    BranchProfiles: []
    Callsites:
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/mempool_funcs.c:537,1
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/mempool_funcs.c:538,1
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/mempool_funcs.c:539,1
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/mempool_funcs.c:540,1
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/mempool_funcs.c:541,1
    - Dst: mhd_ROUND_TO_ALIGN
      Src: /src/mhd2/src/mhd2/mempool_funcs.c:541,1
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/mempool_funcs.c:543,1
    - Dst: __asan_region_is_poisoned
      Src: /src/mhd2/src/mhd2/mempool_funcs.c:543,1
    - Dst: mp_ptr_diff_
      Src: /src/mhd2/src/mhd2/mempool_funcs.c:548,1
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/mempool_funcs.c:551,1
    - Dst: mp_ptr_le_
      Src: /src/mhd2/src/mhd2/mempool_funcs.c:551,1
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/mempool_funcs.c:553,1
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/mempool_funcs.c:556,1
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/mempool_funcs.c:558,1
    - Dst: memset
      Src: /src/mhd2/src/mhd2/mempool_funcs.c:565,1
    - Dst: mhd_POISON_MEMORY
      Src: /src/mhd2/src/mhd2/mempool_funcs.c:566,1
    - Dst: mhd_ROUND_TO_ALIGN_PLUS_RED_ZONE
      Src: /src/mhd2/src/mhd2/mempool_funcs.c:569,1
    - Dst: mhd_ROUND_TO_ALIGN_PLUS_RED_ZONE
      Src: /src/mhd2/src/mhd2/mempool_funcs.c:572,1
    - Dst: mhd_UNPOISON_MEMORY
      Src: /src/mhd2/src/mhd2/mempool_funcs.c:581,1
    - Dst: mhd_ROUND_TO_ALIGN_PLUS_RED_ZONE
      Src: /src/mhd2/src/mhd2/mempool_funcs.c:588,1
    - Dst: mhd_UNPOISON_MEMORY
      Src: /src/mhd2/src/mhd2/mempool_funcs.c:597,1
    - Dst: memcpy
      Src: /src/mhd2/src/mhd2/mempool_funcs.c:601,1
    - Dst: memset
      Src: /src/mhd2/src/mhd2/mempool_funcs.c:604,1
    - Dst: mhd_POISON_MEMORY
      Src: /src/mhd2/src/mhd2/mempool_funcs.c:605,1
    CyclomaticComplexity: 17
    EdgeCount: 17
    ICount: 42
    argCount: 4
    argNames:
    - pool
    - old
    - old_size
    - new_size
    argTypes:
    - struct mhd_MemoryPool*
    - void*
    - size_t
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 608
      start: 528
    functionDepth: 1
    functionLinenumber: 528
    functionLinenumberEnd: 608
    functionName: mhd_pool_reallocate
    functionSourceFile: /src/mhd2/src/mhd2/mempool_funcs.c
    functionUses: 1
    functionsReached:
    - mhd_POISON_MEMORY
    - mhd_ROUND_TO_ALIGN
    - memset
    - memcpy
    - mp_ptr_le_
    - __asan_region_is_poisoned
    - mhd_ROUND_TO_ALIGN_PLUS_RED_ZONE
    - mp_ptr_diff_
    - mhd_assert
    - mhd_UNPOISON_MEMORY
    linkageType: ''
    returnType: void
    signature: "void *\nmhd_pool_reallocate (struct mhd_MemoryPool *restrict pool,\n
      \                    void *restrict old,\n                     size_t old_size,\n
      \                    size_t new_size)"
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/mempool_funcs.c:616,1
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/mempool_funcs.c:617,1
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/mempool_funcs.c:618,1
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/mempool_funcs.c:619,1
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/mempool_funcs.c:620,1
    - Dst: mhd_ROUND_TO_ALIGN
      Src: /src/mhd2/src/mhd2/mempool_funcs.c:620,1
    - Dst: mp_ptr_diff_
      Src: /src/mhd2/src/mhd2/mempool_funcs.c:624,1
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/mempool_funcs.c:625,1
    - Dst: mp_ptr_le_
      Src: /src/mhd2/src/mhd2/mempool_funcs.c:625,1
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/mempool_funcs.c:626,1
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/mempool_funcs.c:627,1
    - Dst: memset
      Src: /src/mhd2/src/mhd2/mempool_funcs.c:632,1
    - Dst: mhd_POISON_MEMORY
      Src: /src/mhd2/src/mhd2/mempool_funcs.c:633,1
    - Dst: mhd_ROUND_TO_ALIGN_PLUS_RED_ZONE
      Src: /src/mhd2/src/mhd2/mempool_funcs.c:643,1
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/mempool_funcs.c:644,1
    - Dst: mhd_ROUND_TO_ALIGN
      Src: /src/mhd2/src/mhd2/mempool_funcs.c:648,1
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/mempool_funcs.c:649,1
    - Dst: mhd_POISON_MEMORY
      Src: /src/mhd2/src/mhd2/mempool_funcs.c:653,1
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/mempool_funcs.c:659,1
    - Dst: __asan_region_is_poisoned
      Src: /src/mhd2/src/mhd2/mempool_funcs.c:662,1
    - Dst: __asan_address_is_poisoned
      Src: /src/mhd2/src/mhd2/mempool_funcs.c:668,1
    - Dst: mhd_POISON_MEMORY
      Src: /src/mhd2/src/mhd2/mempool_funcs.c:674,1
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/mempool_funcs.c:679,1
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/mempool_funcs.c:680,1
    - Dst: mhd_ROUND_TO_ALIGN
      Src: /src/mhd2/src/mhd2/mempool_funcs.c:680,1
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/mempool_funcs.c:689,1
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/mempool_funcs.c:690,1
    - Dst: mhd_ROUND_TO_ALIGN
      Src: /src/mhd2/src/mhd2/mempool_funcs.c:690,1
    - Dst: mhd_ROUND_TO_ALIGN_PLUS_RED_ZONE
      Src: /src/mhd2/src/mhd2/mempool_funcs.c:695,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 44
    argCount: 3
    argNames:
    - pool
    - block
    - block_size
    argTypes:
    - struct mhd_MemoryPool*
    - void*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 700
      start: 611
    functionDepth: 1
    functionLinenumber: 611
    functionLinenumberEnd: 700
    functionName: mhd_pool_deallocate
    functionSourceFile: /src/mhd2/src/mhd2/mempool_funcs.c
    functionUses: 0
    functionsReached:
    - mhd_POISON_MEMORY
    - mhd_ROUND_TO_ALIGN
    - __asan_address_is_poisoned
    - mp_ptr_le_
    - __asan_region_is_poisoned
    - mhd_ROUND_TO_ALIGN_PLUS_RED_ZONE
    - mp_ptr_diff_
    - mhd_assert
    - memset
    linkageType: ''
    returnType: MHD_INTERNAL
    signature: "MHD_INTERNAL mhd_pool_deallocate (struct mhd_MemoryPool *restrict
      pool,\n                     void *restrict block,\n                     size_t
      block_size)"
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/mempool_funcs.c:711,1
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/mempool_funcs.c:712,1
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/mempool_funcs.c:713,1
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/mempool_funcs.c:714,1
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/mempool_funcs.c:715,1
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/mempool_funcs.c:716,1
    - Dst: mp_ptr_le_
      Src: /src/mhd2/src/mhd2/mempool_funcs.c:716,1
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/mempool_funcs.c:718,1
    - Dst: mp_ptr_diff_
      Src: /src/mhd2/src/mhd2/mempool_funcs.c:719,1
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/mempool_funcs.c:722,1
    - Dst: __asan_region_is_poisoned
      Src: /src/mhd2/src/mhd2/mempool_funcs.c:722,1
    - Dst: mhd_UNPOISON_MEMORY
      Src: /src/mhd2/src/mhd2/mempool_funcs.c:724,1
    - Dst: memmove
      Src: /src/mhd2/src/mhd2/mempool_funcs.c:729,1
    - Dst: mhd_UNPOISON_MEMORY
      Src: /src/mhd2/src/mhd2/mempool_funcs.c:739,1
    - Dst: VirtualFree
      Src: /src/mhd2/src/mhd2/mempool_funcs.c:751,1
    - Dst: VirtualAlloc
      Src: /src/mhd2/src/mhd2/mempool_funcs.c:757,1
    - Dst: abort
      Src: /src/mhd2/src/mhd2/mempool_funcs.c:761,1
    - Dst: memset
      Src: /src/mhd2/src/mhd2/mempool_funcs.c:765,1
    - Dst: mhd_ROUND_TO_ALIGN_PLUS_RED_ZONE
      Src: /src/mhd2/src/mhd2/mempool_funcs.c:769,1
    - Dst: mhd_POISON_MEMORY
      Src: /src/mhd2/src/mhd2/mempool_funcs.c:771,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 32
    argCount: 4
    argNames:
    - pool
    - keep
    - copy_bytes
    - new_size
    argTypes:
    - struct mhd_MemoryPool*
    - void*
    - size_t
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 774
      start: 705
    functionDepth: 1
    functionLinenumber: 705
    functionLinenumberEnd: 774
    functionName: mhd_pool_reset
    functionSourceFile: /src/mhd2/src/mhd2/mempool_funcs.c
    functionUses: 0
    functionsReached:
    - abort
    - memset
    - VirtualFree
    - mhd_POISON_MEMORY
    - mp_ptr_le_
    - __asan_region_is_poisoned
    - mhd_ROUND_TO_ALIGN_PLUS_RED_ZONE
    - VirtualAlloc
    - mp_ptr_diff_
    - memmove
    - mhd_assert
    - mhd_UNPOISON_MEMORY
    linkageType: ''
    returnType: void
    signature: "void *\nmhd_pool_reset (struct mhd_MemoryPool *restrict pool,\n                void
      *restrict keep,\n                size_t copy_bytes,\n                size_t
      new_size)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: mhd_D_HAS_MASTER
      Src: /src/mhd2/src/mhd2/daemon_funcs.c:65,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - d
    argTypes:
    - struct MHD_Daemon*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 69
      start: 61
    functionDepth: 1
    functionLinenumber: 61
    functionLinenumberEnd: 69
    functionName: mhd_daemon_get_master_daemon
    functionSourceFile: /src/mhd2/src/mhd2/daemon_funcs.c
    functionUses: 1
    functionsReached:
    - mhd_D_HAS_MASTER
    linkageType: ''
    returnType: struct MHD_Daemon
    signature: 'struct MHD_Daemon *

      mhd_daemon_get_master_daemon (struct MHD_Daemon *restrict d)'
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/daemon_funcs.c:77,1
    - Dst: mhd_ITC_IS_VALID
      Src: /src/mhd2/src/mhd2/daemon_funcs.c:77,1
    - Dst: mhd_itc_activate
      Src: /src/mhd2/src/mhd2/daemon_funcs.c:78,1
    - Dst: mhd_LOG_MSG
      Src: /src/mhd2/src/mhd2/daemon_funcs.c:80,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 1
    argNames:
    - d
    argTypes:
    - struct MHD_Daemon*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 85
      start: 74
    functionDepth: 1
    functionLinenumber: 74
    functionLinenumberEnd: 85
    functionName: mhd_daemon_trigger_itc
    functionSourceFile: /src/mhd2/src/mhd2/daemon_funcs.c
    functionUses: 1
    functionsReached:
    - mhd_LOG_MSG
    - mhd_assert
    - mhd_ITC_IS_VALID
    - mhd_itc_activate
    linkageType: ''
    returnType: MHD_INTERNAL
    signature: MHD_INTERNAL mhd_daemon_trigger_itc (struct MHD_Daemon *restrict d)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: mhd_daemon_get_master_daemon
      Src: /src/mhd2/src/mhd2/daemon_funcs.c:97,1
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/daemon_funcs.c:98,1
    - Dst: mhd_mutex_lock_chk
      Src: /src/mhd2/src/mhd2/daemon_funcs.c:103,1
    - Dst: mhd_mutex_unlock_chk
      Src: /src/mhd2/src/mhd2/daemon_funcs.c:109,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 12
    argCount: 2
    argNames:
    - d
    - requested_size
    argTypes:
    - struct MHD_Daemon*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 111
      start: 91
    functionDepth: 2
    functionLinenumber: 91
    functionLinenumberEnd: 111
    functionName: MHD_FN_PAR_NONNULL_ALL_
    functionSourceFile: /src/mhd2/src/mhd2/daemon_funcs.c
    functionUses: 0
    functionsReached:
    - mhd_daemon_get_master_daemon
    - mhd_assert
    - mhd_mutex_lock_chk
    - mhd_mutex_unlock_chk
    linkageType: ''
    returnType: MHD_INTERNAL
    signature: "MHD_INTERNAL MHD_FN_PAR_NONNULL_ALL_\nMHD_FN_MUST_CHECK_RESULT_ bool\nmhd_daemon_claim_lbuf
      (struct MHD_Daemon *restrict d,\n                       size_t requested_size)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: mhd_daemon_get_master_daemon
      Src: /src/mhd2/src/mhd2/daemon_funcs.c:120,1
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/daemon_funcs.c:121,1
    - Dst: mhd_mutex_lock_chk
      Src: /src/mhd2/src/mhd2/daemon_funcs.c:125,1
    - Dst: mhd_mutex_unlock_chk
      Src: /src/mhd2/src/mhd2/daemon_funcs.c:136,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 14
    argCount: 2
    argNames:
    - d
    - requested_size
    argTypes:
    - struct MHD_Daemon*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 138
      start: 114
    functionDepth: 2
    functionLinenumber: 114
    functionLinenumberEnd: 138
    functionName: mhd_daemon_claim_lbuf_up_to
    functionSourceFile: /src/mhd2/src/mhd2/daemon_funcs.c
    functionUses: 0
    functionsReached:
    - mhd_daemon_get_master_daemon
    - mhd_assert
    - mhd_mutex_lock_chk
    - mhd_mutex_unlock_chk
    linkageType: ''
    returnType: MHD_FN_PAR_NONNULL_ALL_
    signature: "MHD_FN_PAR_NONNULL_ALL_ mhd_daemon_claim_lbuf_up_to (struct MHD_Daemon
      *d,\n                             size_t requested_size)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: mhd_daemon_get_master_daemon
      Src: /src/mhd2/src/mhd2/daemon_funcs.c:145,1
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/daemon_funcs.c:146,1
    - Dst: mhd_mutex_lock_chk
      Src: /src/mhd2/src/mhd2/daemon_funcs.c:147,1
    - Dst: mhd_mutex_unlock_chk
      Src: /src/mhd2/src/mhd2/daemon_funcs.c:149,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 2
    argNames:
    - d
    - reclaimed_size
    argTypes:
    - struct MHD_Daemon*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 150
      start: 141
    functionDepth: 2
    functionLinenumber: 141
    functionLinenumberEnd: 150
    functionName: mhd_daemon_reclaim_lbuf
    functionSourceFile: /src/mhd2/src/mhd2/daemon_funcs.c
    functionUses: 0
    functionsReached:
    - mhd_daemon_get_master_daemon
    - mhd_assert
    - mhd_mutex_lock_chk
    - mhd_mutex_unlock_chk
    linkageType: ''
    returnType: MHD_INTERNAL
    signature: "MHD_INTERNAL mhd_daemon_reclaim_lbuf (struct MHD_Daemon *restrict
      d,\n                         size_t reclaimed_size)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: mhd_daemon_claim_lbuf
      Src: /src/mhd2/src/mhd2/daemon_funcs.c:159,1
    - Dst: malloc
      Src: /src/mhd2/src/mhd2/daemon_funcs.c:165,1
    - Dst: mhd_daemon_reclaim_lbuf
      Src: /src/mhd2/src/mhd2/daemon_funcs.c:169,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 14
    argCount: 3
    argNames:
    - d
    - requested_size
    - buf
    argTypes:
    - struct MHD_Daemon*
    - size_t
    - struct mhd_Buffer*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 174
      start: 153
    functionDepth: 3
    functionLinenumber: 153
    functionLinenumberEnd: 174
    functionName: mhd_daemon_get_lbuf
    functionSourceFile: /src/mhd2/src/mhd2/daemon_funcs.c
    functionUses: 2
    functionsReached:
    - malloc
    - mhd_daemon_reclaim_lbuf
    - mhd_daemon_claim_lbuf
    linkageType: ''
    returnType: MHD_INTERNAL
    signature: "MHD_INTERNAL mhd_daemon_get_lbuf (struct MHD_Daemon *restrict d,\n
      \                    size_t requested_size,\n                     struct mhd_Buffer
      *restrict buf)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/daemon_funcs.c:184,1
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/daemon_funcs.c:185,1
    - Dst: mhd_daemon_claim_lbuf
      Src: /src/mhd2/src/mhd2/daemon_funcs.c:187,1
    - Dst: malloc
      Src: /src/mhd2/src/mhd2/daemon_funcs.c:191,1
    - Dst: realloc
      Src: /src/mhd2/src/mhd2/daemon_funcs.c:193,1
    - Dst: mhd_daemon_reclaim_lbuf
      Src: /src/mhd2/src/mhd2/daemon_funcs.c:196,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 15
    argCount: 3
    argNames:
    - d
    - grow_size
    - buf
    argTypes:
    - struct MHD_Daemon*
    - size_t
    - struct mhd_Buffer*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 204
      start: 177
    functionDepth: 3
    functionLinenumber: 177
    functionLinenumberEnd: 204
    functionName: mhd_daemon_grow_lbuf
    functionSourceFile: /src/mhd2/src/mhd2/daemon_funcs.c
    functionUses: 2
    functionsReached:
    - mhd_daemon_reclaim_lbuf
    - malloc
    - mhd_daemon_claim_lbuf
    - realloc
    - mhd_assert
    linkageType: ''
    returnType: MHD_INTERNAL
    signature: "MHD_INTERNAL mhd_daemon_grow_lbuf (struct MHD_Daemon *restrict d,\n
      \                     size_t grow_size,\n                      struct mhd_Buffer
      *restrict buf)"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/daemon_funcs.c:215,1
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/daemon_funcs.c:216,1
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/daemon_funcs.c:217,1
    - Dst: mhd_daemon_claim_lbuf_up_to
      Src: /src/mhd2/src/mhd2/daemon_funcs.c:219,1
    - Dst: malloc
      Src: /src/mhd2/src/mhd2/daemon_funcs.c:225,1
    - Dst: mhd_daemon_reclaim_lbuf
      Src: /src/mhd2/src/mhd2/daemon_funcs.c:230,1
    - Dst: realloc
      Src: /src/mhd2/src/mhd2/daemon_funcs.c:238,1
    - Dst: mhd_daemon_reclaim_lbuf
      Src: /src/mhd2/src/mhd2/daemon_funcs.c:244,1
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/daemon_funcs.c:252,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 27
    argCount: 3
    argNames:
    - d
    - desired_grow_size
    - buf
    argTypes:
    - struct MHD_Daemon*
    - size_t
    - struct mhd_Buffer*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 258
      start: 207
    functionDepth: 3
    functionLinenumber: 207
    functionLinenumberEnd: 258
    functionName: mhd_daemon_extend_lbuf_up_to
    functionSourceFile: /src/mhd2/src/mhd2/daemon_funcs.c
    functionUses: 3
    functionsReached:
    - mhd_daemon_reclaim_lbuf
    - malloc
    - mhd_daemon_claim_lbuf_up_to
    - realloc
    - mhd_assert
    linkageType: ''
    returnType: MHD_INTERNAL
    signature: "MHD_INTERNAL mhd_daemon_extend_lbuf_up_to (struct MHD_Daemon *restrict
      d,\n                              size_t desired_grow_size,\n                              struct
      mhd_Buffer *restrict buf)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/daemon_funcs.c:268,1
    - Dst: free
      Src: /src/mhd2/src/mhd2/daemon_funcs.c:271,1
    - Dst: mhd_daemon_reclaim_lbuf
      Src: /src/mhd2/src/mhd2/daemon_funcs.c:273,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 9
    argCount: 2
    argNames:
    - d
    - buf
    argTypes:
    - struct MHD_Daemon*
    - struct mhd_Buffer*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 275
      start: 262
    functionDepth: 3
    functionLinenumber: 262
    functionLinenumberEnd: 275
    functionName: mhd_daemon_free_lbuf
    functionSourceFile: /src/mhd2/src/mhd2/daemon_funcs.c
    functionUses: 5
    functionsReached:
    - free
    - mhd_assert
    - mhd_daemon_reclaim_lbuf
    linkageType: ''
    returnType: void
    signature: "void mhd_daemon_free_lbuf (struct MHD_Daemon *restrict d,\n                      struct
      mhd_Buffer *restrict buf)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: mhd_monotonic_msec_counter
      Src: /src/mhd2/src/mhd2/daemon_funcs.c:283,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - d
    argTypes:
    - struct MHD_Daemon*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 288
      start: 278
    functionDepth: 0
    functionLinenumber: 278
    functionLinenumberEnd: 288
    functionName: mhd_daemon_get_milsec_counter
    functionSourceFile: /src/mhd2/src/mhd2/daemon_funcs.c
    functionUses: 0
    functionsReached:
    - mhd_monotonic_msec_counter
    linkageType: ''
    returnType: MHD_INTERNAL
    signature: MHD_INTERNAL mhd_daemon_get_milsec_counter (struct MHD_Daemon *restrict
      d)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/auth_basic.c:75,1
    - Dst: mhd_request_get_auth_header_value
      Src: /src/mhd2/src/mhd2/auth_basic.c:77,1
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/auth_basic.c:82,1
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/auth_basic.c:88,1
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/auth_basic.c:89,1
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/auth_basic.c:90,1
    - Dst: mhd_base64_max_dec_size
      Src: /src/mhd2/src/mhd2/auth_basic.c:94,1
    - Dst: mhd_stream_alloc_memory
      Src: /src/mhd2/src/mhd2/auth_basic.c:96,1
    - Dst: mhd_CNTNR_PTR
      Src: /src/mhd2/src/mhd2/auth_basic.c:96,1
    - Dst: mhd_base64_to_bin_n
      Src: /src/mhd2/src/mhd2/auth_basic.c:106,1
    - Dst: memchr
      Src: /src/mhd2/src/mhd2/auth_basic.c:115,1
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/auth_basic.c:122,1
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/auth_basic.c:123,1
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/auth_basic.c:129,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 34
    argCount: 1
    argNames:
    - req
    argTypes:
    - struct MHD_Request*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 133
      start: 65
    functionDepth: 1
    functionLinenumber: 65
    functionLinenumberEnd: 133
    functionName: find_and_parse_auth_basic
    functionSourceFile: /src/mhd2/src/mhd2/auth_basic.c
    functionUses: 0
    functionsReached:
    - mhd_base64_max_dec_size
    - memchr
    - mhd_stream_alloc_memory
    - mhd_base64_to_bin_n
    - mhd_CNTNR_PTR
    - mhd_request_get_auth_header_value
    - mhd_assert
    linkageType: ''
    returnType: MHD_FN_MUST_CHECK_RESULT_
    signature: MHD_FN_MUST_CHECK_RESULT_ find_and_parse_auth_basic (struct MHD_Request
      *restrict req)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/auth_basic.c:143,1
    - Dst: mhd_CNTNR_CPTR
      Src: /src/mhd2/src/mhd2/auth_basic.c:144,1
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/auth_basic.c:145,1
    - Dst: mhd_CNTNR_CPTR
      Src: /src/mhd2/src/mhd2/auth_basic.c:146,1
    - Dst: find_and_parse_auth_basic
      Src: /src/mhd2/src/mhd2/auth_basic.c:151,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 2
    argNames:
    - req
    - v_auth_basic_creds
    argTypes:
    - struct MHD_Request*
    - struct MHD_AuthBasicCreds**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 159
      start: 137
    functionDepth: 2
    functionLinenumber: 137
    functionLinenumberEnd: 159
    functionName: mhd_request_get_auth_basic_creds
    functionSourceFile: /src/mhd2/src/mhd2/auth_basic.c
    functionUses: 0
    functionsReached:
    - find_and_parse_auth_basic
    - mhd_assert
    - mhd_CNTNR_CPTR
    linkageType: ''
    returnType: enum MHD_StatusCode
    signature: "enum MHD_StatusCode mhd_request_get_auth_basic_creds (\n  struct MHD_Request
      *restrict req,\n  const struct MHD_AuthBasicCreds **restrict v_auth_basic_creds)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/stream_process_reply.c:93,1
    - Dst: struct MHD_Connection*::rp::app_act::data::cntnue::iov_data::iov_fcb
      Src: /src/mhd2/src/mhd2/stream_process_reply.c:98,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 10
    argCount: 1
    argNames:
    - c
    argTypes:
    - struct MHD_Connection*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 103
      start: 85
    functionDepth: 1
    functionLinenumber: 85
    functionLinenumberEnd: 103
    functionName: mhd_stream_call_dcc_cleanup_if_needed
    functionSourceFile: /src/mhd2/src/mhd2/stream_process_reply.c
    functionUses: 0
    functionsReached:
    - mhd_assert
    - struct MHD_Connection*::rp::app_act::data::cntnue::iov_data::iov_fcb
    linkageType: ''
    returnType: MHD_INTERNAL
    signature: MHD_INTERNAL mhd_stream_call_dcc_cleanup_if_needed (struct MHD_Connection
      *restrict c)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/stream_process_reply.c:161,1
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/stream_process_reply.c:165,1
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/stream_process_reply.c:172,1
    - Dst: MHD_HTTP_VERSION_IS_1X
      Src: /src/mhd2/src/mhd2/stream_process_reply.c:175,1
    - Dst: mhd_stream_has_header_token_st
      Src: /src/mhd2/src/mhd2/stream_process_reply.c:179,1
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/stream_process_reply.c:190,1
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/stream_process_reply.c:192,1
    - Dst: MHD_IS_HTTP_VER_SUPPORTED
      Src: /src/mhd2/src/mhd2/stream_process_reply.c:192,1
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/stream_process_reply.c:193,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 21
    argCount: 1
    argNames:
    - c
    argTypes:
    - struct MHD_Connection*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 199
      start: 156
    functionDepth: 1
    functionLinenumber: 156
    functionLinenumberEnd: 199
    functionName: get_conn_reuse
    functionSourceFile: /src/mhd2/src/mhd2/stream_process_reply.c
    functionUses: 0
    functionsReached:
    - MHD_IS_HTTP_VER_SUPPORTED
    - MHD_HTTP_VERSION_IS_1X
    - mhd_stream_has_header_token_st
    - mhd_assert
    linkageType: ''
    returnType: MHD_FN_PAR_NONNULL_ALL_
    signature: MHD_FN_PAR_NONNULL_ALL_ get_conn_reuse (struct MHD_Connection *c)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/stream_process_reply.c:217,1
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/stream_process_reply.c:218,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 16
    argCount: 2
    argNames:
    - c
    - rcode
    argTypes:
    - struct MHD_Connection*
    - uint_fast16_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 256
      start: 213
    functionDepth: 1
    functionLinenumber: 213
    functionLinenumberEnd: 256
    functionName: is_reply_body_needed
    functionSourceFile: /src/mhd2/src/mhd2/stream_process_reply.c
    functionUses: 0
    functionsReached:
    - mhd_assert
    linkageType: ''
    returnType: enum replyBodyUse
    signature: "enum replyBodyUse is_reply_body_needed (struct MHD_Connection *restrict
      c,\n                      uint_fast16_t rcode)"
  - BBCount: 15
    BranchProfiles: []
    Callsites:
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/stream_process_reply.c:275,1
    - Dst: get_conn_reuse
      Src: /src/mhd2/src/mhd2/stream_process_reply.c:279,1
    - Dst: is_reply_body_needed
      Src: /src/mhd2/src/mhd2/stream_process_reply.c:280,1
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/stream_process_reply.c:285,1
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/stream_process_reply.c:295,1
    - Dst: MHD_HTTP_VERSION_IS_LIKE_11
      Src: /src/mhd2/src/mhd2/stream_process_reply.c:296,1
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/stream_process_reply.c:309,1
    - Dst: mhd_C_HAS_TLS
      Src: /src/mhd2/src/mhd2/stream_process_reply.c:332,1
    - Dst: mhd_UNREACHABLE
      Src: /src/mhd2/src/mhd2/stream_process_reply.c:351,1
    CyclomaticComplexity: 20
    EdgeCount: 20
    ICount: 57
    argCount: 1
    argNames:
    - c
    argTypes:
    - struct MHD_Connection*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 360
      start: 267
    functionDepth: 2
    functionLinenumber: 267
    functionLinenumberEnd: 360
    functionName: setup_reply_properties
    functionSourceFile: /src/mhd2/src/mhd2/stream_process_reply.c
    functionUses: 0
    functionsReached:
    - mhd_C_HAS_TLS
    - is_reply_body_needed
    - get_conn_reuse
    - mhd_UNREACHABLE
    - MHD_HTTP_VERSION_IS_LIKE_11
    - mhd_assert
    linkageType: ''
    returnType: MHD_FN_PAR_NONNULL_ALL_
    signature: MHD_FN_PAR_NONNULL_ALL_ setup_reply_properties (struct MHD_Connection
      *restrict c)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/stream_process_reply.c:372,1
    - Dst: mhd_LOG_PRINT
      Src: /src/mhd2/src/mhd2/stream_process_reply.c:377,1
    - Dst: mhd_LOG_FMT
      Src: /src/mhd2/src/mhd2/stream_process_reply.c:378,1
    - Dst: mhd_LOG_PRINT
      Src: /src/mhd2/src/mhd2/stream_process_reply.c:386,1
    - Dst: mhd_LOG_FMT
      Src: /src/mhd2/src/mhd2/stream_process_reply.c:387,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 8
    argCount: 1
    argNames:
    - c
    argTypes:
    - struct MHD_Connection*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 393
      start: 367
    functionDepth: 1
    functionLinenumber: 367
    functionLinenumberEnd: 393
    functionName: check_connection_reply
    functionSourceFile: /src/mhd2/src/mhd2/stream_process_reply.c
    functionUses: 0
    functionsReached:
    - mhd_LOG_FMT
    - mhd_assert
    - mhd_LOG_PRINT
    linkageType: ''
    returnType: void
    signature: void check_connection_reply (struct MHD_Connection *restrict c)
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: MHD_FN_PAR_FIX_ARR_SIZE_
      Src: /src/mhd2/src/mhd2/stream_process_reply.c:398,1
    - Dst: time
      Src: /src/mhd2/src/mhd2/stream_process_reply.c:416,1
    - Dst: gmtime_r
      Src: /src/mhd2/src/mhd2/stream_process_reply.c:419,1
    - Dst: gmtime_s
      Src: /src/mhd2/src/mhd2/stream_process_reply.c:423,1
    - Dst: gmtime_s
      Src: /src/mhd2/src/mhd2/stream_process_reply.c:427,1
    - Dst: gmtime
      Src: /src/mhd2/src/mhd2/stream_process_reply.c:431,1
    - Dst: mhd_uint8_to_str_pad
      Src: /src/mhd2/src/mhd2/stream_process_reply.c:445,1
    - Dst: mhd_uint16_to_str
      Src: /src/mhd2/src/mhd2/stream_process_reply.c:456,1
    - Dst: mhd_uint8_to_str_pad
      Src: /src/mhd2/src/mhd2/stream_process_reply.c:461,1
    - Dst: mhd_uint8_to_str_pad
      Src: /src/mhd2/src/mhd2/stream_process_reply.c:463,1
    - Dst: mhd_uint8_to_str_pad
      Src: /src/mhd2/src/mhd2/stream_process_reply.c:465,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 40
    argCount: 1
    argNames:
    - date
    argTypes:
    - char[]
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 472
      start: 397
    functionDepth: 1
    functionLinenumber: 397
    functionLinenumberEnd: 472
    functionName: mhd_build_date_str
    functionSourceFile: /src/mhd2/src/mhd2/stream_process_reply.c
    functionUses: 0
    functionsReached:
    - time
    - mhd_uint16_to_str
    - mhd_uint8_to_str_pad
    - MHD_FN_PAR_FIX_ARR_SIZE_
    - gmtime
    - gmtime_s
    - gmtime_r
    linkageType: ''
    returnType: bool
    signature: bool mhd_build_date_str (char date[MHD_FN_PAR_FIX_ARR_SIZE_ (29)])
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: mhd_build_date_str
      Src: /src/mhd2/src/mhd2/stream_process_reply.c:492,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 15
    argCount: 1
    argNames:
    - header
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 501
      start: 483
    functionDepth: 2
    functionLinenumber: 483
    functionLinenumberEnd: 501
    functionName: get_date_header
    functionSourceFile: /src/mhd2/src/mhd2/stream_process_reply.c
    functionUses: 0
    functionsReached:
    - mhd_build_date_str
    linkageType: ''
    returnType: bool
    signature: bool get_date_header (char *header)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/stream_process_reply.c:522,1
    - Dst: mhd_COND_HARDLY_EVER
      Src: /src/mhd2/src/mhd2/stream_process_reply.c:523,1
    - Dst: memcpy
      Src: /src/mhd2/src/mhd2/stream_process_reply.c:527,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 5
    argNames:
    - buf
    - buf_size
    - ppos
    - append
    - append_size
    argTypes:
    - char*
    - size_t
    - size_t*
    - char*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 530
      start: 515
    functionDepth: 1
    functionLinenumber: 515
    functionLinenumberEnd: 530
    functionName: buffer_append
    functionSourceFile: /src/mhd2/src/mhd2/stream_process_reply.c
    functionUses: 0
    functionsReached:
    - mhd_COND_HARDLY_EVER
    - mhd_assert
    - memcpy
    linkageType: ''
    returnType: MHD_FN_PAR_NONNULL_ALL_
    signature: "MHD_FN_PAR_NONNULL_ALL_ buffer_append (char *restrict buf,\n               size_t
      buf_size,\n               size_t *restrict ppos,\n               const char
      *restrict append,\n               size_t append_size)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/stream_process_reply.c:547,1
    - Dst: mhd_COND_HARDLY_EVER
      Src: /src/mhd2/src/mhd2/stream_process_reply.c:548,1
    - Dst: mhd_COND_ALMOST_NEVER
      Src: /src/mhd2/src/mhd2/stream_process_reply.c:550,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 3
    argNames:
    - buf
    - buf_size
    - ppos
    argTypes:
    - char*
    - size_t
    - size_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 556
      start: 542
    functionDepth: 1
    functionLinenumber: 542
    functionLinenumberEnd: 556
    functionName: buffer_append_crlf
    functionSourceFile: /src/mhd2/src/mhd2/stream_process_reply.c
    functionUses: 0
    functionsReached:
    - mhd_COND_ALMOST_NEVER
    - mhd_COND_HARDLY_EVER
    - mhd_assert
    linkageType: ''
    returnType: mhd_static_inline
    signature: "mhd_static_inline buffer_append_crlf (char *restrict buf,\n                    size_t
      buf_size,\n                    size_t *restrict ppos)"
  - BBCount: 18
    BranchProfiles: []
    Callsites:
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/stream_process_reply.c:589,1
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/stream_process_reply.c:590,1
    - Dst: mhd_DLINKEDL_GET_FIRST
      Src: /src/mhd2/src/mhd2/stream_process_reply.c:598,1
    - Dst: mhd_DLINKEDL_GET_NEXT
      Src: /src/mhd2/src/mhd2/stream_process_reply.c:600,1
    - Dst: mhd_str_equal_caseless_n_st
      Src: /src/mhd2/src/mhd2/stream_process_reply.c:606,1
    - Dst: mhd_COND_ALMOST_NEVER
      Src: /src/mhd2/src/mhd2/stream_process_reply.c:618,1
    - Dst: mhd_COND_ALMOST_NEVER
      Src: /src/mhd2/src/mhd2/stream_process_reply.c:621,1
    - Dst: mhd_COND_ALMOST_NEVER
      Src: /src/mhd2/src/mhd2/stream_process_reply.c:624,1
    - Dst: mhd_COND_HARDLY_EVER
      Src: /src/mhd2/src/mhd2/stream_process_reply.c:626,1
    - Dst: memcpy
      Src: /src/mhd2/src/mhd2/stream_process_reply.c:630,1
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/stream_process_reply.c:637,1
    - Dst: mhd_str_equal_caseless_n
      Src: /src/mhd2/src/mhd2/stream_process_reply.c:637,1
    - Dst: mhd_MSTR_INIT
      Src: /src/mhd2/src/mhd2/stream_process_reply.c:643,1
    - Dst: mhd_COND_ALMOST_NEVER
      Src: /src/mhd2/src/mhd2/stream_process_reply.c:645,1
    - Dst: mhd_COND_HARDLY_EVER
      Src: /src/mhd2/src/mhd2/stream_process_reply.c:647,1
    - Dst: memcpy
      Src: /src/mhd2/src/mhd2/stream_process_reply.c:651,1
    - Dst: mhd_MSTR_INIT
      Src: /src/mhd2/src/mhd2/stream_process_reply.c:657,1
    - Dst: mhd_COND_ALMOST_NEVER
      Src: /src/mhd2/src/mhd2/stream_process_reply.c:659,1
    - Dst: mhd_COND_HARDLY_EVER
      Src: /src/mhd2/src/mhd2/stream_process_reply.c:661,1
    - Dst: memcpy
      Src: /src/mhd2/src/mhd2/stream_process_reply.c:665,1
    - Dst: memcpy
      Src: /src/mhd2/src/mhd2/stream_process_reply.c:673,1
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/stream_process_reply.c:677,1
    CyclomaticComplexity: 22
    EdgeCount: 22
    ICount: 65
    argCount: 7
    argNames:
    - buf
    - ppos
    - buf_size
    - r
    - filter_content_len
    - add_close
    - add_keep_alive
    argTypes:
    - char*
    - size_t*
    - size_t
    - struct MHD_Response*
    - bool
    - bool
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 680
      start: 577
    functionDepth: 1
    functionLinenumber: 577
    functionLinenumberEnd: 680
    functionName: add_user_headers
    functionSourceFile: /src/mhd2/src/mhd2/stream_process_reply.c
    functionUses: 0
    functionsReached:
    - mhd_COND_ALMOST_NEVER
    - mhd_str_equal_caseless_n
    - memcpy
    - mhd_COND_HARDLY_EVER
    - mhd_DLINKEDL_GET_NEXT
    - mhd_MSTR_INIT
    - mhd_str_equal_caseless_n_st
    - mhd_assert
    - mhd_DLINKEDL_GET_FIRST
    linkageType: ''
    returnType: MHD_FN_PAR_NONNULL_ALL_
    signature: "MHD_FN_PAR_NONNULL_ALL_ add_user_headers (char *restrict buf,\n                  size_t
      *restrict ppos,\n                  size_t buf_size,\n                  struct
      MHD_Response *restrict r,\n                  bool filter_content_len,\n                  bool
      add_close,\n                  bool add_keep_alive)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 9
    argNames:
    - (
    - buf
    - ','
    - buf_size
    - ','
    - ppos
    - ','
    - str
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 695
      start: 693
    functionDepth: 0
    functionLinenumber: 693
    functionLinenumberEnd: 695
    functionName: buffer_append_s
    functionSourceFile: /src/mhd2/src/mhd2/stream_process_reply.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: buffer_append_s(buf, buf_size, ppos, str)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 9
    argNames:
    - (
    - buf
    - ','
    - buf_size
    - ','
    - ppos
    - ','
    - pmhdstr
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 710
      start: 707
    functionDepth: 0
    functionLinenumber: 707
    functionLinenumberEnd: 710
    functionName: buffer_append_mstr
    functionSourceFile: /src/mhd2/src/mhd2/stream_process_reply.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: buffer_append_mstr(buf, buf_size, ppos, pmhdstr)
  - BBCount: 40
    BranchProfiles: []
    Callsites:
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/stream_process_reply.c:732,1
    - Dst: setup_reply_properties
      Src: /src/mhd2/src/mhd2/stream_process_reply.c:735,1
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/stream_process_reply.c:737,1
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/stream_process_reply.c:738,1
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/stream_process_reply.c:742,1
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/stream_process_reply.c:745,1
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/stream_process_reply.c:747,1
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/stream_process_reply.c:748,1
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/stream_process_reply.c:750,1
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/stream_process_reply.c:753,1
    - Dst: check_connection_reply
      Src: /src/mhd2/src/mhd2/stream_process_reply.c:757,1
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/stream_process_reply.c:769,1
    - Dst: mhd_stream_maximize_write_buffer
      Src: /src/mhd2/src/mhd2/stream_process_reply.c:790,1
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/stream_process_reply.c:796,1
    - Dst: buffer_append_s
      Src: /src/mhd2/src/mhd2/stream_process_reply.c:808,1
    - Dst: buffer_append_s
      Src: /src/mhd2/src/mhd2/stream_process_reply.c:813,1
    - Dst: buffer_append_s
      Src: /src/mhd2/src/mhd2/stream_process_reply.c:819,1
    - Dst: mhd_COND_HARDLY_EVER
      Src: /src/mhd2/src/mhd2/stream_process_reply.c:824,1
    - Dst: mhd_uint16_to_str
      Src: /src/mhd2/src/mhd2/stream_process_reply.c:829,1
    - Dst: mhd_HTTP_status_code_to_string_int
      Src: /src/mhd2/src/mhd2/stream_process_reply.c:837,1
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/stream_process_reply.c:838,1
    - Dst: buffer_append
      Src: /src/mhd2/src/mhd2/stream_process_reply.c:839,1
    - Dst: buffer_append_crlf
      Src: /src/mhd2/src/mhd2/stream_process_reply.c:845,1
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/stream_process_reply.c:855,1
    - Dst: buffer_append
      Src: /src/mhd2/src/mhd2/stream_process_reply.c:856,1
    - Dst: buffer_append_crlf
      Src: /src/mhd2/src/mhd2/stream_process_reply.c:860,1
    - Dst: mhd_COND_HARDLY_EVER
      Src: /src/mhd2/src/mhd2/stream_process_reply.c:873,1
    - Dst: get_date_header
      Src: /src/mhd2/src/mhd2/stream_process_reply.c:877,1
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/stream_process_reply.c:881,1
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/stream_process_reply.c:882,1
    - Dst: buffer_append_s
      Src: /src/mhd2/src/mhd2/stream_process_reply.c:887,1
    - Dst: buffer_append_s
      Src: /src/mhd2/src/mhd2/stream_process_reply.c:893,1
    - Dst: mhd_RESP_HAS_AUTH_DIGEST
      Src: /src/mhd2/src/mhd2/stream_process_reply.c:903,1
    - Dst: mhd_auth_digest_get_new_nonce
      Src: /src/mhd2/src/mhd2/stream_process_reply.c:907,1
    - Dst: mhd_STREAM_ABORT
      Src: /src/mhd2/src/mhd2/stream_process_reply.c:910,1
    - Dst: mhd_DLINKEDL_GET_FIRST
      Src: /src/mhd2/src/mhd2/stream_process_reply.c:915,1
    - Dst: mhd_DLINKEDL_GET_NEXT
      Src: /src/mhd2/src/mhd2/stream_process_reply.c:917,1
    - Dst: buffer_append_mstr
      Src: /src/mhd2/src/mhd2/stream_process_reply.c:921,1
    - Dst: memcpy
      Src: /src/mhd2/src/mhd2/stream_process_reply.c:924,1
    - Dst: add_user_headers
      Src: /src/mhd2/src/mhd2/stream_process_reply.c:933,1
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/stream_process_reply.c:947,1
    - Dst: buffer_append_s
      Src: /src/mhd2/src/mhd2/stream_process_reply.c:948,1
    - Dst: buffer_append_s
      Src: /src/mhd2/src/mhd2/stream_process_reply.c:962,1
    - Dst: mhd_uint64_to_str
      Src: /src/mhd2/src/mhd2/stream_process_reply.c:965,1
    - Dst: buffer_append_crlf
      Src: /src/mhd2/src/mhd2/stream_process_reply.c:972,1
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/stream_process_reply.c:980,1
    - Dst: buffer_append_crlf
      Src: /src/mhd2/src/mhd2/stream_process_reply.c:988,1
    CyclomaticComplexity: 55
    EdgeCount: 55
    ICount: 131
    argCount: 1
    argNames:
    - c
    argTypes:
    - struct MHD_Connection*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 995
      start: 720
    functionDepth: 3
    functionLinenumber: 720
    functionLinenumberEnd: 995
    functionName: build_header_response_inn
    functionSourceFile: /src/mhd2/src/mhd2/stream_process_reply.c
    functionUses: 0
    functionsReached:
    - mhd_RESP_HAS_AUTH_DIGEST
    - buffer_append_s
    - add_user_headers
    - mhd_uint16_to_str
    - mhd_STREAM_ABORT
    - mhd_DLINKEDL_GET_NEXT
    - mhd_HTTP_status_code_to_string_int
    - mhd_stream_maximize_write_buffer
    - check_connection_reply
    - mhd_uint64_to_str
    - buffer_append_crlf
    - memcpy
    - buffer_append_mstr
    - mhd_DLINKEDL_GET_FIRST
    - buffer_append
    - get_date_header
    - mhd_COND_HARDLY_EVER
    - setup_reply_properties
    - mhd_auth_digest_get_new_nonce
    - mhd_assert
    linkageType: ''
    returnType: MHD_FN_PAR_NONNULL_ALL_
    signature: MHD_FN_PAR_NONNULL_ALL_ build_header_response_inn (struct MHD_Connection
      *restrict c)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: build_header_response_inn
      Src: /src/mhd2/src/mhd2/stream_process_reply.c:1001,1
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/stream_process_reply.c:1007,1
    - Dst: mhd_STREAM_ABORT
      Src: /src/mhd2/src/mhd2/stream_process_reply.c:1009,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 1
    argNames:
    - c
    argTypes:
    - struct MHD_Connection*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1016
      start: 998
    functionDepth: 4
    functionLinenumber: 998
    functionLinenumberEnd: 1016
    functionName: mhd_stream_build_header_response
    functionSourceFile: /src/mhd2/src/mhd2/stream_process_reply.c
    functionUses: 0
    functionsReached:
    - build_header_response_inn
    - mhd_assert
    - mhd_STREAM_ABORT
    linkageType: ''
    returnType: MHD_INTERNAL
    signature: MHD_INTERNAL mhd_stream_build_header_response (struct MHD_Connection
      *restrict c)
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: mhd_DCC_ACTION_IS_VALID
      Src: /src/mhd2/src/mhd2/stream_process_reply.c:1042,1
    - Dst: mhd_LOG_MSG
      Src: /src/mhd2/src/mhd2/stream_process_reply.c:1046,1
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/stream_process_reply.c:1060,1
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/stream_process_reply.c:1063,1
    - Dst: mhd_STREAM_ABORT
      Src: /src/mhd2/src/mhd2/stream_process_reply.c:1065,1
    - Dst: mhd_STREAM_ABORT
      Src: /src/mhd2/src/mhd2/stream_process_reply.c:1070,1
    - Dst: mhd_UNREACHABLE
      Src: /src/mhd2/src/mhd2/stream_process_reply.c:1079,1
    - Dst: mhd_STREAM_ABORT
      Src: /src/mhd2/src/mhd2/stream_process_reply.c:1080,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 29
    argCount: 2
    argNames:
    - c
    - act
    argTypes:
    - struct MHD_Connection*
    - struct MHD_DynamicContentCreatorAction*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1084
      start: 1029
    functionDepth: 1
    functionLinenumber: 1029
    functionLinenumberEnd: 1084
    functionName: "(1) bool\npreprocess_dcc_action (struct MHD_Connection *restrict
      c,\n                       const struct MHD_DynamicContentCreatorAction *act)"
    functionSourceFile: /src/mhd2/src/mhd2/stream_process_reply.c
    functionUses: 0
    functionsReached:
    - mhd_DCC_ACTION_IS_VALID
    - mhd_LOG_MSG
    - mhd_STREAM_ABORT
    - mhd_UNREACHABLE
    - mhd_assert
    linkageType: ''
    returnType: MHD_FN_PAR_NONNULL_
    signature: "MHD_FN_PAR_NONNULL_ (1) bool\npreprocess_dcc_action (struct MHD_Connection
      *restrict c,\n                       const struct MHD_DynamicContentCreatorAction
      *act)"
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: MHD_FN_PAR_DYN_ARR_SIZE_
      Src: /src/mhd2/src/mhd2/stream_process_reply.c:1106,1
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/stream_process_reply.c:1109,1
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/stream_process_reply.c:1110,1
    - Dst: mhd_read_file
      Src: /src/mhd2/src/mhd2/stream_process_reply.c:1112,1
    - Dst: mhd_STREAM_ABORT
      Src: /src/mhd2/src/mhd2/stream_process_reply.c:1121,1
    - Dst: mhd_STREAM_ABORT
      Src: /src/mhd2/src/mhd2/stream_process_reply.c:1126,1
    - Dst: mhd_STREAM_ABORT
      Src: /src/mhd2/src/mhd2/stream_process_reply.c:1132,1
    - Dst: mhd_UNREACHABLE
      Src: /src/mhd2/src/mhd2/stream_process_reply.c:1140,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 21
    argCount: 5
    argNames:
    - c
    - r
    - buf_size
    - buf
    - size_filled
    argTypes:
    - struct MHD_Connection*
    - struct MHD_Response*
    - size_t
    - char[]
    - size_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1143
      start: 1102
    functionDepth: 1
    functionLinenumber: 1102
    functionLinenumberEnd: 1143
    functionName: read_response_file
    functionSourceFile: /src/mhd2/src/mhd2/stream_process_reply.c
    functionUses: 0
    functionsReached:
    - mhd_read_file
    - mhd_STREAM_ABORT
    - mhd_UNREACHABLE
    - MHD_FN_PAR_DYN_ARR_SIZE_
    - mhd_assert
    linkageType: ''
    returnType: bool
    signature: "bool read_response_file (struct MHD_Connection *restrict c,\n                    struct
      MHD_Response *const restrict r,\n                    size_t buf_size,\n                    char
      buf[MHD_FN_PAR_DYN_ARR_SIZE_ (buf_size)],\n                    size_t *restrict
      size_filled)"
  - BBCount: 15
    BranchProfiles: []
    Callsites:
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/stream_process_reply.c:1152,1
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/stream_process_reply.c:1153,1
    - Dst: mhd_stream_call_dcc_cleanup_if_needed
      Src: /src/mhd2/src/mhd2/stream_process_reply.c:1155,1
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/stream_process_reply.c:1163,1
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/stream_process_reply.c:1164,1
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/stream_process_reply.c:1171,1
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/stream_process_reply.c:1189,1
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/stream_process_reply.c:1190,1
    - Dst: struct MHD_Response*::cntn::dyn::cb
      Src: /src/mhd2/src/mhd2/stream_process_reply.c:1196,1
    - Dst: preprocess_dcc_action
      Src: /src/mhd2/src/mhd2/stream_process_reply.c:1203,1
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/stream_process_reply.c:1207,1
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/stream_process_reply.c:1208,1
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/stream_process_reply.c:1214,1
    - Dst: mhd_STREAM_ABORT
      Src: /src/mhd2/src/mhd2/stream_process_reply.c:1220,1
    - Dst: read_response_file
      Src: /src/mhd2/src/mhd2/stream_process_reply.c:1238,1
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/stream_process_reply.c:1250,1
    - Dst: mhd_UNREACHABLE
      Src: /src/mhd2/src/mhd2/stream_process_reply.c:1251,1
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/stream_process_reply.c:1260,1
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/stream_process_reply.c:1261,1
    - Dst: mhd_stream_alloc_memory
      Src: /src/mhd2/src/mhd2/stream_process_reply.c:1265,1
    - Dst: mhd_STREAM_ABORT
      Src: /src/mhd2/src/mhd2/stream_process_reply.c:1270,1
    - Dst: memcpy
      Src: /src/mhd2/src/mhd2/stream_process_reply.c:1275,1
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/stream_process_reply.c:1289,1
    - Dst: mhd_UNREACHABLE
      Src: /src/mhd2/src/mhd2/stream_process_reply.c:1290,1
    CyclomaticComplexity: 16
    EdgeCount: 16
    ICount: 77
    argCount: 1
    argNames:
    - c
    argTypes:
    - struct MHD_Connection*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1293
      start: 1146
    functionDepth: 2
    functionLinenumber: 1146
    functionLinenumberEnd: 1293
    functionName: mhd_stream_prep_unchunked_body
    functionSourceFile: /src/mhd2/src/mhd2/stream_process_reply.c
    functionUses: 0
    functionsReached:
    - preprocess_dcc_action
    - read_response_file
    - memcpy
    - mhd_STREAM_ABORT
    - mhd_UNREACHABLE
    - mhd_stream_call_dcc_cleanup_if_needed
    - struct MHD_Response*::cntn::dyn::cb
    - mhd_stream_alloc_memory
    - mhd_assert
    linkageType: ''
    returnType: MHD_INTERNAL
    signature: MHD_INTERNAL mhd_stream_prep_unchunked_body (struct MHD_Connection
      *restrict c)
  - BBCount: 15
    BranchProfiles: []
    Callsites:
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/stream_process_reply.c:1315,1
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/stream_process_reply.c:1316,1
    - Dst: mhd_stream_call_dcc_cleanup_if_needed
      Src: /src/mhd2/src/mhd2/stream_process_reply.c:1318,1
    - Dst: mhd_STREAM_ABORT
      Src: /src/mhd2/src/mhd2/stream_process_reply.c:1323,1
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/stream_process_reply.c:1328,1
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/stream_process_reply.c:1336,1
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/stream_process_reply.c:1358,1
    - Dst: memcpy
      Src: /src/mhd2/src/mhd2/stream_process_reply.c:1360,1
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/stream_process_reply.c:1369,1
    - Dst: struct MHD_Response*::cntn::dyn::cb
      Src: /src/mhd2/src/mhd2/stream_process_reply.c:1375,1
    - Dst: preprocess_dcc_action
      Src: /src/mhd2/src/mhd2/stream_process_reply.c:1382,1
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/stream_process_reply.c:1386,1
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/stream_process_reply.c:1391,1
    - Dst: mhd_STREAM_ABORT
      Src: /src/mhd2/src/mhd2/stream_process_reply.c:1397,1
    - Dst: read_response_file
      Src: /src/mhd2/src/mhd2/stream_process_reply.c:1406,1
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/stream_process_reply.c:1415,1
    - Dst: mhd_uint32_to_strx
      Src: /src/mhd2/src/mhd2/stream_process_reply.c:1419,1
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/stream_process_reply.c:1422,1
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/stream_process_reply.c:1423,1
    - Dst: memcpy
      Src: /src/mhd2/src/mhd2/stream_process_reply.c:1425,1
    CyclomaticComplexity: 16
    EdgeCount: 16
    ICount: 72
    argCount: 1
    argNames:
    - c
    argTypes:
    - struct MHD_Connection*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1441
      start: 1300
    functionDepth: 2
    functionLinenumber: 1300
    functionLinenumberEnd: 1441
    functionName: mhd_stream_prep_chunked_body
    functionSourceFile: /src/mhd2/src/mhd2/stream_process_reply.c
    functionUses: 0
    functionsReached:
    - preprocess_dcc_action
    - read_response_file
    - mhd_uint32_to_strx
    - mhd_STREAM_ABORT
    - mhd_stream_call_dcc_cleanup_if_needed
    - mhd_assert
    - struct MHD_Response*::cntn::dyn::cb
    - memcpy
    linkageType: ''
    returnType: MHD_INTERNAL
    signature: MHD_INTERNAL mhd_stream_prep_chunked_body (struct MHD_Connection *restrict
      c)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/stream_process_reply.c:1461,1
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/stream_process_reply.c:1462,1
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/stream_process_reply.c:1463,1
    - Dst: mhd_stream_maximize_write_buffer
      Src: /src/mhd2/src/mhd2/stream_process_reply.c:1465,1
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/stream_process_reply.c:1469,1
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/stream_process_reply.c:1471,1
    - Dst: memcpy
      Src: /src/mhd2/src/mhd2/stream_process_reply.c:1487,1
    - Dst: memcpy
      Src: /src/mhd2/src/mhd2/stream_process_reply.c:1491,1
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/stream_process_reply.c:1495,1
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/stream_process_reply.c:1506,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 37
    argCount: 1
    argNames:
    - c
    argTypes:
    - struct MHD_Connection*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1509
      start: 1453
    functionDepth: 1
    functionLinenumber: 1453
    functionLinenumberEnd: 1509
    functionName: prep_chunked_footer_inn
    functionSourceFile: /src/mhd2/src/mhd2/stream_process_reply.c
    functionUses: 0
    functionsReached:
    - mhd_stream_maximize_write_buffer
    - mhd_assert
    - memcpy
    linkageType: ''
    returnType: MHD_FN_PAR_NONNULL_ALL_
    signature: MHD_FN_PAR_NONNULL_ALL_ prep_chunked_footer_inn (struct MHD_Connection
      *restrict c)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: prep_chunked_footer_inn
      Src: /src/mhd2/src/mhd2/stream_process_reply.c:1515,1
    - Dst: mhd_STREAM_ABORT
      Src: /src/mhd2/src/mhd2/stream_process_reply.c:1517,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 1
    argNames:
    - c
    argTypes:
    - struct MHD_Connection*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1524
      start: 1512
    functionDepth: 2
    functionLinenumber: 1512
    functionLinenumberEnd: 1524
    functionName: mhd_stream_prep_chunked_footer
    functionSourceFile: /src/mhd2/src/mhd2/stream_process_reply.c
    functionUses: 0
    functionsReached:
    - prep_chunked_footer_inn
    - mhd_STREAM_ABORT
    linkageType: ''
    returnType: MHD_INTERNAL
    signature: MHD_INTERNAL mhd_stream_prep_chunked_footer (struct MHD_Connection
      *restrict c)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - sckt
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 72
      start: 71
    functionDepth: 0
    functionLinenumber: 71
    functionLinenumberEnd: 72
    functionName: mhd_socket_close
    functionSourceFile: /src/mhd2/src/mhd2/mhd_sockets_macros.h
    functionUses: 4
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: mhd_socket_close(sckt)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - sckt
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 74
      start: 73
    functionDepth: 0
    functionLinenumber: 73
    functionLinenumberEnd: 74
    functionName: mhd_socket_close
    functionSourceFile: /src/mhd2/src/mhd2/mhd_sockets_macros.h
    functionUses: 4
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: mhd_socket_close(sckt)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 9
    argNames:
    - (
    - s
    - ','
    - b
    - ','
    - l
    - ','
    - f
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 88
      start: 85
    functionDepth: 0
    functionLinenumber: 85
    functionLinenumberEnd: 88
    functionName: mhd_sys_send4
    functionSourceFile: /src/mhd2/src/mhd2/mhd_sockets_macros.h
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: mhd_sys_send4(s, b, l, f)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 9
    argNames:
    - (
    - s
    - ','
    - b
    - ','
    - l
    - ','
    - f
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 92
      start: 89
    functionDepth: 0
    functionLinenumber: 89
    functionLinenumberEnd: 92
    functionName: mhd_sys_send4
    functionSourceFile: /src/mhd2/src/mhd2/mhd_sockets_macros.h
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: mhd_sys_send4(s, b, l, f)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - s
    - ','
    - b
    - ','
    - l
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 102
      start: 101
    functionDepth: 0
    functionLinenumber: 101
    functionLinenumberEnd: 102
    functionName: mhd_sys_send
    functionSourceFile: /src/mhd2/src/mhd2/mhd_sockets_macros.h
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: mhd_sys_send(s, b, l)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - s
    - ','
    - b
    - ','
    - l
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 114
      start: 112
    functionDepth: 0
    functionLinenumber: 112
    functionLinenumberEnd: 114
    functionName: mhd_sys_recv
    functionSourceFile: /src/mhd2/src/mhd2/mhd_sockets_macros.h
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: mhd_sys_recv(s, b, l)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - s
    - ','
    - b
    - ','
    - l
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 117
      start: 115
    functionDepth: 0
    functionLinenumber: 115
    functionLinenumberEnd: 117
    functionName: mhd_sys_recv
    functionSourceFile: /src/mhd2/src/mhd2/mhd_sockets_macros.h
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: mhd_sys_recv(s, b, l)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 2
    argNames:
    - (
    - )
    argTypes:
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 124
      start: 123
    functionDepth: 0
    functionLinenumber: 123
    functionLinenumberEnd: 124
    functionName: mhd_SCKT_GET_LERR
    functionSourceFile: /src/mhd2/src/mhd2/mhd_sockets_macros.h
    functionUses: 13
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: mhd_SCKT_GET_LERR()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 2
    argNames:
    - (
    - )
    argTypes:
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 126
      start: 125
    functionDepth: 0
    functionLinenumber: 125
    functionLinenumberEnd: 126
    functionName: mhd_SCKT_GET_LERR
    functionSourceFile: /src/mhd2/src/mhd2/mhd_sockets_macros.h
    functionUses: 13
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: mhd_SCKT_GET_LERR()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - err
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 133
      start: 132
    functionDepth: 0
    functionLinenumber: 132
    functionLinenumberEnd: 133
    functionName: mhd_SCKT_SET_LERR
    functionSourceFile: /src/mhd2/src/mhd2/mhd_sockets_macros.h
    functionUses: 4
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: mhd_SCKT_SET_LERR(err)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - err
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 135
      start: 134
    functionDepth: 0
    functionLinenumber: 134
    functionLinenumberEnd: 135
    functionName: mhd_SCKT_SET_LERR
    functionSourceFile: /src/mhd2/src/mhd2/mhd_sockets_macros.h
    functionUses: 4
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: mhd_SCKT_SET_LERR(err)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - err
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 142
      start: 140
    functionDepth: 0
    functionLinenumber: 140
    functionLinenumberEnd: 142
    functionName: mhd_SCKT_ERR_IS_EAGAIN
    functionSourceFile: /src/mhd2/src/mhd2/mhd_sockets_macros.h
    functionUses: 7
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: mhd_SCKT_ERR_IS_EAGAIN(err)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - err
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 144
      start: 143
    functionDepth: 0
    functionLinenumber: 143
    functionLinenumberEnd: 144
    functionName: mhd_SCKT_ERR_IS_EAGAIN
    functionSourceFile: /src/mhd2/src/mhd2/mhd_sockets_macros.h
    functionUses: 7
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: mhd_SCKT_ERR_IS_EAGAIN(err)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - err
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 146
      start: 145
    functionDepth: 0
    functionLinenumber: 145
    functionLinenumberEnd: 146
    functionName: mhd_SCKT_ERR_IS_EAGAIN
    functionSourceFile: /src/mhd2/src/mhd2/mhd_sockets_macros.h
    functionUses: 7
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: mhd_SCKT_ERR_IS_EAGAIN(err)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - err
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 148
      start: 147
    functionDepth: 0
    functionLinenumber: 147
    functionLinenumberEnd: 148
    functionName: mhd_SCKT_ERR_IS_EAGAIN
    functionSourceFile: /src/mhd2/src/mhd2/mhd_sockets_macros.h
    functionUses: 7
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: mhd_SCKT_ERR_IS_EAGAIN(err)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - err
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 151
      start: 150
    functionDepth: 0
    functionLinenumber: 150
    functionLinenumberEnd: 151
    functionName: mhd_SCKT_ERR_IS_EAGAIN
    functionSourceFile: /src/mhd2/src/mhd2/mhd_sockets_macros.h
    functionUses: 7
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: mhd_SCKT_ERR_IS_EAGAIN(err)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 2
    argNames:
    - (
    - )
    argTypes:
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 154
      start: 153
    functionDepth: 0
    functionLinenumber: 153
    functionLinenumberEnd: 154
    functionName: mhd_SCKT_LERR_IS_EAGAIN
    functionSourceFile: /src/mhd2/src/mhd2/mhd_sockets_macros.h
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: mhd_SCKT_LERR_IS_EAGAIN()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - err
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 158
      start: 157
    functionDepth: 0
    functionLinenumber: 157
    functionLinenumberEnd: 158
    functionName: mhd_SCKT_ERR_IS_AF
    functionSourceFile: /src/mhd2/src/mhd2/mhd_sockets_macros.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: mhd_SCKT_ERR_IS_AF(err)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - err
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 160
      start: 159
    functionDepth: 0
    functionLinenumber: 159
    functionLinenumberEnd: 160
    functionName: mhd_SCKT_ERR_IS_AF
    functionSourceFile: /src/mhd2/src/mhd2/mhd_sockets_macros.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: mhd_SCKT_ERR_IS_AF(err)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - err
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 163
      start: 162
    functionDepth: 0
    functionLinenumber: 162
    functionLinenumberEnd: 163
    functionName: mhd_SCKT_ERR_IS_AF
    functionSourceFile: /src/mhd2/src/mhd2/mhd_sockets_macros.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: mhd_SCKT_ERR_IS_AF(err)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 2
    argNames:
    - (
    - )
    argTypes:
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 166
      start: 165
    functionDepth: 0
    functionLinenumber: 165
    functionLinenumberEnd: 166
    functionName: mhd_SCKT_LERR_IS_AF
    functionSourceFile: /src/mhd2/src/mhd2/mhd_sockets_macros.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: mhd_SCKT_LERR_IS_AF()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - err
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 170
      start: 169
    functionDepth: 0
    functionLinenumber: 169
    functionLinenumberEnd: 170
    functionName: mhd_SCKT_ERR_IS_EINVAL
    functionSourceFile: /src/mhd2/src/mhd2/mhd_sockets_macros.h
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: mhd_SCKT_ERR_IS_EINVAL(err)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - err
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 172
      start: 171
    functionDepth: 0
    functionLinenumber: 171
    functionLinenumberEnd: 172
    functionName: mhd_SCKT_ERR_IS_EINVAL
    functionSourceFile: /src/mhd2/src/mhd2/mhd_sockets_macros.h
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: mhd_SCKT_ERR_IS_EINVAL(err)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - err
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 175
      start: 174
    functionDepth: 0
    functionLinenumber: 174
    functionLinenumberEnd: 175
    functionName: mhd_SCKT_ERR_IS_EINVAL
    functionSourceFile: /src/mhd2/src/mhd2/mhd_sockets_macros.h
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: mhd_SCKT_ERR_IS_EINVAL(err)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - err
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 180
      start: 179
    functionDepth: 0
    functionLinenumber: 179
    functionLinenumberEnd: 180
    functionName: mhd_SCKT_ERR_IS_EINTR
    functionSourceFile: /src/mhd2/src/mhd2/mhd_sockets_macros.h
    functionUses: 7
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: mhd_SCKT_ERR_IS_EINTR(err)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - err
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 182
      start: 181
    functionDepth: 0
    functionLinenumber: 181
    functionLinenumberEnd: 182
    functionName: mhd_SCKT_ERR_IS_EINTR
    functionSourceFile: /src/mhd2/src/mhd2/mhd_sockets_macros.h
    functionUses: 7
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: mhd_SCKT_ERR_IS_EINTR(err)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - err
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 185
      start: 184
    functionDepth: 0
    functionLinenumber: 184
    functionLinenumberEnd: 185
    functionName: mhd_SCKT_ERR_IS_EINTR
    functionSourceFile: /src/mhd2/src/mhd2/mhd_sockets_macros.h
    functionUses: 7
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: mhd_SCKT_ERR_IS_EINTR(err)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - err
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 190
      start: 189
    functionDepth: 0
    functionLinenumber: 189
    functionLinenumberEnd: 190
    functionName: mhd_SCKT_ERR_IS_CONNRESET
    functionSourceFile: /src/mhd2/src/mhd2/mhd_sockets_macros.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: mhd_SCKT_ERR_IS_CONNRESET(err)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - err
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 192
      start: 191
    functionDepth: 0
    functionLinenumber: 191
    functionLinenumberEnd: 192
    functionName: mhd_SCKT_ERR_IS_CONNRESET
    functionSourceFile: /src/mhd2/src/mhd2/mhd_sockets_macros.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: mhd_SCKT_ERR_IS_CONNRESET(err)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - err
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 195
      start: 194
    functionDepth: 0
    functionLinenumber: 194
    functionLinenumberEnd: 195
    functionName: mhd_SCKT_ERR_IS_CONNRESET
    functionSourceFile: /src/mhd2/src/mhd2/mhd_sockets_macros.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: mhd_SCKT_ERR_IS_CONNRESET(err)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - err
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 200
      start: 199
    functionDepth: 0
    functionLinenumber: 199
    functionLinenumberEnd: 200
    functionName: mhd_SCKT_ERR_IS_NOTCONN
    functionSourceFile: /src/mhd2/src/mhd2/mhd_sockets_macros.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: mhd_SCKT_ERR_IS_NOTCONN(err)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - err
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 202
      start: 201
    functionDepth: 0
    functionLinenumber: 201
    functionLinenumberEnd: 202
    functionName: mhd_SCKT_ERR_IS_NOTCONNT
    functionSourceFile: /src/mhd2/src/mhd2/mhd_sockets_macros.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: mhd_SCKT_ERR_IS_NOTCONNT(err)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - err
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 205
      start: 204
    functionDepth: 0
    functionLinenumber: 204
    functionLinenumberEnd: 205
    functionName: mhd_SCKT_ERR_IS_NOTCONN
    functionSourceFile: /src/mhd2/src/mhd2/mhd_sockets_macros.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: mhd_SCKT_ERR_IS_NOTCONN(err)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - err
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 210
      start: 209
    functionDepth: 0
    functionLinenumber: 209
    functionLinenumberEnd: 210
    functionName: mhd_SCKT_ERR_IS_OPNOTSUPP
    functionSourceFile: /src/mhd2/src/mhd2/mhd_sockets_macros.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: mhd_SCKT_ERR_IS_OPNOTSUPP(err)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - err
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 212
      start: 211
    functionDepth: 0
    functionLinenumber: 211
    functionLinenumberEnd: 212
    functionName: mhd_SCKT_ERR_IS_OPNOTSUPP
    functionSourceFile: /src/mhd2/src/mhd2/mhd_sockets_macros.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: mhd_SCKT_ERR_IS_OPNOTSUPP(err)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - err
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 215
      start: 214
    functionDepth: 0
    functionLinenumber: 214
    functionLinenumberEnd: 215
    functionName: mhd_SCKT_ERR_IS_OPNOTSUPP
    functionSourceFile: /src/mhd2/src/mhd2/mhd_sockets_macros.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: mhd_SCKT_ERR_IS_OPNOTSUPP(err)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - err
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 220
      start: 219
    functionDepth: 0
    functionLinenumber: 219
    functionLinenumberEnd: 220
    functionName: mhd_SCKT_ERR_IS_NOPROTOOPT
    functionSourceFile: /src/mhd2/src/mhd2/mhd_sockets_macros.h
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: mhd_SCKT_ERR_IS_NOPROTOOPT(err)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - err
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 222
      start: 221
    functionDepth: 0
    functionLinenumber: 221
    functionLinenumberEnd: 222
    functionName: mhd_SCKT_ERR_IS_NOPROTOOPT
    functionSourceFile: /src/mhd2/src/mhd2/mhd_sockets_macros.h
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: mhd_SCKT_ERR_IS_NOPROTOOPT(err)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - err
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 225
      start: 224
    functionDepth: 0
    functionLinenumber: 224
    functionLinenumberEnd: 225
    functionName: mhd_SCKT_ERR_IS_NOPROTOOPT
    functionSourceFile: /src/mhd2/src/mhd2/mhd_sockets_macros.h
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: mhd_SCKT_ERR_IS_NOPROTOOPT(err)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - err
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 230
      start: 229
    functionDepth: 0
    functionLinenumber: 229
    functionLinenumberEnd: 230
    functionName: mhd_SCKT_ERR_IS_BADF
    functionSourceFile: /src/mhd2/src/mhd2/mhd_sockets_macros.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: mhd_SCKT_ERR_IS_BADF(err)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - err
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 232
      start: 231
    functionDepth: 0
    functionLinenumber: 231
    functionLinenumberEnd: 232
    functionName: mhd_SCKT_ERR_IS_BADF
    functionSourceFile: /src/mhd2/src/mhd2/mhd_sockets_macros.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: mhd_SCKT_ERR_IS_BADF(err)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - err
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 235
      start: 234
    functionDepth: 0
    functionLinenumber: 234
    functionLinenumberEnd: 235
    functionName: mhd_SCKT_ERR_IS_BADF
    functionSourceFile: /src/mhd2/src/mhd2/mhd_sockets_macros.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: mhd_SCKT_ERR_IS_BADF(err)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - err
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 240
      start: 239
    functionDepth: 0
    functionLinenumber: 239
    functionLinenumberEnd: 240
    functionName: mhd_SCKT_ERR_IS_NOTSOCK
    functionSourceFile: /src/mhd2/src/mhd2/mhd_sockets_macros.h
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: mhd_SCKT_ERR_IS_NOTSOCK(err)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - err
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 242
      start: 241
    functionDepth: 0
    functionLinenumber: 241
    functionLinenumberEnd: 242
    functionName: mhd_SCKT_ERR_IS_NOTSOCK
    functionSourceFile: /src/mhd2/src/mhd2/mhd_sockets_macros.h
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: mhd_SCKT_ERR_IS_NOTSOCK(err)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - err
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 245
      start: 244
    functionDepth: 0
    functionLinenumber: 244
    functionLinenumberEnd: 245
    functionName: mhd_SCKT_ERR_IS_NOTSOCK
    functionSourceFile: /src/mhd2/src/mhd2/mhd_sockets_macros.h
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: mhd_SCKT_ERR_IS_NOTSOCK(err)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - err
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 250
      start: 249
    functionDepth: 0
    functionLinenumber: 249
    functionLinenumberEnd: 250
    functionName: mhd_SCKT_ERR_IS_PIPE
    functionSourceFile: /src/mhd2/src/mhd2/mhd_sockets_macros.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: mhd_SCKT_ERR_IS_PIPE(err)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - err
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 252
      start: 251
    functionDepth: 0
    functionLinenumber: 251
    functionLinenumberEnd: 252
    functionName: mhd_SCKT_ERR_IS_PIPE
    functionSourceFile: /src/mhd2/src/mhd2/mhd_sockets_macros.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: mhd_SCKT_ERR_IS_PIPE(err)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - err
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 255
      start: 254
    functionDepth: 0
    functionLinenumber: 254
    functionLinenumberEnd: 255
    functionName: mhd_SCKT_ERR_IS_PIPE
    functionSourceFile: /src/mhd2/src/mhd2/mhd_sockets_macros.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: mhd_SCKT_ERR_IS_PIPE(err)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - err
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 260
      start: 259
    functionDepth: 0
    functionLinenumber: 259
    functionLinenumberEnd: 260
    functionName: mhd_SCKT_ERR_IS_INPROGRESS
    functionSourceFile: /src/mhd2/src/mhd2/mhd_sockets_macros.h
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: mhd_SCKT_ERR_IS_INPROGRESS(err)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - err
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 262
      start: 261
    functionDepth: 0
    functionLinenumber: 261
    functionLinenumberEnd: 262
    functionName: mhd_SCKT_ERR_IS_INPROGRESS
    functionSourceFile: /src/mhd2/src/mhd2/mhd_sockets_macros.h
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: mhd_SCKT_ERR_IS_INPROGRESS(err)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - err
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 265
      start: 264
    functionDepth: 0
    functionLinenumber: 264
    functionLinenumberEnd: 265
    functionName: mhd_SCKT_ERR_IS_INPROGRESS
    functionSourceFile: /src/mhd2/src/mhd2/mhd_sockets_macros.h
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: mhd_SCKT_ERR_IS_INPROGRESS(err)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - err
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 276
      start: 275
    functionDepth: 0
    functionLinenumber: 275
    functionLinenumberEnd: 276
    functionName: mhd_SCKT_ERR_IS_DISCNN_BEFORE_ACCEPT
    functionSourceFile: /src/mhd2/src/mhd2/mhd_sockets_macros.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: mhd_SCKT_ERR_IS_DISCNN_BEFORE_ACCEPT(err)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - err
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 278
      start: 277
    functionDepth: 0
    functionLinenumber: 277
    functionLinenumberEnd: 278
    functionName: mhd_SCKT_ERR_IS_DISCNN_BEFORE_ACCEPT
    functionSourceFile: /src/mhd2/src/mhd2/mhd_sockets_macros.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: mhd_SCKT_ERR_IS_DISCNN_BEFORE_ACCEPT(err)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - err
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 281
      start: 280
    functionDepth: 0
    functionLinenumber: 280
    functionLinenumberEnd: 281
    functionName: mhd_SCKT_ERR_IS_DISCNN_BEFORE_ACCEPT
    functionSourceFile: /src/mhd2/src/mhd2/mhd_sockets_macros.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: mhd_SCKT_ERR_IS_DISCNN_BEFORE_ACCEPT(err)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - err
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 298
      start: 293
    functionDepth: 0
    functionLinenumber: 293
    functionLinenumberEnd: 298
    functionName: mhd_SCKT_ERR_IS_CONN_BROKEN
    functionSourceFile: /src/mhd2/src/mhd2/mhd_sockets_macros.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: mhd_SCKT_ERR_IS_CONN_BROKEN(err)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - err
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 302
      start: 299
    functionDepth: 0
    functionLinenumber: 299
    functionLinenumberEnd: 302
    functionName: mhd_SCKT_ERR_IS_CONN_BROKEN
    functionSourceFile: /src/mhd2/src/mhd2/mhd_sockets_macros.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: mhd_SCKT_ERR_IS_CONN_BROKEN(err)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - err
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 314
      start: 310
    functionDepth: 0
    functionLinenumber: 310
    functionLinenumberEnd: 314
    functionName: mhd_SCKT_ERR_IS_LOW_RESOURCES
    functionSourceFile: /src/mhd2/src/mhd2/mhd_sockets_macros.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: mhd_SCKT_ERR_IS_LOW_RESOURCES(err)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - err
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 317
      start: 315
    functionDepth: 0
    functionLinenumber: 315
    functionLinenumberEnd: 317
    functionName: mhd_SCKT_ERR_IS_LOW_RESOURCES
    functionSourceFile: /src/mhd2/src/mhd2/mhd_sockets_macros.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: mhd_SCKT_ERR_IS_LOW_RESOURCES(err)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - err
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 329
      start: 326
    functionDepth: 0
    functionLinenumber: 326
    functionLinenumberEnd: 329
    functionName: mhd_SCKT_ERR_IS_LOW_MEM
    functionSourceFile: /src/mhd2/src/mhd2/mhd_sockets_macros.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: mhd_SCKT_ERR_IS_LOW_MEM(err)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - err
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 331
      start: 330
    functionDepth: 0
    functionLinenumber: 330
    functionLinenumberEnd: 331
    functionName: mhd_SCKT_ERR_IS_LOW_MEM
    functionSourceFile: /src/mhd2/src/mhd2/mhd_sockets_macros.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: mhd_SCKT_ERR_IS_LOW_MEM(err)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - fdarr_ptr
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 339
      start: 337
    functionDepth: 0
    functionLinenumber: 337
    functionLinenumberEnd: 339
    functionName: mhd_socket_pair
    functionSourceFile: /src/mhd2/src/mhd2/mhd_sockets_macros.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: mhd_socket_pair(fdarr_ptr)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - fdarr_ptr
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 343
      start: 341
    functionDepth: 0
    functionLinenumber: 341
    functionLinenumberEnd: 343
    functionName: mhd_socket_pair
    functionSourceFile: /src/mhd2/src/mhd2/mhd_sockets_macros.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: mhd_socket_pair(fdarr_ptr)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - fdarr_ptr
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 349
      start: 346
    functionDepth: 0
    functionLinenumber: 346
    functionLinenumberEnd: 349
    functionName: mhd_socket_pair_nblk
    functionSourceFile: /src/mhd2/src/mhd2/mhd_sockets_macros.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: mhd_socket_pair_nblk(fdarr_ptr)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - fdarr_ptr
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 354
      start: 351
    functionDepth: 0
    functionLinenumber: 351
    functionLinenumberEnd: 354
    functionName: mhd_socket_pair_nblk
    functionSourceFile: /src/mhd2/src/mhd2/mhd_sockets_macros.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: mhd_socket_pair_nblk(fdarr_ptr)
  - BBCount: 14
    BranchProfiles: []
    Callsites:
    - Dst: MHD_FN_PAR_DYN_ARR_SIZE_
      Src: /src/mhd2/src/mhd2/mhd_rng.c:97,1
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/mhd_rng.c:101,1
    - Dst: RAND_bytes
      Src: /src/mhd2/src/mhd2/mhd_rng.c:102,1
    - Dst: gnutls_rnd
      Src: /src/mhd2/src/mhd2/mhd_rng.c:109,1
    - Dst: mbedtls_entropy_init
      Src: /src/mhd2/src/mhd2/mhd_rng.c:122,1
    - Dst: mbedtls_ctr_drbg_init
      Src: /src/mhd2/src/mhd2/mhd_rng.c:123,1
    - Dst: mbedtls_ctr_drbg_seed
      Src: /src/mhd2/src/mhd2/mhd_rng.c:126,1
    - Dst: mbedtls_ctr_drbg_random
      Src: /src/mhd2/src/mhd2/mhd_rng.c:142,1
    - Dst: getrandom
      Src: /src/mhd2/src/mhd2/mhd_rng.c:159,1
    - Dst: BCryptGenRandom
      Src: /src/mhd2/src/mhd2/mhd_rng.c:178,1
    - Dst: arc4random_buf
      Src: /src/mhd2/src/mhd2/mhd_rng.c:185,1
    - Dst: fopen
      Src: /src/mhd2/src/mhd2/mhd_rng.c:198,1
    - Dst: fopen
      Src: /src/mhd2/src/mhd2/mhd_rng.c:203,1
    - Dst: fread
      Src: /src/mhd2/src/mhd2/mhd_rng.c:211,1
    CyclomaticComplexity: 23
    EdgeCount: 23
    ICount: 49
    argCount: 2
    argNames:
    - buf_size
    - buf
    argTypes:
    - size_t
    - uint8_t[]
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 221
      start: 95
    functionDepth: 1
    functionLinenumber: 95
    functionLinenumberEnd: 221
    functionName: mhd_rng
    functionSourceFile: /src/mhd2/src/mhd2/mhd_rng.c
    functionUses: 0
    functionsReached:
    - fread
    - getrandom
    - gnutls_rnd
    - mbedtls_ctr_drbg_init
    - mbedtls_ctr_drbg_seed
    - arc4random_buf
    - RAND_bytes
    - BCryptGenRandom
    - MHD_FN_PAR_DYN_ARR_SIZE_
    - mbedtls_ctr_drbg_random
    - fopen
    - mbedtls_entropy_init
    - mhd_assert
    linkageType: ''
    returnType: MHD_INTERNAL
    signature: "MHD_INTERNAL mhd_rng (size_t buf_size,\n         uint8_t buf[MHD_FN_PAR_DYN_ARR_SIZE_
      (buf_size)])"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: UINT32_C
      Src: /src/mhd2/src/mhd2/md5_builtin.c:63,1
    - Dst: UINT32_C
      Src: /src/mhd2/src/mhd2/md5_builtin.c:64,1
    - Dst: UINT32_C
      Src: /src/mhd2/src/mhd2/md5_builtin.c:65,1
    - Dst: UINT32_C
      Src: /src/mhd2/src/mhd2/md5_builtin.c:66,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 1
    argNames:
    - ctx
    argTypes:
    - struct mhd_Md5CtxBlti*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 70
      start: 56
    functionDepth: 0
    functionLinenumber: 56
    functionLinenumberEnd: 70
    functionName: mhd_MD5_blti_init
    functionSourceFile: /src/mhd2/src/mhd2/md5_builtin.c
    functionUses: 0
    functionsReached:
    - UINT32_C
    linkageType: ''
    returnType: void
    signature: void mhd_MD5_blti_init (struct mhd_Md5CtxBlti *ctx)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: memcpy
      Src: /src/mhd2/src/mhd2/md5_builtin.c:99,1
    - Dst: MD5STEP_R1
      Src: /src/mhd2/src/mhd2/md5_builtin.c:171,1
    - Dst: UINT32_C
      Src: /src/mhd2/src/mhd2/md5_builtin.c:171,1
    - Dst: MD5STEP_R1
      Src: /src/mhd2/src/mhd2/md5_builtin.c:172,1
    - Dst: UINT32_C
      Src: /src/mhd2/src/mhd2/md5_builtin.c:172,1
    - Dst: MD5STEP_R1
      Src: /src/mhd2/src/mhd2/md5_builtin.c:173,1
    - Dst: UINT32_C
      Src: /src/mhd2/src/mhd2/md5_builtin.c:173,1
    - Dst: MD5STEP_R1
      Src: /src/mhd2/src/mhd2/md5_builtin.c:174,1
    - Dst: UINT32_C
      Src: /src/mhd2/src/mhd2/md5_builtin.c:174,1
    - Dst: MD5STEP_R1
      Src: /src/mhd2/src/mhd2/md5_builtin.c:176,1
    - Dst: UINT32_C
      Src: /src/mhd2/src/mhd2/md5_builtin.c:176,1
    - Dst: MD5STEP_R1
      Src: /src/mhd2/src/mhd2/md5_builtin.c:177,1
    - Dst: UINT32_C
      Src: /src/mhd2/src/mhd2/md5_builtin.c:177,1
    - Dst: MD5STEP_R1
      Src: /src/mhd2/src/mhd2/md5_builtin.c:178,1
    - Dst: UINT32_C
      Src: /src/mhd2/src/mhd2/md5_builtin.c:178,1
    - Dst: MD5STEP_R1
      Src: /src/mhd2/src/mhd2/md5_builtin.c:179,1
    - Dst: UINT32_C
      Src: /src/mhd2/src/mhd2/md5_builtin.c:179,1
    - Dst: MD5STEP_R1
      Src: /src/mhd2/src/mhd2/md5_builtin.c:181,1
    - Dst: UINT32_C
      Src: /src/mhd2/src/mhd2/md5_builtin.c:181,1
    - Dst: MD5STEP_R1
      Src: /src/mhd2/src/mhd2/md5_builtin.c:182,1
    - Dst: UINT32_C
      Src: /src/mhd2/src/mhd2/md5_builtin.c:182,1
    - Dst: MD5STEP_R1
      Src: /src/mhd2/src/mhd2/md5_builtin.c:183,1
    - Dst: UINT32_C
      Src: /src/mhd2/src/mhd2/md5_builtin.c:183,1
    - Dst: MD5STEP_R1
      Src: /src/mhd2/src/mhd2/md5_builtin.c:184,1
    - Dst: UINT32_C
      Src: /src/mhd2/src/mhd2/md5_builtin.c:184,1
    - Dst: MD5STEP_R1
      Src: /src/mhd2/src/mhd2/md5_builtin.c:186,1
    - Dst: UINT32_C
      Src: /src/mhd2/src/mhd2/md5_builtin.c:186,1
    - Dst: MD5STEP_R1
      Src: /src/mhd2/src/mhd2/md5_builtin.c:187,1
    - Dst: UINT32_C
      Src: /src/mhd2/src/mhd2/md5_builtin.c:187,1
    - Dst: MD5STEP_R1
      Src: /src/mhd2/src/mhd2/md5_builtin.c:188,1
    - Dst: UINT32_C
      Src: /src/mhd2/src/mhd2/md5_builtin.c:188,1
    - Dst: MD5STEP_R1
      Src: /src/mhd2/src/mhd2/md5_builtin.c:189,1
    - Dst: UINT32_C
      Src: /src/mhd2/src/mhd2/md5_builtin.c:189,1
    - Dst: MD5STEP_R1
      Src: /src/mhd2/src/mhd2/md5_builtin.c:197,1
    - Dst: GET_X_FROM_DATA
      Src: /src/mhd2/src/mhd2/md5_builtin.c:197,1
    - Dst: UINT32_C
      Src: /src/mhd2/src/mhd2/md5_builtin.c:198,1
    - Dst: MD5STEP_R1
      Src: /src/mhd2/src/mhd2/md5_builtin.c:199,1
    - Dst: GET_X_FROM_DATA
      Src: /src/mhd2/src/mhd2/md5_builtin.c:199,1
    - Dst: UINT32_C
      Src: /src/mhd2/src/mhd2/md5_builtin.c:200,1
    - Dst: MD5STEP_R1
      Src: /src/mhd2/src/mhd2/md5_builtin.c:201,1
    - Dst: GET_X_FROM_DATA
      Src: /src/mhd2/src/mhd2/md5_builtin.c:201,1
    - Dst: UINT32_C
      Src: /src/mhd2/src/mhd2/md5_builtin.c:202,1
    - Dst: MD5STEP_R1
      Src: /src/mhd2/src/mhd2/md5_builtin.c:203,1
    - Dst: GET_X_FROM_DATA
      Src: /src/mhd2/src/mhd2/md5_builtin.c:203,1
    - Dst: UINT32_C
      Src: /src/mhd2/src/mhd2/md5_builtin.c:204,1
    - Dst: MD5STEP_R1
      Src: /src/mhd2/src/mhd2/md5_builtin.c:206,1
    - Dst: GET_X_FROM_DATA
      Src: /src/mhd2/src/mhd2/md5_builtin.c:206,1
    - Dst: UINT32_C
      Src: /src/mhd2/src/mhd2/md5_builtin.c:207,1
    - Dst: MD5STEP_R1
      Src: /src/mhd2/src/mhd2/md5_builtin.c:208,1
    - Dst: GET_X_FROM_DATA
      Src: /src/mhd2/src/mhd2/md5_builtin.c:208,1
    - Dst: UINT32_C
      Src: /src/mhd2/src/mhd2/md5_builtin.c:209,1
    - Dst: MD5STEP_R1
      Src: /src/mhd2/src/mhd2/md5_builtin.c:210,1
    - Dst: GET_X_FROM_DATA
      Src: /src/mhd2/src/mhd2/md5_builtin.c:210,1
    - Dst: UINT32_C
      Src: /src/mhd2/src/mhd2/md5_builtin.c:211,1
    - Dst: MD5STEP_R1
      Src: /src/mhd2/src/mhd2/md5_builtin.c:212,1
    - Dst: GET_X_FROM_DATA
      Src: /src/mhd2/src/mhd2/md5_builtin.c:212,1
    - Dst: UINT32_C
      Src: /src/mhd2/src/mhd2/md5_builtin.c:213,1
    - Dst: MD5STEP_R1
      Src: /src/mhd2/src/mhd2/md5_builtin.c:215,1
    - Dst: GET_X_FROM_DATA
      Src: /src/mhd2/src/mhd2/md5_builtin.c:215,1
    - Dst: UINT32_C
      Src: /src/mhd2/src/mhd2/md5_builtin.c:216,1
    - Dst: MD5STEP_R1
      Src: /src/mhd2/src/mhd2/md5_builtin.c:217,1
    - Dst: GET_X_FROM_DATA
      Src: /src/mhd2/src/mhd2/md5_builtin.c:217,1
    - Dst: UINT32_C
      Src: /src/mhd2/src/mhd2/md5_builtin.c:218,1
    - Dst: MD5STEP_R1
      Src: /src/mhd2/src/mhd2/md5_builtin.c:219,1
    - Dst: GET_X_FROM_DATA
      Src: /src/mhd2/src/mhd2/md5_builtin.c:219,1
    - Dst: UINT32_C
      Src: /src/mhd2/src/mhd2/md5_builtin.c:220,1
    - Dst: MD5STEP_R1
      Src: /src/mhd2/src/mhd2/md5_builtin.c:221,1
    - Dst: GET_X_FROM_DATA
      Src: /src/mhd2/src/mhd2/md5_builtin.c:221,1
    - Dst: UINT32_C
      Src: /src/mhd2/src/mhd2/md5_builtin.c:222,1
    - Dst: MD5STEP_R1
      Src: /src/mhd2/src/mhd2/md5_builtin.c:224,1
    - Dst: GET_X_FROM_DATA
      Src: /src/mhd2/src/mhd2/md5_builtin.c:224,1
    - Dst: UINT32_C
      Src: /src/mhd2/src/mhd2/md5_builtin.c:225,1
    - Dst: MD5STEP_R1
      Src: /src/mhd2/src/mhd2/md5_builtin.c:226,1
    - Dst: GET_X_FROM_DATA
      Src: /src/mhd2/src/mhd2/md5_builtin.c:226,1
    - Dst: UINT32_C
      Src: /src/mhd2/src/mhd2/md5_builtin.c:227,1
    - Dst: MD5STEP_R1
      Src: /src/mhd2/src/mhd2/md5_builtin.c:228,1
    - Dst: GET_X_FROM_DATA
      Src: /src/mhd2/src/mhd2/md5_builtin.c:228,1
    - Dst: UINT32_C
      Src: /src/mhd2/src/mhd2/md5_builtin.c:229,1
    - Dst: MD5STEP_R1
      Src: /src/mhd2/src/mhd2/md5_builtin.c:230,1
    - Dst: GET_X_FROM_DATA
      Src: /src/mhd2/src/mhd2/md5_builtin.c:230,1
    - Dst: UINT32_C
      Src: /src/mhd2/src/mhd2/md5_builtin.c:231,1
    - Dst: MD5STEP_R2
      Src: /src/mhd2/src/mhd2/md5_builtin.c:236,1
    - Dst: UINT32_C
      Src: /src/mhd2/src/mhd2/md5_builtin.c:236,1
    - Dst: MD5STEP_R2
      Src: /src/mhd2/src/mhd2/md5_builtin.c:237,1
    - Dst: UINT32_C
      Src: /src/mhd2/src/mhd2/md5_builtin.c:237,1
    - Dst: MD5STEP_R2
      Src: /src/mhd2/src/mhd2/md5_builtin.c:238,1
    - Dst: UINT32_C
      Src: /src/mhd2/src/mhd2/md5_builtin.c:238,1
    - Dst: MD5STEP_R2
      Src: /src/mhd2/src/mhd2/md5_builtin.c:239,1
    - Dst: UINT32_C
      Src: /src/mhd2/src/mhd2/md5_builtin.c:239,1
    - Dst: MD5STEP_R2
      Src: /src/mhd2/src/mhd2/md5_builtin.c:241,1
    - Dst: UINT32_C
      Src: /src/mhd2/src/mhd2/md5_builtin.c:241,1
    - Dst: MD5STEP_R2
      Src: /src/mhd2/src/mhd2/md5_builtin.c:242,1
    - Dst: UINT32_C
      Src: /src/mhd2/src/mhd2/md5_builtin.c:242,1
    - Dst: MD5STEP_R2
      Src: /src/mhd2/src/mhd2/md5_builtin.c:243,1
    - Dst: UINT32_C
      Src: /src/mhd2/src/mhd2/md5_builtin.c:243,1
    - Dst: MD5STEP_R2
      Src: /src/mhd2/src/mhd2/md5_builtin.c:244,1
    - Dst: UINT32_C
      Src: /src/mhd2/src/mhd2/md5_builtin.c:244,1
    - Dst: MD5STEP_R2
      Src: /src/mhd2/src/mhd2/md5_builtin.c:246,1
    - Dst: UINT32_C
      Src: /src/mhd2/src/mhd2/md5_builtin.c:246,1
    - Dst: MD5STEP_R2
      Src: /src/mhd2/src/mhd2/md5_builtin.c:247,1
    - Dst: UINT32_C
      Src: /src/mhd2/src/mhd2/md5_builtin.c:247,1
    - Dst: MD5STEP_R2
      Src: /src/mhd2/src/mhd2/md5_builtin.c:248,1
    - Dst: UINT32_C
      Src: /src/mhd2/src/mhd2/md5_builtin.c:248,1
    - Dst: MD5STEP_R2
      Src: /src/mhd2/src/mhd2/md5_builtin.c:249,1
    - Dst: UINT32_C
      Src: /src/mhd2/src/mhd2/md5_builtin.c:249,1
    - Dst: MD5STEP_R2
      Src: /src/mhd2/src/mhd2/md5_builtin.c:251,1
    - Dst: UINT32_C
      Src: /src/mhd2/src/mhd2/md5_builtin.c:251,1
    - Dst: MD5STEP_R2
      Src: /src/mhd2/src/mhd2/md5_builtin.c:252,1
    - Dst: UINT32_C
      Src: /src/mhd2/src/mhd2/md5_builtin.c:252,1
    - Dst: MD5STEP_R2
      Src: /src/mhd2/src/mhd2/md5_builtin.c:253,1
    - Dst: UINT32_C
      Src: /src/mhd2/src/mhd2/md5_builtin.c:253,1
    - Dst: MD5STEP_R2
      Src: /src/mhd2/src/mhd2/md5_builtin.c:254,1
    - Dst: UINT32_C
      Src: /src/mhd2/src/mhd2/md5_builtin.c:254,1
    - Dst: MD5STEP_R3
      Src: /src/mhd2/src/mhd2/md5_builtin.c:258,1
    - Dst: UINT32_C
      Src: /src/mhd2/src/mhd2/md5_builtin.c:258,1
    - Dst: MD5STEP_R3
      Src: /src/mhd2/src/mhd2/md5_builtin.c:259,1
    - Dst: UINT32_C
      Src: /src/mhd2/src/mhd2/md5_builtin.c:259,1
    - Dst: MD5STEP_R3
      Src: /src/mhd2/src/mhd2/md5_builtin.c:260,1
    - Dst: UINT32_C
      Src: /src/mhd2/src/mhd2/md5_builtin.c:260,1
    - Dst: MD5STEP_R3
      Src: /src/mhd2/src/mhd2/md5_builtin.c:261,1
    - Dst: UINT32_C
      Src: /src/mhd2/src/mhd2/md5_builtin.c:261,1
    - Dst: MD5STEP_R3
      Src: /src/mhd2/src/mhd2/md5_builtin.c:263,1
    - Dst: UINT32_C
      Src: /src/mhd2/src/mhd2/md5_builtin.c:263,1
    - Dst: MD5STEP_R3
      Src: /src/mhd2/src/mhd2/md5_builtin.c:264,1
    - Dst: UINT32_C
      Src: /src/mhd2/src/mhd2/md5_builtin.c:264,1
    - Dst: MD5STEP_R3
      Src: /src/mhd2/src/mhd2/md5_builtin.c:265,1
    - Dst: UINT32_C
      Src: /src/mhd2/src/mhd2/md5_builtin.c:265,1
    - Dst: MD5STEP_R3
      Src: /src/mhd2/src/mhd2/md5_builtin.c:266,1
    - Dst: UINT32_C
      Src: /src/mhd2/src/mhd2/md5_builtin.c:266,1
    - Dst: MD5STEP_R3
      Src: /src/mhd2/src/mhd2/md5_builtin.c:268,1
    - Dst: UINT32_C
      Src: /src/mhd2/src/mhd2/md5_builtin.c:268,1
    - Dst: MD5STEP_R3
      Src: /src/mhd2/src/mhd2/md5_builtin.c:269,1
    - Dst: UINT32_C
      Src: /src/mhd2/src/mhd2/md5_builtin.c:269,1
    - Dst: MD5STEP_R3
      Src: /src/mhd2/src/mhd2/md5_builtin.c:270,1
    - Dst: UINT32_C
      Src: /src/mhd2/src/mhd2/md5_builtin.c:270,1
    - Dst: MD5STEP_R3
      Src: /src/mhd2/src/mhd2/md5_builtin.c:271,1
    - Dst: UINT32_C
      Src: /src/mhd2/src/mhd2/md5_builtin.c:271,1
    - Dst: MD5STEP_R3
      Src: /src/mhd2/src/mhd2/md5_builtin.c:273,1
    - Dst: UINT32_C
      Src: /src/mhd2/src/mhd2/md5_builtin.c:273,1
    - Dst: MD5STEP_R3
      Src: /src/mhd2/src/mhd2/md5_builtin.c:274,1
    - Dst: UINT32_C
      Src: /src/mhd2/src/mhd2/md5_builtin.c:274,1
    - Dst: MD5STEP_R3
      Src: /src/mhd2/src/mhd2/md5_builtin.c:275,1
    - Dst: UINT32_C
      Src: /src/mhd2/src/mhd2/md5_builtin.c:275,1
    - Dst: MD5STEP_R3
      Src: /src/mhd2/src/mhd2/md5_builtin.c:276,1
    - Dst: UINT32_C
      Src: /src/mhd2/src/mhd2/md5_builtin.c:276,1
    - Dst: MD5STEP_R4
      Src: /src/mhd2/src/mhd2/md5_builtin.c:280,1
    - Dst: UINT32_C
      Src: /src/mhd2/src/mhd2/md5_builtin.c:280,1
    - Dst: MD5STEP_R4
      Src: /src/mhd2/src/mhd2/md5_builtin.c:281,1
    - Dst: UINT32_C
      Src: /src/mhd2/src/mhd2/md5_builtin.c:281,1
    - Dst: MD5STEP_R4
      Src: /src/mhd2/src/mhd2/md5_builtin.c:282,1
    - Dst: UINT32_C
      Src: /src/mhd2/src/mhd2/md5_builtin.c:282,1
    - Dst: MD5STEP_R4
      Src: /src/mhd2/src/mhd2/md5_builtin.c:283,1
    - Dst: UINT32_C
      Src: /src/mhd2/src/mhd2/md5_builtin.c:283,1
    - Dst: MD5STEP_R4
      Src: /src/mhd2/src/mhd2/md5_builtin.c:285,1
    - Dst: UINT32_C
      Src: /src/mhd2/src/mhd2/md5_builtin.c:285,1
    - Dst: MD5STEP_R4
      Src: /src/mhd2/src/mhd2/md5_builtin.c:286,1
    - Dst: UINT32_C
      Src: /src/mhd2/src/mhd2/md5_builtin.c:286,1
    - Dst: MD5STEP_R4
      Src: /src/mhd2/src/mhd2/md5_builtin.c:287,1
    - Dst: UINT32_C
      Src: /src/mhd2/src/mhd2/md5_builtin.c:287,1
    - Dst: MD5STEP_R4
      Src: /src/mhd2/src/mhd2/md5_builtin.c:288,1
    - Dst: UINT32_C
      Src: /src/mhd2/src/mhd2/md5_builtin.c:288,1
    - Dst: MD5STEP_R4
      Src: /src/mhd2/src/mhd2/md5_builtin.c:290,1
    - Dst: UINT32_C
      Src: /src/mhd2/src/mhd2/md5_builtin.c:290,1
    - Dst: MD5STEP_R4
      Src: /src/mhd2/src/mhd2/md5_builtin.c:291,1
    - Dst: UINT32_C
      Src: /src/mhd2/src/mhd2/md5_builtin.c:291,1
    - Dst: MD5STEP_R4
      Src: /src/mhd2/src/mhd2/md5_builtin.c:292,1
    - Dst: UINT32_C
      Src: /src/mhd2/src/mhd2/md5_builtin.c:292,1
    - Dst: MD5STEP_R4
      Src: /src/mhd2/src/mhd2/md5_builtin.c:293,1
    - Dst: UINT32_C
      Src: /src/mhd2/src/mhd2/md5_builtin.c:293,1
    - Dst: MD5STEP_R4
      Src: /src/mhd2/src/mhd2/md5_builtin.c:295,1
    - Dst: UINT32_C
      Src: /src/mhd2/src/mhd2/md5_builtin.c:295,1
    - Dst: MD5STEP_R4
      Src: /src/mhd2/src/mhd2/md5_builtin.c:296,1
    - Dst: UINT32_C
      Src: /src/mhd2/src/mhd2/md5_builtin.c:296,1
    - Dst: MD5STEP_R4
      Src: /src/mhd2/src/mhd2/md5_builtin.c:297,1
    - Dst: UINT32_C
      Src: /src/mhd2/src/mhd2/md5_builtin.c:297,1
    - Dst: MD5STEP_R4
      Src: /src/mhd2/src/mhd2/md5_builtin.c:298,1
    - Dst: UINT32_C
      Src: /src/mhd2/src/mhd2/md5_builtin.c:298,1
    - Dst: UINT32_C
      Src: /src/mhd2/src/mhd2/md5_builtin.c:303,1
    - Dst: UINT32_C
      Src: /src/mhd2/src/mhd2/md5_builtin.c:303,1
    - Dst: UINT32_C
      Src: /src/mhd2/src/mhd2/md5_builtin.c:303,1
    - Dst: UINT32_C
      Src: /src/mhd2/src/mhd2/md5_builtin.c:304,1
    - Dst: UINT32_C
      Src: /src/mhd2/src/mhd2/md5_builtin.c:304,1
    - Dst: UINT32_C
      Src: /src/mhd2/src/mhd2/md5_builtin.c:304,1
    - Dst: UINT32_C
      Src: /src/mhd2/src/mhd2/md5_builtin.c:305,1
    - Dst: UINT32_C
      Src: /src/mhd2/src/mhd2/md5_builtin.c:305,1
    - Dst: UINT32_C
      Src: /src/mhd2/src/mhd2/md5_builtin.c:305,1
    - Dst: UINT32_C
      Src: /src/mhd2/src/mhd2/md5_builtin.c:306,1
    - Dst: UINT32_C
      Src: /src/mhd2/src/mhd2/md5_builtin.c:306,1
    - Dst: UINT32_C
      Src: /src/mhd2/src/mhd2/md5_builtin.c:306,1
    - Dst: UINT32_C
      Src: /src/mhd2/src/mhd2/md5_builtin.c:307,1
    - Dst: UINT32_C
      Src: /src/mhd2/src/mhd2/md5_builtin.c:307,1
    - Dst: UINT32_C
      Src: /src/mhd2/src/mhd2/md5_builtin.c:307,1
    - Dst: UINT32_C
      Src: /src/mhd2/src/mhd2/md5_builtin.c:308,1
    - Dst: UINT32_C
      Src: /src/mhd2/src/mhd2/md5_builtin.c:308,1
    - Dst: UINT32_C
      Src: /src/mhd2/src/mhd2/md5_builtin.c:308,1
    - Dst: UINT32_C
      Src: /src/mhd2/src/mhd2/md5_builtin.c:309,1
    - Dst: UINT32_C
      Src: /src/mhd2/src/mhd2/md5_builtin.c:309,1
    - Dst: UINT32_C
      Src: /src/mhd2/src/mhd2/md5_builtin.c:309,1
    - Dst: UINT32_C
      Src: /src/mhd2/src/mhd2/md5_builtin.c:310,1
    - Dst: UINT32_C
      Src: /src/mhd2/src/mhd2/md5_builtin.c:310,1
    - Dst: UINT32_C
      Src: /src/mhd2/src/mhd2/md5_builtin.c:310,1
    - Dst: UINT32_C
      Src: /src/mhd2/src/mhd2/md5_builtin.c:311,1
    - Dst: UINT32_C
      Src: /src/mhd2/src/mhd2/md5_builtin.c:311,1
    - Dst: UINT32_C
      Src: /src/mhd2/src/mhd2/md5_builtin.c:311,1
    - Dst: UINT32_C
      Src: /src/mhd2/src/mhd2/md5_builtin.c:312,1
    - Dst: UINT32_C
      Src: /src/mhd2/src/mhd2/md5_builtin.c:312,1
    - Dst: UINT32_C
      Src: /src/mhd2/src/mhd2/md5_builtin.c:312,1
    - Dst: UINT32_C
      Src: /src/mhd2/src/mhd2/md5_builtin.c:313,1
    - Dst: UINT32_C
      Src: /src/mhd2/src/mhd2/md5_builtin.c:313,1
    - Dst: UINT32_C
      Src: /src/mhd2/src/mhd2/md5_builtin.c:313,1
    - Dst: UINT32_C
      Src: /src/mhd2/src/mhd2/md5_builtin.c:314,1
    - Dst: UINT32_C
      Src: /src/mhd2/src/mhd2/md5_builtin.c:314,1
    - Dst: UINT32_C
      Src: /src/mhd2/src/mhd2/md5_builtin.c:314,1
    - Dst: UINT32_C
      Src: /src/mhd2/src/mhd2/md5_builtin.c:315,1
    - Dst: UINT32_C
      Src: /src/mhd2/src/mhd2/md5_builtin.c:315,1
    - Dst: UINT32_C
      Src: /src/mhd2/src/mhd2/md5_builtin.c:315,1
    - Dst: UINT32_C
      Src: /src/mhd2/src/mhd2/md5_builtin.c:316,1
    - Dst: UINT32_C
      Src: /src/mhd2/src/mhd2/md5_builtin.c:316,1
    - Dst: UINT32_C
      Src: /src/mhd2/src/mhd2/md5_builtin.c:316,1
    - Dst: UINT32_C
      Src: /src/mhd2/src/mhd2/md5_builtin.c:317,1
    - Dst: UINT32_C
      Src: /src/mhd2/src/mhd2/md5_builtin.c:317,1
    - Dst: UINT32_C
      Src: /src/mhd2/src/mhd2/md5_builtin.c:317,1
    - Dst: UINT32_C
      Src: /src/mhd2/src/mhd2/md5_builtin.c:318,1
    - Dst: UINT32_C
      Src: /src/mhd2/src/mhd2/md5_builtin.c:318,1
    - Dst: UINT32_C
      Src: /src/mhd2/src/mhd2/md5_builtin.c:318,1
    - Dst: UINT32_C
      Src: /src/mhd2/src/mhd2/md5_builtin.c:319,1
    - Dst: UINT32_C
      Src: /src/mhd2/src/mhd2/md5_builtin.c:319,1
    - Dst: UINT32_C
      Src: /src/mhd2/src/mhd2/md5_builtin.c:319,1
    - Dst: UINT32_C
      Src: /src/mhd2/src/mhd2/md5_builtin.c:320,1
    - Dst: UINT32_C
      Src: /src/mhd2/src/mhd2/md5_builtin.c:320,1
    - Dst: UINT32_C
      Src: /src/mhd2/src/mhd2/md5_builtin.c:320,1
    - Dst: UINT32_C
      Src: /src/mhd2/src/mhd2/md5_builtin.c:321,1
    - Dst: UINT32_C
      Src: /src/mhd2/src/mhd2/md5_builtin.c:321,1
    - Dst: UINT32_C
      Src: /src/mhd2/src/mhd2/md5_builtin.c:321,1
    - Dst: UINT32_C
      Src: /src/mhd2/src/mhd2/md5_builtin.c:322,1
    - Dst: UINT32_C
      Src: /src/mhd2/src/mhd2/md5_builtin.c:322,1
    - Dst: UINT32_C
      Src: /src/mhd2/src/mhd2/md5_builtin.c:322,1
    - Dst: UINT32_C
      Src: /src/mhd2/src/mhd2/md5_builtin.c:323,1
    - Dst: UINT32_C
      Src: /src/mhd2/src/mhd2/md5_builtin.c:323,1
    - Dst: UINT32_C
      Src: /src/mhd2/src/mhd2/md5_builtin.c:323,1
    - Dst: UINT32_C
      Src: /src/mhd2/src/mhd2/md5_builtin.c:324,1
    - Dst: MD5STEP_R1
      Src: /src/mhd2/src/mhd2/md5_builtin.c:334,1
    - Dst: GET_X_FROM_DATA
      Src: /src/mhd2/src/mhd2/md5_builtin.c:334,1
    - Dst: MD5STEP_R1
      Src: /src/mhd2/src/mhd2/md5_builtin.c:336,1
    - Dst: GET_X_FROM_DATA
      Src: /src/mhd2/src/mhd2/md5_builtin.c:336,1
    - Dst: MD5STEP_R1
      Src: /src/mhd2/src/mhd2/md5_builtin.c:338,1
    - Dst: GET_X_FROM_DATA
      Src: /src/mhd2/src/mhd2/md5_builtin.c:338,1
    - Dst: MD5STEP_R1
      Src: /src/mhd2/src/mhd2/md5_builtin.c:340,1
    - Dst: GET_X_FROM_DATA
      Src: /src/mhd2/src/mhd2/md5_builtin.c:340,1
    - Dst: MD5STEP_R2
      Src: /src/mhd2/src/mhd2/md5_builtin.c:349,1
    - Dst: MD5STEP_R2
      Src: /src/mhd2/src/mhd2/md5_builtin.c:351,1
    - Dst: MD5STEP_R2
      Src: /src/mhd2/src/mhd2/md5_builtin.c:353,1
    - Dst: MD5STEP_R2
      Src: /src/mhd2/src/mhd2/md5_builtin.c:355,1
    - Dst: MD5STEP_R3
      Src: /src/mhd2/src/mhd2/md5_builtin.c:364,1
    - Dst: MD5STEP_R3
      Src: /src/mhd2/src/mhd2/md5_builtin.c:366,1
    - Dst: MD5STEP_R3
      Src: /src/mhd2/src/mhd2/md5_builtin.c:368,1
    - Dst: MD5STEP_R3
      Src: /src/mhd2/src/mhd2/md5_builtin.c:370,1
    - Dst: MD5STEP_R4
      Src: /src/mhd2/src/mhd2/md5_builtin.c:379,1
    - Dst: MD5STEP_R4
      Src: /src/mhd2/src/mhd2/md5_builtin.c:381,1
    - Dst: MD5STEP_R4
      Src: /src/mhd2/src/mhd2/md5_builtin.c:383,1
    - Dst: MD5STEP_R4
      Src: /src/mhd2/src/mhd2/md5_builtin.c:385,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 136
    argCount: 2
    argNames:
    - H
    - M
    argTypes:
    - uint32_t[]
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 398
      start: 73
    functionDepth: 1
    functionLinenumber: 73
    functionLinenumberEnd: 398
    functionName: md5_transform
    functionSourceFile: /src/mhd2/src/mhd2/md5_builtin.c
    functionUses: 0
    functionsReached:
    - MD5STEP_R2
    - MD5STEP_R1
    - GET_X_FROM_DATA
    - MD5STEP_R3
    - UINT32_C
    - MD5STEP_R4
    - memcpy
    linkageType: ''
    returnType: mhd_DATA_TRUNCATION_RUNTIME_CHECK_DISABLE
    signature: "mhd_DATA_TRUNCATION_RUNTIME_CHECK_DISABLE md5_transform (uint32_t
      H[mhd_MD5_HASH_SIZE_WORDS],\n               const void *restrict M)"
  - 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: 111
      start: 110
    functionDepth: 0
    functionLinenumber: 110
    functionLinenumberEnd: 111
    functionName: F_FUNC
    functionSourceFile: /src/mhd2/src/mhd2/md5_builtin.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: F_FUNC(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: 115
      start: 114
    functionDepth: 0
    functionLinenumber: 114
    functionLinenumberEnd: 115
    functionName: G_FUNC_1
    functionSourceFile: /src/mhd2/src/mhd2/md5_builtin.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: G_FUNC_1(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: 115
    functionDepth: 0
    functionLinenumber: 115
    functionLinenumberEnd: 116
    functionName: G_FUNC_2
    functionSourceFile: /src/mhd2/src/mhd2/md5_builtin.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: G_FUNC_2(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: 118
      start: 117
    functionDepth: 0
    functionLinenumber: 117
    functionLinenumberEnd: 118
    functionName: G_FUNC_1
    functionSourceFile: /src/mhd2/src/mhd2/md5_builtin.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: G_FUNC_1(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: 118
    functionDepth: 0
    functionLinenumber: 118
    functionLinenumberEnd: 119
    functionName: G_FUNC_2
    functionSourceFile: /src/mhd2/src/mhd2/md5_builtin.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: G_FUNC_2(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: 121
      start: 120
    functionDepth: 0
    functionLinenumber: 120
    functionLinenumberEnd: 121
    functionName: H_FUNC
    functionSourceFile: /src/mhd2/src/mhd2/md5_builtin.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: H_FUNC(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: 123
      start: 122
    functionDepth: 0
    functionLinenumber: 122
    functionLinenumberEnd: 123
    functionName: I_FUNC
    functionSourceFile: /src/mhd2/src/mhd2/md5_builtin.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: I_FUNC(x, y, z)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 15
    argNames:
    - (
    - va
    - ','
    - vb
    - ','
    - vc
    - ','
    - vd
    - ','
    - vX
    - ','
    - vs
    - ','
    - vT
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 131
      start: 127
    functionDepth: 0
    functionLinenumber: 127
    functionLinenumberEnd: 131
    functionName: MD5STEP_R1
    functionSourceFile: /src/mhd2/src/mhd2/md5_builtin.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: MD5STEP_R1(va, vb, vc, vd, vX, vs, vT)
  - 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: 136
      start: 134
    functionDepth: 0
    functionLinenumber: 134
    functionLinenumberEnd: 136
    functionName: GET_X_FROM_DATA
    functionSourceFile: /src/mhd2/src/mhd2/md5_builtin.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: GET_X_FROM_DATA(buf, t)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 15
    argNames:
    - (
    - va
    - ','
    - vb
    - ','
    - vc
    - ','
    - vd
    - ','
    - vX
    - ','
    - vs
    - ','
    - vT
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 145
      start: 140
    functionDepth: 0
    functionLinenumber: 140
    functionLinenumberEnd: 145
    functionName: MD5STEP_R2
    functionSourceFile: /src/mhd2/src/mhd2/md5_builtin.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: MD5STEP_R2(va, vb, vc, vd, vX, vs, vT)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 15
    argNames:
    - (
    - va
    - ','
    - vb
    - ','
    - vc
    - ','
    - vd
    - ','
    - vX
    - ','
    - vs
    - ','
    - vT
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 153
      start: 149
    functionDepth: 0
    functionLinenumber: 149
    functionLinenumberEnd: 153
    functionName: MD5STEP_R3
    functionSourceFile: /src/mhd2/src/mhd2/md5_builtin.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: MD5STEP_R3(va, vb, vc, vd, vX, vs, vT)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 15
    argNames:
    - (
    - va
    - ','
    - vb
    - ','
    - vc
    - ','
    - vd
    - ','
    - vX
    - ','
    - vs
    - ','
    - vT
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 161
      start: 157
    functionDepth: 0
    functionLinenumber: 157
    functionLinenumberEnd: 161
    functionName: MD5STEP_R4
    functionSourceFile: /src/mhd2/src/mhd2/md5_builtin.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: MD5STEP_R4(va, vb, vc, vd, vX, vs, vT)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/md5_builtin.c:415,1
    - Dst: memcpy
      Src: /src/mhd2/src/mhd2/md5_builtin.c:430,1
    - Dst: md5_transform
      Src: /src/mhd2/src/mhd2/md5_builtin.c:435,1
    - Dst: md5_transform
      Src: /src/mhd2/src/mhd2/md5_builtin.c:443,1
    - Dst: memcpy
      Src: /src/mhd2/src/mhd2/md5_builtin.c:451,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 22
    argCount: 3
    argNames:
    - ctx
    - size
    - data
    argTypes:
    - struct mhd_Md5CtxBlti*
    - size_t
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 453
      start: 402
    functionDepth: 2
    functionLinenumber: 402
    functionLinenumberEnd: 453
    functionName: mhd_MD5_blti_update
    functionSourceFile: /src/mhd2/src/mhd2/md5_builtin.c
    functionUses: 0
    functionsReached:
    - md5_transform
    - mhd_assert
    - memcpy
    linkageType: ''
    returnType: void
    signature: "void mhd_MD5_blti_update (struct mhd_Md5CtxBlti *restrict ctx,\n                     size_t
      size,\n                     const void *restrict data)"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: MHD_FN_PAR_FIX_ARR_SIZE_
      Src: /src/mhd2/src/mhd2/md5_builtin.c:471,1
    - Dst: memset
      Src: /src/mhd2/src/mhd2/md5_builtin.c:500,1
    - Dst: md5_transform
      Src: /src/mhd2/src/mhd2/md5_builtin.c:503,1
    - Dst: memset
      Src: /src/mhd2/src/mhd2/md5_builtin.c:509,1
    - Dst: mhd_PUT_64BIT_LE_UNALIGN
      Src: /src/mhd2/src/mhd2/md5_builtin.c:513,1
    - Dst: md5_transform
      Src: /src/mhd2/src/mhd2/md5_builtin.c:516,1
    - Dst: mhd_PUT_32BIT_LE
      Src: /src/mhd2/src/mhd2/md5_builtin.c:539,1
    - Dst: mhd_PUT_32BIT_LE
      Src: /src/mhd2/src/mhd2/md5_builtin.c:540,1
    - Dst: mhd_PUT_32BIT_LE
      Src: /src/mhd2/src/mhd2/md5_builtin.c:541,1
    - Dst: mhd_PUT_32BIT_LE
      Src: /src/mhd2/src/mhd2/md5_builtin.c:542,1
    - Dst: memcpy
      Src: /src/mhd2/src/mhd2/md5_builtin.c:544,1
    - Dst: mhd_PUT_32BIT_LE
      Src: /src/mhd2/src/mhd2/md5_builtin.c:550,1
    - Dst: mhd_PUT_32BIT_LE
      Src: /src/mhd2/src/mhd2/md5_builtin.c:552,1
    - Dst: mhd_PUT_32BIT_LE
      Src: /src/mhd2/src/mhd2/md5_builtin.c:554,1
    - Dst: mhd_PUT_32BIT_LE
      Src: /src/mhd2/src/mhd2/md5_builtin.c:556,1
    - Dst: memset
      Src: /src/mhd2/src/mhd2/md5_builtin.c:562,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 31
    argCount: 2
    argNames:
    - ctx
    - digest
    argTypes:
    - struct mhd_Md5CtxBlti*
    - uint8_t[]
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 563
      start: 468
    functionDepth: 2
    functionLinenumber: 468
    functionLinenumberEnd: 563
    functionName: mhd_MD5_blti_finish
    functionSourceFile: /src/mhd2/src/mhd2/md5_builtin.c
    functionUses: 0
    functionsReached:
    - mhd_PUT_32BIT_LE
    - memcpy
    - MHD_FN_PAR_FIX_ARR_SIZE_
    - md5_transform
    - memset
    - mhd_PUT_64BIT_LE_UNALIGN
    linkageType: ''
    returnType: void
    signature: "void mhd_MD5_blti_finish (\n  struct mhd_Md5CtxBlti *restrict ctx,\n
      \ uint8_t digest[MHD_FN_PAR_FIX_ARR_SIZE_ (mhd_MD5_DIGEST_SIZE)])"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - sstr
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 55
      start: 54
    functionDepth: 0
    functionLinenumber: 54
    functionLinenumberEnd: 55
    functionName: mhd_SSTR_LEN
    functionSourceFile: /src/mhd2/src/mhd2/mhd_str_macros.h
    functionUses: 9
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: mhd_SSTR_LEN(sstr)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - sstr
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 60
      start: 59
    functionDepth: 0
    functionLinenumber: 59
    functionLinenumberEnd: 60
    functionName: mhd_MSTR_INIT
    functionSourceFile: /src/mhd2/src/mhd2/mhd_str_macros.h
    functionUses: 8
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: mhd_MSTR_INIT(sstr)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/mhd_tls_common.c:70,1
    - Dst: mhd_tls_gnu_is_inited_fine
      Src: /src/mhd2/src/mhd2/mhd_tls_common.c:72,1
    - Dst: mhd_tls_open_is_inited_fine
      Src: /src/mhd2/src/mhd2/mhd_tls_common.c:73,1
    - Dst: mhd_tls_mbed_is_inited_fine
      Src: /src/mhd2/src/mhd2/mhd_tls_common.c:74,1
    - Dst: mhd_tls_gnu_is_inited_fine
      Src: /src/mhd2/src/mhd2/mhd_tls_common.c:79,1
    - Dst: mhd_tls_open_is_inited_fine
      Src: /src/mhd2/src/mhd2/mhd_tls_common.c:85,1
    - Dst: mhd_tls_mbed_is_inited_fine
      Src: /src/mhd2/src/mhd2/mhd_tls_common.c:91,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 11
    argCount: 1
    argNames:
    - s
    argTypes:
    - struct DaemonOptions*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 96
      start: 67
    functionDepth: 1
    functionLinenumber: 67
    functionLinenumberEnd: 96
    functionName: mhd_tls_is_backend_available
    functionSourceFile: /src/mhd2/src/mhd2/mhd_tls_common.c
    functionUses: 0
    functionsReached:
    - mhd_tls_mbed_is_inited_fine
    - mhd_tls_open_is_inited_fine
    - mhd_assert
    - mhd_tls_gnu_is_inited_fine
    linkageType: ''
    returnType: enum mhd_TlsBackendAvailable
    signature: enum mhd_TlsBackendAvailable mhd_tls_is_backend_available (struct DaemonOptions
      *s)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 11
    argNames:
    - (
    - fd_n
    - ','
    - fd
    - ','
    - r_ready
    - ','
    - w_ready
    - ','
    - e_ready
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 94
      start: 92
    functionDepth: 0
    functionLinenumber: 92
    functionLinenumberEnd: 94
    functionName: mhd_dbg_print_fd_mon_req
    functionSourceFile: /src/mhd2/src/mhd2/mhd_dbg_print.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: mhd_dbg_print_fd_mon_req(fd_n, fd, r_ready, w_ready, e_ready)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - fd_name
    - ','
    - ke
    - ','
    - update_req
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 96
      start: 95
    functionDepth: 0
    functionLinenumber: 95
    functionLinenumberEnd: 96
    functionName: mhd_dbg_print_kevent
    functionSourceFile: /src/mhd2/src/mhd2/mhd_dbg_print.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: mhd_dbg_print_kevent(fd_name, ke, update_req)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - fd_name
    - ','
    - ke
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 107
      start: 105
    functionDepth: 0
    functionLinenumber: 105
    functionLinenumberEnd: 107
    functionName: mhd_dbg_print_kevent_change
    functionSourceFile: /src/mhd2/src/mhd2/mhd_dbg_print.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: mhd_dbg_print_kevent_change(fd_name, ke)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - fd_name
    - ','
    - ke
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 115
      start: 113
    functionDepth: 0
    functionLinenumber: 113
    functionLinenumberEnd: 115
    functionName: mhd_dbg_print_kevent_report
    functionSourceFile: /src/mhd2/src/mhd2/mhd_dbg_print.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: mhd_dbg_print_kevent_report(fd_name, ke)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 2
    argNames:
    - (
    - )
    argTypes:
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 65
      start: 64
    functionDepth: 0
    functionLinenumber: 64
    functionLinenumberEnd: 65
    functionName: mhd_UNREACHABLE
    functionSourceFile: /src/mhd2/src/mhd2/mhd_unreachable.h
    functionUses: 44
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: mhd_UNREACHABLE()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - descr
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 66
      start: 65
    functionDepth: 0
    functionLinenumber: 65
    functionLinenumberEnd: 66
    functionName: mhd_UNREACHABLE_D
    functionSourceFile: /src/mhd2/src/mhd2/mhd_unreachable.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: mhd_UNREACHABLE_D(descr)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 2
    argNames:
    - (
    - )
    argTypes:
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 68
      start: 67
    functionDepth: 0
    functionLinenumber: 67
    functionLinenumberEnd: 68
    functionName: mhd_UNREACHABLE
    functionSourceFile: /src/mhd2/src/mhd2/mhd_unreachable.h
    functionUses: 44
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: mhd_UNREACHABLE()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - descr
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 69
      start: 68
    functionDepth: 0
    functionLinenumber: 68
    functionLinenumberEnd: 69
    functionName: mhd_UNREACHABLE_D
    functionSourceFile: /src/mhd2/src/mhd2/mhd_unreachable.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: mhd_UNREACHABLE_D(descr)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 2
    argNames:
    - (
    - )
    argTypes:
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 73
      start: 71
    functionDepth: 0
    functionLinenumber: 71
    functionLinenumberEnd: 73
    functionName: mhd_UNREACHABLE
    functionSourceFile: /src/mhd2/src/mhd2/mhd_unreachable.h
    functionUses: 44
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: mhd_UNREACHABLE()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - descr
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 75
      start: 73
    functionDepth: 0
    functionLinenumber: 73
    functionLinenumberEnd: 75
    functionName: mhd_UNREACHABLE_D
    functionSourceFile: /src/mhd2/src/mhd2/mhd_unreachable.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: mhd_UNREACHABLE_D(descr)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: mhd_pool_try_alloc
      Src: /src/mhd2/src/mhd2/stream_funcs.c:98,1
    - Dst: mhd_pool_is_resizable_inplace
      Src: /src/mhd2/src/mhd2/stream_funcs.c:104,1
    - Dst: mhd_pool_reallocate
      Src: /src/mhd2/src/mhd2/stream_funcs.c:113,1
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/stream_funcs.c:117,1
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/stream_funcs.c:118,1
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/stream_funcs.c:119,1
    - Dst: mhd_pool_is_resizable_inplace
      Src: /src/mhd2/src/mhd2/stream_funcs.c:126,1
    - Dst: mhd_pool_reallocate
      Src: /src/mhd2/src/mhd2/stream_funcs.c:134,1
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/stream_funcs.c:138,1
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/stream_funcs.c:139,1
    - Dst: mhd_pool_allocate
      Src: /src/mhd2/src/mhd2/stream_funcs.c:148,1
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/stream_funcs.c:149,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 29
    argCount: 2
    argNames:
    - c
    - size
    argTypes:
    - struct MHD_Connection*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 151
      start: 90
    functionDepth: 2
    functionLinenumber: 90
    functionLinenumberEnd: 151
    functionName: mhd_stream_alloc_memory
    functionSourceFile: /src/mhd2/src/mhd2/stream_funcs.c
    functionUses: 7
    functionsReached:
    - mhd_pool_allocate
    - mhd_pool_is_resizable_inplace
    - mhd_pool_try_alloc
    - mhd_assert
    - mhd_pool_reallocate
    linkageType: ''
    returnType: MHD_INTERNAL
    signature: "MHD_INTERNAL *\nmhd_stream_alloc_memory (struct MHD_Connection *restrict
      c,\n                         size_t size)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/stream_funcs.c:165,1
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/stream_funcs.c:166,1
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/stream_funcs.c:170,1
    - Dst: mhd_pool_deallocate
      Src: /src/mhd2/src/mhd2/stream_funcs.c:173,1
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/stream_funcs.c:179,1
    - Dst: mhd_pool_is_resizable_inplace
      Src: /src/mhd2/src/mhd2/stream_funcs.c:179,1
    - Dst: mhd_pool_reallocate
      Src: /src/mhd2/src/mhd2/stream_funcs.c:181,1
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/stream_funcs.c:183,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 18
    argCount: 1
    argNames:
    - c
    argTypes:
    - struct MHD_Connection*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 187
      start: 158
    functionDepth: 2
    functionLinenumber: 158
    functionLinenumberEnd: 187
    functionName: mhd_stream_shrink_read_buffer
    functionSourceFile: /src/mhd2/src/mhd2/stream_funcs.c
    functionUses: 1
    functionsReached:
    - mhd_pool_deallocate
    - mhd_assert
    - mhd_pool_reallocate
    - mhd_pool_is_resizable_inplace
    linkageType: ''
    returnType: MHD_INTERNAL
    signature: MHD_INTERNAL mhd_stream_shrink_read_buffer (struct MHD_Connection *restrict
      c)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/stream_funcs.c:198,1
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/stream_funcs.c:199,1
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/stream_funcs.c:200,1
    - Dst: mhd_pool_get_free
      Src: /src/mhd2/src/mhd2/stream_funcs.c:202,1
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/stream_funcs.c:210,1
    - Dst: mhd_pool_is_resizable_inplace
      Src: /src/mhd2/src/mhd2/stream_funcs.c:211,1
    - Dst: mhd_pool_reallocate
      Src: /src/mhd2/src/mhd2/stream_funcs.c:213,1
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/stream_funcs.c:217,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 18
    argCount: 1
    argNames:
    - c
    argTypes:
    - struct MHD_Connection*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 229
      start: 190
    functionDepth: 2
    functionLinenumber: 190
    functionLinenumberEnd: 229
    functionName: mhd_stream_maximize_write_buffer
    functionSourceFile: /src/mhd2/src/mhd2/stream_funcs.c
    functionUses: 3
    functionsReached:
    - mhd_pool_get_free
    - mhd_assert
    - mhd_pool_reallocate
    - mhd_pool_is_resizable_inplace
    linkageType: ''
    returnType: MHD_INTERNAL
    signature: MHD_INTERNAL mhd_stream_maximize_write_buffer (struct MHD_Connection
      *restrict c)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/stream_funcs.c:237,1
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/stream_funcs.c:238,1
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/stream_funcs.c:239,1
    - Dst: mhd_pool_deallocate
      Src: /src/mhd2/src/mhd2/stream_funcs.c:241,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 9
    argCount: 1
    argNames:
    - c
    argTypes:
    - struct MHD_Connection*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 247
      start: 232
    functionDepth: 2
    functionLinenumber: 232
    functionLinenumberEnd: 247
    functionName: mhd_stream_release_write_buffer
    functionSourceFile: /src/mhd2/src/mhd2/stream_funcs.c
    functionUses: 3
    functionsReached:
    - mhd_pool_deallocate
    - mhd_assert
    linkageType: ''
    returnType: MHD_INTERNAL
    signature: MHD_INTERNAL mhd_stream_release_write_buffer (struct MHD_Connection
      *restrict c)
  - BBCount: 28
    BranchProfiles: []
    Callsites:
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/stream_funcs.c:332,1
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/stream_funcs.c:340,1
    - Dst: mhd_SSTR_LEN
      Src: /src/mhd2/src/mhd2/stream_funcs.c:371,1
    - Dst: mhd_str_equal_caseless_bin_n
      Src: /src/mhd2/src/mhd2/stream_funcs.c:376,1
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/stream_funcs.c:387,1
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/stream_funcs.c:398,1
    - Dst: mhd_SSTR_LEN
      Src: /src/mhd2/src/mhd2/stream_funcs.c:405,1
    - Dst: mhd_request_get_value_n
      Src: /src/mhd2/src/mhd2/stream_funcs.c:408,1
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/stream_funcs.c:437,1
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/stream_funcs.c:439,1
    - Dst: strlen
      Src: /src/mhd2/src/mhd2/stream_funcs.c:439,1
    CyclomaticComplexity: 37
    EdgeCount: 37
    ICount: 87
    argCount: 4
    argNames:
    - c
    - stage
    - add_element_size
    - add_element
    argTypes:
    - struct MHD_Connection*
    - enum MHD_ProcRecvDataStage
    - size_t
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 527
      start: 321
    functionDepth: 2
    functionLinenumber: 321
    functionLinenumberEnd: 527
    functionName: mhd_stream_get_no_space_err_status_code
    functionSourceFile: /src/mhd2/src/mhd2/stream_funcs.c
    functionUses: 4
    functionsReached:
    - mhd_str_equal_caseless_bin_n
    - mhd_request_get_value_n
    - mhd_SSTR_LEN
    - strlen
    - mhd_assert
    linkageType: ''
    returnType: unsigned int
    signature: "unsigned int mhd_stream_get_no_space_err_status_code (struct MHD_Connection
      *restrict c,\n                                         enum MHD_ProcRecvDataStage
      stage,\n                                         size_t add_element_size,\n
      \                                        const char *restrict add_element)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: mhd_stream_shrink_read_buffer
      Src: /src/mhd2/src/mhd2/stream_funcs.c:534,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - c
    argTypes:
    - struct MHD_Connection*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 535
      start: 530
    functionDepth: 3
    functionLinenumber: 530
    functionLinenumberEnd: 535
    functionName: mhd_stream_switch_from_recv_to_send
    functionSourceFile: /src/mhd2/src/mhd2/stream_funcs.c
    functionUses: 2
    functionsReached:
    - mhd_stream_shrink_read_buffer
    linkageType: ''
    returnType: MHD_INTERNAL
    signature: MHD_INTERNAL mhd_stream_switch_from_recv_to_send (struct MHD_Connection
      *c)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/stream_funcs.c:552,1
    - Dst: mhd_conn_start_closing
      Src: /src/mhd2/src/mhd2/stream_funcs.c:558,1
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/stream_funcs.c:568,1
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/stream_funcs.c:569,1
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/stream_funcs.c:570,1
    - Dst: struct MHD_Daemon*::notify_completed
      Src: /src/mhd2/src/mhd2/stream_funcs.c:575,1
    - Dst: mhd_stream_call_dcc_cleanup_if_needed
      Src: /src/mhd2/src/mhd2/stream_funcs.c:582,1
    - Dst: free
      Src: /src/mhd2/src/mhd2/stream_funcs.c:585,1
    - Dst: mhd_response_dec_use_count
      Src: /src/mhd2/src/mhd2/stream_funcs.c:590,1
    - Dst: memset
      Src: /src/mhd2/src/mhd2/stream_funcs.c:598,1
    - Dst: memset
      Src: /src/mhd2/src/mhd2/stream_funcs.c:602,1
    - Dst: mhd_DLINKEDL_INIT_LIST
      Src: /src/mhd2/src/mhd2/stream_funcs.c:606,1
    - Dst: mhd_DLINKEDL_INIT_LIST
      Src: /src/mhd2/src/mhd2/stream_funcs.c:608,1
    - Dst: mhd_pool_reset
      Src: /src/mhd2/src/mhd2/stream_funcs.c:636,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 47
    argCount: 2
    argNames:
    - c
    - reuse
    argTypes:
    - struct MHD_Connection*
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 643
      start: 544
    functionDepth: 2
    functionLinenumber: 544
    functionLinenumberEnd: 643
    functionName: mhd_stream_finish_req_serving
    functionSourceFile: /src/mhd2/src/mhd2/stream_funcs.c
    functionUses: 0
    functionsReached:
    - mhd_pool_reset
    - memset
    - free
    - mhd_DLINKEDL_INIT_LIST
    - mhd_stream_call_dcc_cleanup_if_needed
    - mhd_assert
    - mhd_response_dec_use_count
    - struct MHD_Daemon*::notify_completed
    - mhd_conn_start_closing
    linkageType: ''
    returnType: MHD_INTERNAL
    signature: "MHD_INTERNAL mhd_stream_finish_req_serving (struct MHD_Connection
      *restrict c,\n                               bool reuse)"
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: mhd_socket_set_hard_close
      Src: /src/mhd2/src/mhd2/stream_funcs.c:657,1
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/stream_funcs.c:664,1
    - Dst: mhd_SOCKET_ERR_IS_HARD
      Src: /src/mhd2/src/mhd2/stream_funcs.c:665,1
    - Dst: mhd_C_HAS_TLS
      Src: /src/mhd2/src/mhd2/stream_funcs.c:671,1
    - Dst: mhd_tls_conn_shutdown
      Src: /src/mhd2/src/mhd2/stream_funcs.c:677,1
    - Dst: mhd_socket_shut_wr
      Src: /src/mhd2/src/mhd2/stream_funcs.c:683,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 21
    argCount: 2
    argNames:
    - c
    - close_hard
    argTypes:
    - struct MHD_Connection*
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 690
      start: 647
    functionDepth: 2
    functionLinenumber: 647
    functionLinenumberEnd: 690
    functionName: conn_start_socket_closing
    functionSourceFile: /src/mhd2/src/mhd2/stream_funcs.c
    functionUses: 0
    functionsReached:
    - mhd_C_HAS_TLS
    - mhd_socket_shut_wr
    - mhd_socket_set_hard_close
    - mhd_SOCKET_ERR_IS_HARD
    - mhd_tls_conn_shutdown
    - mhd_assert
    linkageType: ''
    returnType: MHD_FN_PAR_NONNULL_ALL_
    signature: "MHD_FN_PAR_NONNULL_ALL_ conn_start_socket_closing (struct MHD_Connection
      *restrict c,\n                           bool close_hard)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/stream_funcs.c:699,1
    - Dst: mhd_C_IS_HTTP2
      Src: /src/mhd2/src/mhd2/stream_funcs.c:699,1
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/stream_funcs.c:700,1
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/stream_funcs.c:701,1
    - Dst: conn_start_socket_closing
      Src: /src/mhd2/src/mhd2/stream_funcs.c:703,1
    - Dst: mhd_conn_deinit_activity_timeout
      Src: /src/mhd2/src/mhd2/stream_funcs.c:706,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 2
    argNames:
    - c
    - close_hard
    argTypes:
    - struct MHD_Connection*
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 711
      start: 695
    functionDepth: 3
    functionLinenumber: 695
    functionLinenumberEnd: 711
    functionName: conn_h2_start_closing
    functionSourceFile: /src/mhd2/src/mhd2/stream_funcs.c
    functionUses: 0
    functionsReached:
    - mhd_C_IS_HTTP2
    - mhd_conn_deinit_activity_timeout
    - mhd_assert
    - conn_start_socket_closing
    linkageType: ''
    returnType: MHD_FN_PAR_NONNULL_ALL_
    signature: "MHD_FN_PAR_NONNULL_ALL_ conn_h2_start_closing (struct MHD_Connection
      *restrict c,\n                       bool close_hard)"
  - BBCount: 66
    BranchProfiles: []
    Callsites:
    - Dst: fprintf
      Src: /src/mhd2/src/mhd2/stream_funcs.c:729,1
    - Dst: mhd_C_IS_HTTP2
      Src: /src/mhd2/src/mhd2/stream_funcs.c:739,1
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/stream_funcs.c:741,1
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/stream_funcs.c:745,1
    - Dst: conn_h2_start_closing
      Src: /src/mhd2/src/mhd2/stream_funcs.c:746,1
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/stream_funcs.c:762,1
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/stream_funcs.c:767,1
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/stream_funcs.c:773,1
    - Dst: mhd_MSG4LOG
      Src: /src/mhd2/src/mhd2/stream_funcs.c:787,1
    - Dst: mhd_MSG4LOG
      Src: /src/mhd2/src/mhd2/stream_funcs.c:802,1
    - Dst: mhd_MSG4LOG
      Src: /src/mhd2/src/mhd2/stream_funcs.c:810,1
    - Dst: mhd_MSG4LOG
      Src: /src/mhd2/src/mhd2/stream_funcs.c:817,1
    - Dst: mhd_MSG4LOG
      Src: /src/mhd2/src/mhd2/stream_funcs.c:825,1
    - Dst: mhd_MSG4LOG
      Src: /src/mhd2/src/mhd2/stream_funcs.c:833,1
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/stream_funcs.c:841,1
    - Dst: mhd_MSG4LOG
      Src: /src/mhd2/src/mhd2/stream_funcs.c:849,1
    - Dst: mhd_MSG4LOG
      Src: /src/mhd2/src/mhd2/stream_funcs.c:856,1
    - Dst: mhd_MSG4LOG
      Src: /src/mhd2/src/mhd2/stream_funcs.c:864,1
    - Dst: mhd_MSG4LOG
      Src: /src/mhd2/src/mhd2/stream_funcs.c:875,1
    - Dst: mhd_MSG4LOG
      Src: /src/mhd2/src/mhd2/stream_funcs.c:887,1
    - Dst: mhd_MSG4LOG
      Src: /src/mhd2/src/mhd2/stream_funcs.c:895,1
    - Dst: mhd_MSG4LOG
      Src: /src/mhd2/src/mhd2/stream_funcs.c:912,1
    - Dst: mhd_UNREACHABLE
      Src: /src/mhd2/src/mhd2/stream_funcs.c:917,1
    - Dst: mhd_MSG4LOG
      Src: /src/mhd2/src/mhd2/stream_funcs.c:937,1
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/stream_funcs.c:962,1
    - Dst: mhd_UNREACHABLE
      Src: /src/mhd2/src/mhd2/stream_funcs.c:963,1
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/stream_funcs.c:969,1
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/stream_funcs.c:974,1
    - Dst: conn_start_socket_closing
      Src: /src/mhd2/src/mhd2/stream_funcs.c:981,1
    - Dst: mhd_LOG_MSG
      Src: /src/mhd2/src/mhd2/stream_funcs.c:998,1
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/stream_funcs.c:1006,1
    - Dst: notify_completed
      Src: /src/mhd2/src/mhd2/stream_funcs.c:1009,1
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/stream_funcs.c:1020,1
    - Dst: mhd_conn_deinit_activity_timeout
      Src: /src/mhd2/src/mhd2/stream_funcs.c:1021,1
    CyclomaticComplexity: 75
    EdgeCount: 75
    ICount: 221
    argCount: 3
    argNames:
    - c
    - reason
    - log_msg
    argTypes:
    - struct MHD_Connection*
    - enum mhd_ConnCloseReason
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1027
      start: 718
    functionDepth: 4
    functionLinenumber: 718
    functionLinenumberEnd: 1027
    functionName: mhd_conn_start_closing
    functionSourceFile: /src/mhd2/src/mhd2/stream_funcs.c
    functionUses: 1
    functionsReached:
    - conn_h2_start_closing
    - mhd_MSG4LOG
    - fprintf
    - mhd_conn_deinit_activity_timeout
    - mhd_LOG_MSG
    - notify_completed
    - mhd_UNREACHABLE
    - mhd_C_IS_HTTP2
    - mhd_assert
    - conn_start_socket_closing
    linkageType: ''
    returnType: void
    signature: "void mhd_conn_start_closing (struct MHD_Connection *restrict c,\n
      \                       enum mhd_ConnCloseReason reason,\n                        const
      char *log_msg)"
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: mhd_conn_mark_unready
      Src: /src/mhd2/src/mhd2/stream_funcs.c:1035,1
    - Dst: mhd_stream_call_dcc_cleanup_if_needed
      Src: /src/mhd2/src/mhd2/stream_funcs.c:1037,1
    - Dst: mhd_daemon_free_lbuf
      Src: /src/mhd2/src/mhd2/stream_funcs.c:1039,1
    - Dst: mhd_WM_INT_HAS_EXT_EVENTS
      Src: /src/mhd2/src/mhd2/stream_funcs.c:1041,1
    - Dst: mhd_daemon_extr_event_reg
      Src: /src/mhd2/src/mhd2/stream_funcs.c:1047,1
    - Dst: mhd_log_extr_event_dereg_failed
      Src: /src/mhd2/src/mhd2/stream_funcs.c:1053,1
    - Dst: epoll_ctl
      Src: /src/mhd2/src/mhd2/stream_funcs.c:1063,1
    - Dst: mhd_LOG_MSG
      Src: /src/mhd2/src/mhd2/stream_funcs.c:1068,1
    - Dst: mhd_D_IS_USING_KQUEUE
      Src: /src/mhd2/src/mhd2/stream_funcs.c:1074,1
    - Dst: mhd_KE_SET
      Src: /src/mhd2/src/mhd2/stream_funcs.c:1086,1
    - Dst: mhd_KE_SET
      Src: /src/mhd2/src/mhd2/stream_funcs.c:1091,1
    - Dst: fprintf
      Src: /src/mhd2/src/mhd2/stream_funcs.c:1098,1
    - Dst: mhd_kevent
      Src: /src/mhd2/src/mhd2/stream_funcs.c:1103,1
    - Dst: fprintf
      Src: /src/mhd2/src/mhd2/stream_funcs.c:1110,1
    - Dst: mhd_LOG_MSG
      Src: /src/mhd2/src/mhd2/stream_funcs.c:1118,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 30
    argCount: 1
    argNames:
    - c
    argTypes:
    - struct MHD_Connection*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1129
      start: 1031
    functionDepth: 4
    functionLinenumber: 1031
    functionLinenumberEnd: 1129
    functionName: mhd_conn_pre_clean_part1
    functionSourceFile: /src/mhd2/src/mhd2/stream_funcs.c
    functionUses: 1
    functionsReached:
    - mhd_daemon_extr_event_reg
    - mhd_WM_INT_HAS_EXT_EVENTS
    - mhd_D_IS_USING_KQUEUE
    - fprintf
    - mhd_LOG_MSG
    - mhd_kevent
    - mhd_daemon_free_lbuf
    - mhd_stream_call_dcc_cleanup_if_needed
    - mhd_log_extr_event_dereg_failed
    - mhd_KE_SET
    - epoll_ctl
    - mhd_conn_mark_unready
    linkageType: ''
    returnType: void
    signature: void mhd_conn_pre_clean_part1 (struct MHD_Connection *restrict c)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: fprintf
      Src: /src/mhd2/src/mhd2/stream_funcs.c:1137,1
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/stream_funcs.c:1142,1
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/stream_funcs.c:1143,1
    - Dst: mhd_conn_pre_clean_part1
      Src: /src/mhd2/src/mhd2/stream_funcs.c:1148,1
    - Dst: free
      Src: /src/mhd2/src/mhd2/stream_funcs.c:1152,1
    - Dst: mhd_response_dec_use_count
      Src: /src/mhd2/src/mhd2/stream_funcs.c:1156,1
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/stream_funcs.c:1159,1
    - Dst: mhd_pool_destroy
      Src: /src/mhd2/src/mhd2/stream_funcs.c:1168,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 26
    argCount: 1
    argNames:
    - c
    argTypes:
    - struct MHD_Connection*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1175
      start: 1133
    functionDepth: 5
    functionLinenumber: 1133
    functionLinenumberEnd: 1175
    functionName: mhd_conn_pre_clean
    functionSourceFile: /src/mhd2/src/mhd2/stream_funcs.c
    functionUses: 0
    functionsReached:
    - fprintf
    - free
    - mhd_conn_pre_clean_part1
    - mhd_response_dec_use_count
    - mhd_pool_destroy
    - mhd_assert
    linkageType: ''
    returnType: void
    signature: void mhd_conn_pre_clean (struct MHD_Connection *restrict c)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - d_tls
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 157
      start: 156
    functionDepth: 0
    functionLinenumber: 156
    functionLinenumberEnd: 157
    functionName: mhd_tls_multi_thread_cleanup
    functionSourceFile: /src/mhd2/src/mhd2/tls_multi_funcs.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: mhd_tls_multi_thread_cleanup(d_tls)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: MHD_FN_PAR_DYN_ARR_SIZE_
      Src: /src/mhd2/src/mhd2/sckt_recv.c:70,1
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/sckt_recv.c:76,1
    - Dst: mhd_sys_recv
      Src: /src/mhd2/src/mhd2/sckt_recv.c:81,1
    - Dst: mhd_SCKT_NET_ST_CLEAR_FLAG
      Src: /src/mhd2/src/mhd2/sckt_recv.c:90,1
    - Dst: mhd_socket_error_get_from_sys_err
      Src: /src/mhd2/src/mhd2/sckt_recv.c:98,1
    - Dst: mhd_SCKT_GET_LERR
      Src: /src/mhd2/src/mhd2/sckt_recv.c:98,1
    - Dst: mhd_SCKT_NET_ST_CLEAR_FLAG
      Src: /src/mhd2/src/mhd2/sckt_recv.c:101,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 15
    argCount: 4
    argNames:
    - sk
    - buf_size
    - buf
    - received
    argTypes:
    - struct mhd_ConnSocket*
    - size_t
    - char[]
    - size_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 105
      start: 67
    functionDepth: 1
    functionLinenumber: 67
    functionLinenumberEnd: 105
    functionName: mhd_sckt_recv
    functionSourceFile: /src/mhd2/src/mhd2/sckt_recv.c
    functionUses: 2
    functionsReached:
    - mhd_sys_recv
    - mhd_SCKT_NET_ST_CLEAR_FLAG
    - mhd_socket_error_get_from_sys_err
    - MHD_FN_PAR_DYN_ARR_SIZE_
    - mhd_SCKT_GET_LERR
    - mhd_assert
    linkageType: ''
    returnType: enum mhd_SocketError
    signature: "enum mhd_SocketError mhd_sckt_recv (struct mhd_ConnSocket *restrict
      sk,\n               size_t buf_size,\n               char buf[MHD_FN_PAR_DYN_ARR_SIZE_
      (buf_size)],\n               size_t *restrict received)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: MHD_FN_PAR_DYN_ARR_SIZE_
      Src: /src/mhd2/src/mhd2/upgrade_prep.c:90,1
    - Dst: MHD_FN_PAR_DYN_ARR_SIZE_
      Src: /src/mhd2/src/mhd2/upgrade_prep.c:93,1
    - Dst: memcpy
      Src: /src/mhd2/src/mhd2/upgrade_prep.c:99,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 5
    argNames:
    - buf_size
    - buf
    - pbuf_used
    - copy_size
    - copy_data
    argTypes:
    - size_t
    - char[]
    - size_t*
    - size_t
    - char[]
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 103
      start: 88
    functionDepth: 0
    functionLinenumber: 88
    functionLinenumberEnd: 103
    functionName: buf_append
    functionSourceFile: /src/mhd2/src/mhd2/upgrade_prep.c
    functionUses: 0
    functionsReached:
    - memcpy
    - MHD_FN_PAR_DYN_ARR_SIZE_
    linkageType: ''
    returnType: bool
    signature: "bool buf_append (size_t buf_size,\n            char buf[MHD_FN_PAR_DYN_ARR_SIZE_
      (buf_size)],\n            size_t *restrict pbuf_used,\n            size_t copy_size,\n
      \           const char copy_data[MHD_FN_PAR_DYN_ARR_SIZE_ (copy_size)])"
  - BBCount: 25
    BranchProfiles: []
    Callsites:
    - Dst: MHD_FN_PAR_DYN_ARR_SIZE_
      Src: /src/mhd2/src/mhd2/upgrade_prep.c:153,1
    - Dst: mhd_MSTR_INIT
      Src: /src/mhd2/src/mhd2/upgrade_prep.c:160,1
    - Dst: mhd_MSTR_INIT
      Src: /src/mhd2/src/mhd2/upgrade_prep.c:162,1
    - Dst: mhd_MSTR_INIT
      Src: /src/mhd2/src/mhd2/upgrade_prep.c:164,1
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/upgrade_prep.c:171,1
    - Dst: MHD_HTTP_VERSION_IS_LIKE_11
      Src: /src/mhd2/src/mhd2/upgrade_prep.c:171,1
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/upgrade_prep.c:172,1
    - Dst: buf_append
      Src: /src/mhd2/src/mhd2/upgrade_prep.c:180,1
    - Dst: buf_append
      Src: /src/mhd2/src/mhd2/upgrade_prep.c:189,1
    - Dst: buf_append
      Src: /src/mhd2/src/mhd2/upgrade_prep.c:197,1
    - Dst: strcspn
      Src: /src/mhd2/src/mhd2/upgrade_prep.c:204,1
    - Dst: mhd_LOG_MSG
      Src: /src/mhd2/src/mhd2/upgrade_prep.c:209,1
    - Dst: memcpy
      Src: /src/mhd2/src/mhd2/upgrade_prep.c:218,1
    - Dst: mhd_MSTR_INIT
      Src: /src/mhd2/src/mhd2/upgrade_prep.c:231,1
    - Dst: strcspn
      Src: /src/mhd2/src/mhd2/upgrade_prep.c:243,1
    - Dst: strcspn
      Src: /src/mhd2/src/mhd2/upgrade_prep.c:256,1
    - Dst: mhd_str_equal_caseless_n_st
      Src: /src/mhd2/src/mhd2/upgrade_prep.c:262,1
    - Dst: mhd_str_equal_caseless_n_st
      Src: /src/mhd2/src/mhd2/upgrade_prep.c:270,1
    - Dst: mhd_str_has_s_token_caseless
      Src: /src/mhd2/src/mhd2/upgrade_prep.c:281,1
    - Dst: mhd_str_has_s_token_caseless
      Src: /src/mhd2/src/mhd2/upgrade_prep.c:283,1
    - Dst: memcpy
      Src: /src/mhd2/src/mhd2/upgrade_prep.c:296,1
    - Dst: memcpy
      Src: /src/mhd2/src/mhd2/upgrade_prep.c:305,1
    - Dst: memcpy
      Src: /src/mhd2/src/mhd2/upgrade_prep.c:311,1
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/upgrade_prep.c:318,1
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/upgrade_prep.c:319,1
    - Dst: mhd_LOG_PRINT
      Src: /src/mhd2/src/mhd2/upgrade_prep.c:324,1
    - Dst: mhd_LOG_FMT
      Src: /src/mhd2/src/mhd2/upgrade_prep.c:326,1
    - Dst: mhd_LOG_PRINT
      Src: /src/mhd2/src/mhd2/upgrade_prep.c:334,1
    - Dst: mhd_LOG_FMT
      Src: /src/mhd2/src/mhd2/upgrade_prep.c:336,1
    - Dst: mhd_MSTR_INIT
      Src: /src/mhd2/src/mhd2/upgrade_prep.c:351,1
    - Dst: buf_append
      Src: /src/mhd2/src/mhd2/upgrade_prep.c:353,1
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/upgrade_prep.c:369,1
    CyclomaticComplexity: 43
    EdgeCount: 43
    ICount: 92
    argCount: 7
    argNames:
    - c
    - buf_size
    - buf
    - pbuf_used
    - upgrade_hdr_value
    - num_headers
    - headers
    argTypes:
    - struct MHD_Connection*
    - size_t
    - char[]
    - size_t*
    - char*
    - size_t
    - struct MHD_NameValueCStr*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 373
      start: 148
    functionDepth: 1
    functionLinenumber: 148
    functionLinenumberEnd: 373
    functionName: "(1) MHD_FN_PAR_NONNULL_ (3)\nMHD_FN_PAR_OUT_SIZE_ (3, 2) MHD_FN_PAR_OUT_
      (4) MHD_FN_PAR_CSTR_ (5)\nMHD_FN_PAR_IN_SIZE_ (7, 6) enum mhd_UpgradeHeaderBuildRes\nbuild_reply_header
      (struct MHD_Connection *restrict c,\n                    const size_t buf_size,\n
      \                   char buf[MHD_FN_PAR_DYN_ARR_SIZE_ (buf_size)],\n                    size_t
      *pbuf_used,\n                    const char *restrict upgrade_hdr_value,\n                    size_t
      num_headers,\n                    const struct MHD_NameValueCStr *restrict headers)"
    functionSourceFile: /src/mhd2/src/mhd2/upgrade_prep.c
    functionUses: 0
    functionsReached:
    - strcspn
    - memcpy
    - mhd_str_has_s_token_caseless
    - mhd_str_equal_caseless_n_st
    - mhd_LOG_FMT
    - mhd_LOG_MSG
    - mhd_LOG_PRINT
    - MHD_FN_PAR_DYN_ARR_SIZE_
    - buf_append
    - MHD_HTTP_VERSION_IS_LIKE_11
    - mhd_MSTR_INIT
    - mhd_assert
    linkageType: ''
    returnType: MHD_FN_PAR_NONNULL_
    signature: "MHD_FN_PAR_NONNULL_ (1) MHD_FN_PAR_NONNULL_ (3)\nMHD_FN_PAR_OUT_SIZE_
      (3, 2) MHD_FN_PAR_OUT_ (4) MHD_FN_PAR_CSTR_ (5)\nMHD_FN_PAR_IN_SIZE_ (7, 6)
      enum mhd_UpgradeHeaderBuildRes\nbuild_reply_header (struct MHD_Connection *restrict
      c,\n                    const size_t buf_size,\n                    char buf[MHD_FN_PAR_DYN_ARR_SIZE_
      (buf_size)],\n                    size_t *pbuf_used,\n                    const
      char *restrict upgrade_hdr_value,\n                    size_t num_headers,\n
      \                   const struct MHD_NameValueCStr *restrict headers)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/upgrade_prep.c:401,1
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/upgrade_prep.c:402,1
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/upgrade_prep.c:403,1
    - Dst: mhd_stream_shrink_read_buffer
      Src: /src/mhd2/src/mhd2/upgrade_prep.c:405,1
    - Dst: mhd_stream_maximize_write_buffer
      Src: /src/mhd2/src/mhd2/upgrade_prep.c:406,1
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/upgrade_prep.c:407,1
    - Dst: build_reply_header
      Src: /src/mhd2/src/mhd2/upgrade_prep.c:409,1
    - Dst: mhd_LOG_MSG
      Src: /src/mhd2/src/mhd2/upgrade_prep.c:421,1
    - Dst: mhd_stream_release_write_buffer
      Src: /src/mhd2/src/mhd2/upgrade_prep.c:426,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 14
    argCount: 4
    argNames:
    - c
    - upgrade_hdr_value
    - num_headers
    - headers
    argTypes:
    - struct MHD_Connection*
    - char*
    - size_t
    - struct MHD_NameValueCStr*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 429
      start: 390
    functionDepth: 3
    functionLinenumber: 390
    functionLinenumberEnd: 429
    functionName: "(1)\nMHD_FN_PAR_NONNULL_ (2) MHD_FN_PAR_CSTR_ (2)\nMHD_FN_PAR_IN_SIZE_
      (4, 3) bool\nconnection_prepare_for_upgrade (\n  struct MHD_Connection *restrict
      c,\n  const char *restrict upgrade_hdr_value,\n  size_t num_headers,\n  const
      struct MHD_NameValueCStr *restrict headers)"
    functionSourceFile: /src/mhd2/src/mhd2/upgrade_prep.c
    functionUses: 0
    functionsReached:
    - mhd_stream_maximize_write_buffer
    - build_reply_header
    - mhd_stream_release_write_buffer
    - mhd_LOG_MSG
    - mhd_stream_shrink_read_buffer
    - mhd_assert
    linkageType: ''
    returnType: MHD_FN_PAR_NONNULL_
    signature: "MHD_FN_PAR_NONNULL_ (1)\nMHD_FN_PAR_NONNULL_ (2) MHD_FN_PAR_CSTR_
      (2)\nMHD_FN_PAR_IN_SIZE_ (4, 3) bool\nconnection_prepare_for_upgrade (\n  struct
      MHD_Connection *restrict c,\n  const char *restrict upgrade_hdr_value,\n  size_t
      num_headers,\n  const struct MHD_NameValueCStr *restrict headers)"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: mhd_CNTNR_PTR
      Src: /src/mhd2/src/mhd2/upgrade_prep.c:442,1
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/upgrade_prep.c:444,1
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/upgrade_prep.c:445,1
    - Dst: connection_prepare_for_upgrade
      Src: /src/mhd2/src/mhd2/upgrade_prep.c:462,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 13
    argCount: 5
    argNames:
    - req
    - upgrade_hdr_value
    - num_headers
    - headers
    - is_upload_act
    argTypes:
    - struct MHD_Request*
    - char*
    - size_t
    - struct MHD_NameValueCStr*
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 466
      start: 434
    functionDepth: 1
    functionLinenumber: 434
    functionLinenumberEnd: 466
    functionName: mhd_upgrade_prep_for_action
    functionSourceFile: /src/mhd2/src/mhd2/upgrade_prep.c
    functionUses: 2
    functionsReached:
    - mhd_CNTNR_PTR
    - connection_prepare_for_upgrade
    - mhd_assert
    linkageType: ''
    returnType: bool
    signature: "bool mhd_upgrade_prep_for_action (struct MHD_Request *restrict req,\n
      \                            const char *restrict upgrade_hdr_value,\n                             size_t
      num_headers,\n                             const struct MHD_NameValueCStr *restrict
      headers,\n                             bool is_upload_act)"
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: MHD_FN_PAR_DYN_ARR_SIZE_
      Src: /src/mhd2/src/mhd2/mhd_recv.c:66,1
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/mhd_recv.c:72,1
    - Dst: mhd_C_HAS_TLS
      Src: /src/mhd2/src/mhd2/mhd_recv.c:72,1
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/mhd_recv.c:73,1
    - Dst: mhd_tls_conn_recv
      Src: /src/mhd2/src/mhd2/mhd_recv.c:75,1
    - Dst: mhd_tls_conn_has_data_in
      Src: /src/mhd2/src/mhd2/mhd_recv.c:95,1
    - Dst: mhd_tls_conn_has_data_in
      Src: /src/mhd2/src/mhd2/mhd_recv.c:100,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 16
    argCount: 4
    argNames:
    - c
    - buf_size
    - buf
    - received
    argTypes:
    - struct MHD_Connection*
    - size_t
    - char[]
    - size_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 105
      start: 63
    functionDepth: 1
    functionLinenumber: 63
    functionLinenumberEnd: 105
    functionName: mhd_recv_tls
    functionSourceFile: /src/mhd2/src/mhd2/mhd_recv.c
    functionUses: 0
    functionsReached:
    - mhd_C_HAS_TLS
    - mhd_tls_conn_has_data_in
    - MHD_FN_PAR_DYN_ARR_SIZE_
    - mhd_tls_conn_recv
    - mhd_assert
    linkageType: ''
    returnType: enum mhd_SocketError
    signature: "enum mhd_SocketError mhd_recv_tls (struct MHD_Connection *restrict
      c,\n              size_t buf_size,\n              char buf[MHD_FN_PAR_DYN_ARR_SIZE_
      (buf_size)],\n              size_t *restrict received)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: MHD_FN_PAR_DYN_ARR_SIZE_
      Src: /src/mhd2/src/mhd2/mhd_recv.c:114,1
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/mhd_recv.c:117,1
    - Dst: mhd_C_HAS_TLS
      Src: /src/mhd2/src/mhd2/mhd_recv.c:120,1
    - Dst: mhd_recv_tls
      Src: /src/mhd2/src/mhd2/mhd_recv.c:121,1
    - Dst: mhd_sckt_recv
      Src: /src/mhd2/src/mhd2/mhd_recv.c:127,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 4
    argNames:
    - c
    - buf_size
    - buf
    - received
    argTypes:
    - struct MHD_Connection*
    - size_t
    - char[]
    - size_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 131
      start: 111
    functionDepth: 2
    functionLinenumber: 111
    functionLinenumberEnd: 131
    functionName: mhd_recv
    functionSourceFile: /src/mhd2/src/mhd2/mhd_recv.c
    functionUses: 1
    functionsReached:
    - mhd_C_HAS_TLS
    - mhd_recv_tls
    - mhd_sckt_recv
    - MHD_FN_PAR_DYN_ARR_SIZE_
    - mhd_assert
    linkageType: ''
    returnType: enum mhd_SocketError
    signature: "enum mhd_SocketError mhd_recv (struct MHD_Connection *restrict c,\n
      \         size_t buf_size,\n          char buf[MHD_FN_PAR_DYN_ARR_SIZE_ (buf_size)],\n
      \         size_t *restrict received)"
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: mhd_MSTR_INIT
      Src: /src/mhd2/src/mhd2/response_auth_basic.c:67,1
    - Dst: mhd_MSTR_INIT
      Src: /src/mhd2/src/mhd2/response_auth_basic.c:69,1
    - Dst: mhd_MSTR_INIT
      Src: /src/mhd2/src/mhd2/response_auth_basic.c:71,1
    - Dst: strlen
      Src: /src/mhd2/src/mhd2/response_auth_basic.c:72,1
    - Dst: memchr
      Src: /src/mhd2/src/mhd2/response_auth_basic.c:80,1
    - Dst: memchr
      Src: /src/mhd2/src/mhd2/response_auth_basic.c:81,1
    - Dst: malloc
      Src: /src/mhd2/src/mhd2/response_auth_basic.c:92,1
    - Dst: memcpy
      Src: /src/mhd2/src/mhd2/response_auth_basic.c:99,1
    - Dst: memcpy
      Src: /src/mhd2/src/mhd2/response_auth_basic.c:105,1
    - Dst: mhd_str_quote
      Src: /src/mhd2/src/mhd2/response_auth_basic.c:107,1
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/response_auth_basic.c:111,1
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/response_auth_basic.c:114,1
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/response_auth_basic.c:118,1
    - Dst: memcpy
      Src: /src/mhd2/src/mhd2/response_auth_basic.c:119,1
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/response_auth_basic.c:123,1
    - Dst: realloc
      Src: /src/mhd2/src/mhd2/response_auth_basic.c:128,1
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/response_auth_basic.c:138,1
    - Dst: memcmp
      Src: /src/mhd2/src/mhd2/response_auth_basic.c:138,1
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/response_auth_basic.c:144,1
    - Dst: memcmp
      Src: /src/mhd2/src/mhd2/response_auth_basic.c:144,1
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/response_auth_basic.c:147,1
    - Dst: mhd_DLINKEDL_INIT_LINKS
      Src: /src/mhd2/src/mhd2/response_auth_basic.c:149,1
    - Dst: mhd_DLINKEDL_INS_LAST
      Src: /src/mhd2/src/mhd2/response_auth_basic.c:150,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 44
    argCount: 3
    argNames:
    - response
    - realm
    - prefer_utf8
    argTypes:
    - struct MHD_Response*
    - char*
    - enum MHD_Bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 155
      start: 61
    functionDepth: 1
    functionLinenumber: 61
    functionLinenumberEnd: 155
    functionName: response_add_auth_basic_challenge_int
    functionSourceFile: /src/mhd2/src/mhd2/response_auth_basic.c
    functionUses: 0
    functionsReached:
    - mhd_DLINKEDL_INS_LAST
    - memchr
    - malloc
    - mhd_DLINKEDL_INIT_LINKS
    - mhd_str_quote
    - mhd_assert
    - realloc
    - strlen
    - mhd_MSTR_INIT
    - memcpy
    - memcmp
    linkageType: ''
    returnType: enum MHD_StatusCode
    signature: "enum MHD_StatusCode response_add_auth_basic_challenge_int (struct
      MHD_Response *restrict response,\n                                       const
      char *restrict realm,\n                                       enum MHD_Bool
      prefer_utf8)"
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: mhd_mutex_lock
      Src: /src/mhd2/src/mhd2/response_auth_basic.c:179,1
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/response_auth_basic.c:181,1
    - Dst: mhd_atomic_counter_get
      Src: /src/mhd2/src/mhd2/response_auth_basic.c:181,1
    - Dst: response_add_auth_basic_challenge_int
      Src: /src/mhd2/src/mhd2/response_auth_basic.c:191,1
    - Dst: mhd_mutex_unlock_chk
      Src: /src/mhd2/src/mhd2/response_auth_basic.c:196,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 22
    argCount: 3
    argNames:
    - MHD_RESTRICT
    - MHD_RESTRICT
    - prefer_utf8
    argTypes:
    - struct MHD_Response*
    - char*
    - enum MHD_Bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 199
      start: 160
    functionDepth: 2
    functionLinenumber: 160
    functionLinenumberEnd: 199
    functionName: MHD_response_add_auth_basic_challenge
    functionSourceFile: /src/mhd2/src/mhd2/response_auth_basic.c
    functionUses: 3
    functionsReached:
    - mhd_mutex_lock
    - mhd_mutex_unlock_chk
    - mhd_atomic_counter_get
    - response_add_auth_basic_challenge_int
    - mhd_assert
    linkageType: ''
    returnType: enum MHD_StatusCode
    signature: "enum MHD_StatusCode MHD_response_add_auth_basic_challenge (\n  struct
      MHD_Response *MHD_RESTRICT response,\n  const char *MHD_RESTRICT realm,\n  enum
      MHD_Bool prefer_utf8)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 2
    argNames:
    - (
    - )
    argTypes:
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 77
      start: 76
    functionDepth: 0
    functionLinenumber: 76
    functionLinenumberEnd: 77
    functionName: mhd_TLS_GNU_IS_SUPPORTED
    functionSourceFile: /src/mhd2/src/mhd2/mhd_tls_choice.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: mhd_TLS_GNU_IS_SUPPORTED()
  - 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: mhd_TLS_OPEN_IS_SUPPORTED
    functionSourceFile: /src/mhd2/src/mhd2/mhd_tls_choice.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: mhd_TLS_OPEN_IS_SUPPORTED()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 2
    argNames:
    - (
    - )
    argTypes:
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 115
      start: 114
    functionDepth: 0
    functionLinenumber: 114
    functionLinenumberEnd: 115
    functionName: mhd_TLS_MBED_IS_SUPPORTED
    functionSourceFile: /src/mhd2/src/mhd2/mhd_tls_choice.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: mhd_TLS_MBED_IS_SUPPORTED()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 2
    argNames:
    - (
    - )
    argTypes:
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 158
      start: 157
    functionDepth: 0
    functionLinenumber: 157
    functionLinenumberEnd: 158
    functionName: mhd_TLS_MULTI_IS_SUPPORTED
    functionSourceFile: /src/mhd2/src/mhd2/mhd_tls_choice.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: mhd_TLS_MULTI_IS_SUPPORTED()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 2
    argNames:
    - (
    - )
    argTypes:
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 222
      start: 221
    functionDepth: 0
    functionLinenumber: 221
    functionLinenumberEnd: 222
    functionName: mhd_tls_gnu_is_inited_fine
    functionSourceFile: /src/mhd2/src/mhd2/mhd_tls_choice.h
    functionUses: 5
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: mhd_tls_gnu_is_inited_fine()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 2
    argNames:
    - (
    - )
    argTypes:
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 229
      start: 228
    functionDepth: 0
    functionLinenumber: 228
    functionLinenumberEnd: 229
    functionName: mhd_tls_open_is_inited_fine
    functionSourceFile: /src/mhd2/src/mhd2/mhd_tls_choice.h
    functionUses: 5
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: mhd_tls_open_is_inited_fine()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 2
    argNames:
    - (
    - )
    argTypes:
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 236
      start: 235
    functionDepth: 0
    functionLinenumber: 235
    functionLinenumberEnd: 236
    functionName: mhd_tls_mbed_is_inited_fine
    functionSourceFile: /src/mhd2/src/mhd2/mhd_tls_choice.h
    functionUses: 5
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: mhd_tls_mbed_is_inited_fine()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - name_suffix
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 246
      start: 244
    functionDepth: 0
    functionLinenumber: 244
    functionLinenumberEnd: 246
    functionName: mhd_TLS_DATA
    functionSourceFile: /src/mhd2/src/mhd2/mhd_tls_choice.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: mhd_TLS_DATA(name_suffix)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - name_suffix
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 252
      start: 250
    functionDepth: 0
    functionLinenumber: 250
    functionLinenumberEnd: 252
    functionName: mhd_TLS_FUNC
    functionSourceFile: /src/mhd2/src/mhd2/mhd_tls_choice.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: mhd_TLS_FUNC(name_suffix)
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/dcc_action.c:78,1
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/dcc_action.c:85,1
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/dcc_action.c:94,1
    - Dst: struct MHD_DynContentZCIoVec*::iov_fcb
      Src: /src/mhd2/src/mhd2/dcc_action.c:109,1
    CyclomaticComplexity: 20
    EdgeCount: 20
    ICount: 34
    argCount: 4
    argNames:
    - ctx
    - data_size
    - iov_data
    - MHD_RESTRICT
    argTypes:
    - struct MHD_DynamicContentCreatorContext*
    - size_t
    - struct MHD_DynContentZCIoVec*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 113
      start: 60
    functionDepth: 1
    functionLinenumber: 60
    functionLinenumberEnd: 113
    functionName: MHD_DCC_action_continue_zc
    functionSourceFile: /src/mhd2/src/mhd2/dcc_action.c
    functionUses: 0
    functionsReached:
    - struct MHD_DynContentZCIoVec*::iov_fcb
    - mhd_assert
    linkageType: ''
    returnType: struct MHD_DynamicContentCreatorAction
    signature: "struct MHD_DynamicContentCreatorAction *\nMHD_DCC_action_continue_zc
      (\n  struct MHD_DynamicContentCreatorContext *ctx,\n  size_t data_size,\n  const
      struct MHD_DynContentZCIoVec *iov_data,\n  const char *MHD_RESTRICT chunk_ext)"
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/dcc_action.c:135,1
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/dcc_action.c:142,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 18
    argCount: 3
    argNames:
    - ctx
    - num_footers
    - MHD_RESTRICT
    argTypes:
    - struct MHD_DynamicContentCreatorContext*
    - size_t
    - struct MHD_NameValueCStr*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 151
      start: 118
    functionDepth: 1
    functionLinenumber: 118
    functionLinenumberEnd: 151
    functionName: MHD_DCC_action_finish_with_footer
    functionSourceFile: /src/mhd2/src/mhd2/dcc_action.c
    functionUses: 1
    functionsReached:
    - mhd_assert
    linkageType: ''
    returnType: struct MHD_DynamicContentCreatorAction
    signature: "struct MHD_DynamicContentCreatorAction *\nMHD_DCC_action_finish_with_footer
      (\n  struct MHD_DynamicContentCreatorContext *ctx,\n  size_t num_footers,\n
      \ const struct MHD_NameValueCStr *MHD_RESTRICT footers)"
  - BBCount: 3
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 1
    argNames:
    - ctx
    argTypes:
    - struct MHD_DynamicContentCreatorContext*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 169
      start: 155
    functionDepth: 0
    functionLinenumber: 155
    functionLinenumberEnd: 169
    functionName: MHD_DCC_action_suspend
    functionSourceFile: /src/mhd2/src/mhd2/dcc_action.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: struct MHD_DynamicContentCreatorAction
    signature: 'struct MHD_DynamicContentCreatorAction *

      MHD_DCC_action_suspend (struct MHD_DynamicContentCreatorContext *ctx)'
  - 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: 55
      start: 54
    functionDepth: 0
    functionLinenumber: 54
    functionLinenumberEnd: 55
    functionName: mhd_MACRO_CONCAT_
    functionSourceFile: /src/mhd2/src/mhd2/mhd_macro_concat.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: mhd_MACRO_CONCAT_(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: 59
      start: 58
    functionDepth: 0
    functionLinenumber: 58
    functionLinenumberEnd: 59
    functionName: mhd_MACRO_CONCAT
    functionSourceFile: /src/mhd2/src/mhd2/mhd_macro_concat.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: mhd_MACRO_CONCAT(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: 65
      start: 64
    functionDepth: 0
    functionLinenumber: 64
    functionLinenumberEnd: 65
    functionName: mhd_MACRO_CONCAT3_
    functionSourceFile: /src/mhd2/src/mhd2/mhd_macro_concat.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: mhd_MACRO_CONCAT3_(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: 68
    functionDepth: 0
    functionLinenumber: 68
    functionLinenumberEnd: 69
    functionName: mhd_MACRO_CONCAT3
    functionSourceFile: /src/mhd2/src/mhd2/mhd_macro_concat.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: mhd_MACRO_CONCAT3(a, b, c)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: MHD_FN_PAR_DYN_ARR_SIZE_
      Src: /src/mhd2/src/mhd2/response_add_header.c:66,1
    - Dst: mhd_MSTR_INIT
      Src: /src/mhd2/src/mhd2/response_add_header.c:69,1
    - Dst: mhd_MSTR_INIT
      Src: /src/mhd2/src/mhd2/response_add_header.c:70,1
    - Dst: mhd_MSTR_INIT
      Src: /src/mhd2/src/mhd2/response_add_header.c:71,1
    - Dst: mhd_MSTR_INIT
      Src: /src/mhd2/src/mhd2/response_add_header.c:72,1
    - Dst: mhd_MSTR_INIT
      Src: /src/mhd2/src/mhd2/response_add_header.c:73,1
    - Dst: mhd_ARR_NUM_ELEMS
      Src: /src/mhd2/src/mhd2/response_add_header.c:77,1
    - Dst: mhd_str_equal_caseless_bin_n
      Src: /src/mhd2/src/mhd2/response_add_header.c:83,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 8
    argCount: 2
    argNames:
    - name_len
    - name
    argTypes:
    - size_t
    - char[]
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 89
      start: 64
    functionDepth: 1
    functionLinenumber: 64
    functionLinenumberEnd: 89
    functionName: is_name_h2_allowed
    functionSourceFile: /src/mhd2/src/mhd2/response_add_header.c
    functionUses: 0
    functionsReached:
    - mhd_ARR_NUM_ELEMS
    - mhd_MSTR_INIT
    - mhd_str_equal_caseless_bin_n
    - MHD_FN_PAR_DYN_ARR_SIZE_
    linkageType: ''
    returnType: bool
    signature: "bool is_name_h2_allowed (size_t name_len,\n                    const
      char name[MHD_FN_PAR_DYN_ARR_SIZE_ (name_len)])"
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/response_add_header.c:115,1
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/response_add_header.c:116,1
    - Dst: is_name_h2_allowed
      Src: /src/mhd2/src/mhd2/response_add_header.c:118,1
    - Dst: mhd_str_is_lowercase_bin_n
      Src: /src/mhd2/src/mhd2/response_add_header.c:122,1
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/response_add_header.c:135,1
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/response_add_header.c:136,1
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/response_add_header.c:137,1
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/response_add_header.c:144,1
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/response_add_header.c:145,1
    - Dst: malloc
      Src: /src/mhd2/src/mhd2/response_add_header.c:151,1
    - Dst: memcpy
      Src: /src/mhd2/src/mhd2/response_add_header.c:157,1
    - Dst: memcpy
      Src: /src/mhd2/src/mhd2/response_add_header.c:161,1
    - Dst: mhd_str_to_lowercase_bin_n
      Src: /src/mhd2/src/mhd2/response_add_header.c:171,1
    - Dst: memcpy
      Src: /src/mhd2/src/mhd2/response_add_header.c:186,1
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/response_add_header.c:208,1
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/response_add_header.c:210,1
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/response_add_header.c:212,1
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/response_add_header.c:214,1
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/response_add_header.c:218,1
    - Dst: mhd_DLINKEDL_INIT_LINKS
      Src: /src/mhd2/src/mhd2/response_add_header.c:221,1
    - Dst: mhd_DLINKEDL_INS_LAST
      Src: /src/mhd2/src/mhd2/response_add_header.c:222,1
    CyclomaticComplexity: 18
    EdgeCount: 18
    ICount: 71
    argCount: 5
    argNames:
    - response
    - name_len
    - name
    - value_len
    - value
    argTypes:
    - struct MHD_Response*
    - size_t
    - char*
    - size_t
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 224
      start: 94
    functionDepth: 2
    functionLinenumber: 94
    functionLinenumberEnd: 224
    functionName: "(1)\nMHD_FN_PAR_NONNULL_ (3) MHD_FN_PAR_CSTR_ (3)\nMHD_FN_PAR_NONNULL_
      (5) MHD_FN_PAR_CSTR_ (5) bool\nresponse_add_header_no_check (\n  struct MHD_Response
      *restrict response,\n  size_t name_len,\n  const char *restrict name,\n  size_t
      value_len,\n  const char *restrict value)"
    functionSourceFile: /src/mhd2/src/mhd2/response_add_header.c
    functionUses: 0
    functionsReached:
    - mhd_DLINKEDL_INS_LAST
    - malloc
    - mhd_DLINKEDL_INIT_LINKS
    - mhd_str_to_lowercase_bin_n
    - is_name_h2_allowed
    - mhd_assert
    - mhd_str_is_lowercase_bin_n
    - memcpy
    linkageType: ''
    returnType: MHD_FN_PAR_NONNULL_
    signature: "MHD_FN_PAR_NONNULL_ (1)\nMHD_FN_PAR_NONNULL_ (3) MHD_FN_PAR_CSTR_
      (3)\nMHD_FN_PAR_NONNULL_ (5) MHD_FN_PAR_CSTR_ (5) bool\nresponse_add_header_no_check
      (\n  struct MHD_Response *restrict response,\n  size_t name_len,\n  const char
      *restrict name,\n  size_t value_len,\n  const char *restrict value)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: mhd_DLINKEDL_GET_LAST
      Src: /src/mhd2/src/mhd2/response_add_header.c:233,1
    - Dst: mhd_DLINKEDL_GET_LAST
      Src: /src/mhd2/src/mhd2/response_add_header.c:234,1
    - Dst: mhd_DLINKEDL_DEL
      Src: /src/mhd2/src/mhd2/response_add_header.c:236,1
    - Dst: free
      Src: /src/mhd2/src/mhd2/response_add_header.c:237,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - r
    argTypes:
    - struct MHD_Response*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 239
      start: 228
    functionDepth: 1
    functionLinenumber: 228
    functionLinenumberEnd: 239
    functionName: mhd_response_remove_all_headers
    functionSourceFile: /src/mhd2/src/mhd2/response_add_header.c
    functionUses: 1
    functionsReached:
    - mhd_DLINKEDL_DEL
    - mhd_DLINKEDL_GET_LAST
    - free
    linkageType: ''
    returnType: void
    signature: void mhd_response_remove_all_headers (struct MHD_Response *restrict
      r)
  - BBCount: 11
    BranchProfiles: []
    Callsites:
    - Dst: strlen
      Src: /src/mhd2/src/mhd2/response_add_header.c:247,1
    - Dst: strlen
      Src: /src/mhd2/src/mhd2/response_add_header.c:248,1
    - Dst: memchr
      Src: /src/mhd2/src/mhd2/response_add_header.c:254,1
    - Dst: memchr
      Src: /src/mhd2/src/mhd2/response_add_header.c:255,1
    - Dst: memchr
      Src: /src/mhd2/src/mhd2/response_add_header.c:256,1
    - Dst: memchr
      Src: /src/mhd2/src/mhd2/response_add_header.c:257,1
    - Dst: memchr
      Src: /src/mhd2/src/mhd2/response_add_header.c:258,1
    - Dst: memchr
      Src: /src/mhd2/src/mhd2/response_add_header.c:260,1
    - Dst: memchr
      Src: /src/mhd2/src/mhd2/response_add_header.c:261,1
    - Dst: mhd_str_equal_caseless_n_st
      Src: /src/mhd2/src/mhd2/response_add_header.c:264,1
    - Dst: response_add_header_no_check
      Src: /src/mhd2/src/mhd2/response_add_header.c:271,1
    - Dst: mhd_str_equal_caseless_n_st
      Src: /src/mhd2/src/mhd2/response_add_header.c:280,1
    - Dst: response_add_header_no_check
      Src: /src/mhd2/src/mhd2/response_add_header.c:287,1
    - Dst: response_add_header_no_check
      Src: /src/mhd2/src/mhd2/response_add_header.c:298,1
    CyclomaticComplexity: 16
    EdgeCount: 16
    ICount: 26
    argCount: 3
    argNames:
    - response
    - name
    - value
    argTypes:
    - struct MHD_Response*
    - char*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 303
      start: 242
    functionDepth: 1
    functionLinenumber: 242
    functionLinenumberEnd: 303
    functionName: response_add_header_int
    functionSourceFile: /src/mhd2/src/mhd2/response_add_header.c
    functionUses: 0
    functionsReached:
    - memchr
    - response_add_header_no_check
    - strlen
    - mhd_str_equal_caseless_n_st
    linkageType: ''
    returnType: enum MHD_StatusCode
    signature: "enum MHD_StatusCode response_add_header_int (struct MHD_Response *restrict
      response,\n                         const char *restrict name,\n                         const
      char *restrict value)"
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: mhd_mutex_lock
      Src: /src/mhd2/src/mhd2/response_add_header.c:324,1
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/response_add_header.c:326,1
    - Dst: mhd_atomic_counter_get
      Src: /src/mhd2/src/mhd2/response_add_header.c:326,1
    - Dst: response_add_header_int
      Src: /src/mhd2/src/mhd2/response_add_header.c:331,1
    - Dst: mhd_mutex_unlock_chk
      Src: /src/mhd2/src/mhd2/response_add_header.c:334,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 16
    argCount: 3
    argNames:
    - MHD_RESTRICT
    - MHD_RESTRICT
    - MHD_RESTRICT
    argTypes:
    - struct MHD_Response*
    - char*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 337
      start: 308
    functionDepth: 2
    functionLinenumber: 308
    functionLinenumberEnd: 337
    functionName: MHD_response_add_header
    functionSourceFile: /src/mhd2/src/mhd2/response_add_header.c
    functionUses: 4
    functionsReached:
    - mhd_mutex_lock
    - mhd_mutex_unlock_chk
    - mhd_atomic_counter_get
    - mhd_assert
    - response_add_header_int
    linkageType: ''
    returnType: enum MHD_StatusCode
    signature: "enum MHD_StatusCode MHD_response_add_header (struct MHD_Response *MHD_RESTRICT
      response,\n                         const char *MHD_RESTRICT name,\n                         const
      char *MHD_RESTRICT value)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 3
    argNames:
    - MHD_RESTRICT
    - stk
    - MHD_RESTRICT
    argTypes:
    - struct MHD_Response*
    - enum MHD_PredefinedHeader
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 351
      start: 342
    functionDepth: 0
    functionLinenumber: 342
    functionLinenumberEnd: 351
    functionName: MHD_response_add_predef_header
    functionSourceFile: /src/mhd2/src/mhd2/response_add_header.c
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: enum MHD_StatusCode
    signature: "enum MHD_StatusCode MHD_response_add_predef_header (struct MHD_Response
      *MHD_RESTRICT response,\n                                enum MHD_PredefinedHeader
      stk,\n                                const char *MHD_RESTRICT content)"
  - BBCount: 17
    BranchProfiles: []
    Callsites:
    - Dst: mhd_CNTNR_PTR
      Src: /src/mhd2/src/mhd2/request_get_info.c:83,1
    - Dst: mhd_CNTNR_PTR
      Src: /src/mhd2/src/mhd2/request_get_info.c:102,1
    - Dst: mhd_CNTNR_PTR
      Src: /src/mhd2/src/mhd2/request_get_info.c:110,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 41
    argCount: 4
    argNames:
    - MHD_RESTRICT
    - info_type
    - MHD_RESTRICT
    - output_buf_size
    argTypes:
    - struct MHD_Request*
    - enum MHD_RequestInfoFixedType
    - union MHD_RequestInfoFixedData*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 134
      start: 72
    functionDepth: 1
    functionLinenumber: 72
    functionLinenumberEnd: 134
    functionName: MHD_request_get_info_fixed_sz
    functionSourceFile: /src/mhd2/src/mhd2/request_get_info.c
    functionUses: 1
    functionsReached:
    - mhd_CNTNR_PTR
    linkageType: ''
    returnType: enum MHD_StatusCode
    signature: "enum MHD_StatusCode MHD_request_get_info_fixed_sz (\n  struct MHD_Request
      *MHD_RESTRICT request,\n  enum MHD_RequestInfoFixedType info_type,\n  union
      MHD_RequestInfoFixedData *MHD_RESTRICT output_buf,\n  size_t output_buf_size)"
  - BBCount: 57
    BranchProfiles: []
    Callsites:
    - Dst: mhd_CNTNR_PTR
      Src: /src/mhd2/src/mhd2/request_get_info.c:150,1
    - Dst: mhd_CNTNR_PTR
      Src: /src/mhd2/src/mhd2/request_get_info.c:162,1
    - Dst: mhd_CNTNR_PTR
      Src: /src/mhd2/src/mhd2/request_get_info.c:178,1
    - Dst: MHD_request_get_values_cb
      Src: /src/mhd2/src/mhd2/request_get_info.c:190,1
    - Dst: mhd_CNTNR_PTR
      Src: /src/mhd2/src/mhd2/request_get_info.c:197,1
    - Dst: mhd_CNTNR_PTR
      Src: /src/mhd2/src/mhd2/request_get_info.c:202,1
    - Dst: mhd_CNTNR_PTR
      Src: /src/mhd2/src/mhd2/request_get_info.c:207,1
    - Dst: MHD_request_get_values_cb
      Src: /src/mhd2/src/mhd2/request_get_info.c:214,1
    - Dst: mhd_CNTNR_PTR
      Src: /src/mhd2/src/mhd2/request_get_info.c:225,1
    - Dst: mhd_CNTNR_PTR
      Src: /src/mhd2/src/mhd2/request_get_info.c:241,1
    - Dst: MHD_request_get_values_cb
      Src: /src/mhd2/src/mhd2/request_get_info.c:253,1
    - Dst: mhd_CNTNR_PTR
      Src: /src/mhd2/src/mhd2/request_get_info.c:264,1
    - Dst: mhd_CNTNR_PTR
      Src: /src/mhd2/src/mhd2/request_get_info.c:275,1
    - Dst: mhd_CNTNR_PTR
      Src: /src/mhd2/src/mhd2/request_get_info.c:286,1
    - Dst: mhd_CNTNR_PTR
      Src: /src/mhd2/src/mhd2/request_get_info.c:296,1
    - Dst: mhd_CNTNR_PTR
      Src: /src/mhd2/src/mhd2/request_get_info.c:306,1
    - Dst: mhd_CNTNR_PTR
      Src: /src/mhd2/src/mhd2/request_get_info.c:318,1
    - Dst: mhd_CNTNR_PTR
      Src: /src/mhd2/src/mhd2/request_get_info.c:328,1
    - Dst: mhd_CNTNR_PTR
      Src: /src/mhd2/src/mhd2/request_get_info.c:340,1
    - Dst: mhd_request_get_auth_digest_info
      Src: /src/mhd2/src/mhd2/request_get_info.c:352,1
    - Dst: mhd_CNTNR_PTR
      Src: /src/mhd2/src/mhd2/request_get_info.c:361,1
    - Dst: mhd_request_get_auth_basic_creds
      Src: /src/mhd2/src/mhd2/request_get_info.c:373,1
    CyclomaticComplexity: 45
    EdgeCount: 45
    ICount: 137
    argCount: 4
    argNames:
    - MHD_RESTRICT
    - info_type
    - MHD_RESTRICT
    - output_buf_size
    argTypes:
    - struct MHD_Request*
    - enum MHD_RequestInfoDynamicType
    - union MHD_RequestInfoDynamicData*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 387
      start: 139
    functionDepth: 3
    functionLinenumber: 139
    functionLinenumberEnd: 387
    functionName: MHD_request_get_info_dynamic_sz
    functionSourceFile: /src/mhd2/src/mhd2/request_get_info.c
    functionUses: 1
    functionsReached:
    - mhd_CNTNR_PTR
    - MHD_request_get_values_cb
    - mhd_request_get_auth_digest_info
    - mhd_request_get_auth_basic_creds
    linkageType: ''
    returnType: enum MHD_StatusCode
    signature: "enum MHD_StatusCode MHD_request_get_info_dynamic_sz (\n  struct MHD_Request
      *MHD_RESTRICT request,\n  enum MHD_RequestInfoDynamicType info_type,\n  union
      MHD_RequestInfoDynamicData *MHD_RESTRICT output_buf,\n  size_t output_buf_size)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: Sleep
      Src: /src/mhd2/src/mhd2/upgraded_net.c:89,1
    - Dst: nanosleep
      Src: /src/mhd2/src/mhd2/upgraded_net.c:95,1
    - Dst: usleep
      Src: /src/mhd2/src/mhd2/upgraded_net.c:113,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 16
    argCount: 1
    argNames:
    - millisec
    argTypes:
    - uint_fast32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 117
      start: 85
    functionDepth: 0
    functionLinenumber: 85
    functionLinenumberEnd: 117
    functionName: mhd_sleep
    functionSourceFile: /src/mhd2/src/mhd2/upgraded_net.c
    functionUses: 0
    functionsReached:
    - Sleep
    - usleep
    - nanosleep
    linkageType: ''
    returnType: void
    signature: void mhd_sleep (uint_fast32_t millisec)
  - BBCount: 34
    BranchProfiles: []
    Callsites:
    - Dst: mhd_mutex_lock_chk
      Src: /src/mhd2/src/mhd2/upgraded_net.c:155,1
    - Dst: memcpy
      Src: /src/mhd2/src/mhd2/upgraded_net.c:160,1
    - Dst: memcpy
      Src: /src/mhd2/src/mhd2/upgraded_net.c:169,1
    - Dst: mhd_mutex_unlock_chk
      Src: /src/mhd2/src/mhd2/upgraded_net.c:180,1
    - Dst: mhd_recv
      Src: /src/mhd2/src/mhd2/upgraded_net.c:187,1
    - Dst: mhd_SOCKET_ERR_IS_HARD
      Src: /src/mhd2/src/mhd2/upgraded_net.c:201,1
    - Dst: mhd_poll
      Src: /src/mhd2/src/mhd2/upgraded_net.c:225,1
    - Dst: mhd_SCKT_GET_LERR
      Src: /src/mhd2/src/mhd2/upgraded_net.c:235,1
    - Dst: mhd_SCKT_ERR_IS_EAGAIN
      Src: /src/mhd2/src/mhd2/upgraded_net.c:236,1
    - Dst: mhd_SCKT_ERR_IS_EINTR
      Src: /src/mhd2/src/mhd2/upgraded_net.c:237,1
    - Dst: mhd_SCKT_ERR_IS_LOW_RESOURCES
      Src: /src/mhd2/src/mhd2/upgraded_net.c:238,1
    - Dst: FD_ZERO
      Src: /src/mhd2/src/mhd2/upgraded_net.c:280,1
    - Dst: FD_SET
      Src: /src/mhd2/src/mhd2/upgraded_net.c:281,1
    - Dst: select
      Src: /src/mhd2/src/mhd2/upgraded_net.c:283,1
    - Dst: mhd_SCKT_GET_LERR
      Src: /src/mhd2/src/mhd2/upgraded_net.c:297,1
    - Dst: mhd_SCKT_ERR_IS_EAGAIN
      Src: /src/mhd2/src/mhd2/upgraded_net.c:298,1
    - Dst: mhd_SCKT_ERR_IS_EINTR
      Src: /src/mhd2/src/mhd2/upgraded_net.c:299,1
    - Dst: mhd_SCKT_ERR_IS_LOW_RESOURCES
      Src: /src/mhd2/src/mhd2/upgraded_net.c:300,1
    - Dst: mhd_sleep
      Src: /src/mhd2/src/mhd2/upgraded_net.c:317,1
    - Dst: mhd_recv
      Src: /src/mhd2/src/mhd2/upgraded_net.c:324,1
    - Dst: mhd_SOCKET_ERR_IS_HARD
      Src: /src/mhd2/src/mhd2/upgraded_net.c:337,1
    - Dst: mhd_SOCKET_ERR_IS_BAD
      Src: /src/mhd2/src/mhd2/upgraded_net.c:343,1
    CyclomaticComplexity: 45
    EdgeCount: 45
    ICount: 117
    argCount: 5
    argNames:
    - MHD_RESTRICT
    - recv_buf_size
    - MHD_RESTRICT
    - MHD_RESTRICT received_size
    - max_wait_millisec
    argTypes:
    - struct MHD_UpgradedHandle*
    - size_t
    - void*
    - size_t*
    - uint_fast64_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 347
      start: 128
    functionDepth: 3
    functionLinenumber: 128
    functionLinenumberEnd: 347
    functionName: MHD_upgraded_recv
    functionSourceFile: /src/mhd2/src/mhd2/upgraded_net.c
    functionUses: 2
    functionsReached:
    - mhd_poll
    - FD_ZERO
    - select
    - mhd_mutex_unlock_chk
    - memcpy
    - mhd_SOCKET_ERR_IS_BAD
    - mhd_sleep
    - mhd_SCKT_ERR_IS_EAGAIN
    - mhd_SCKT_ERR_IS_LOW_RESOURCES
    - mhd_SCKT_ERR_IS_EINTR
    - mhd_SOCKET_ERR_IS_HARD
    - mhd_SCKT_GET_LERR
    - mhd_recv
    - mhd_mutex_lock_chk
    - FD_SET
    linkageType: ''
    returnType: enum MHD_StatusCode
    signature: "enum MHD_StatusCode MHD_upgraded_recv (struct MHD_UpgradedHandle *MHD_RESTRICT
      urh,\n                   size_t recv_buf_size,\n                   void *MHD_RESTRICT
      recv_buf,\n                   size_t *MHD_RESTRICT received_size,\n                   uint_fast64_t
      max_wait_millisec)"
  - BBCount: 32
    BranchProfiles: []
    Callsites:
    - Dst: mhd_send_data
      Src: /src/mhd2/src/mhd2/upgraded_net.c:391,1
    - Dst: mhd_SOCKET_ERR_IS_HARD
      Src: /src/mhd2/src/mhd2/upgraded_net.c:402,1
    - Dst: mhd_SOCKET_ERR_IS_BAD
      Src: /src/mhd2/src/mhd2/upgraded_net.c:411,1
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/upgraded_net.c:419,1
    - Dst: mhd_monotonic_msec_counter
      Src: /src/mhd2/src/mhd2/upgraded_net.c:427,1
    - Dst: mhd_poll
      Src: /src/mhd2/src/mhd2/upgraded_net.c:465,1
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/upgraded_net.c:480,1
    - Dst: mhd_SCKT_GET_LERR
      Src: /src/mhd2/src/mhd2/upgraded_net.c:481,1
    - Dst: mhd_SCKT_ERR_IS_EAGAIN
      Src: /src/mhd2/src/mhd2/upgraded_net.c:482,1
    - Dst: mhd_SCKT_ERR_IS_EINTR
      Src: /src/mhd2/src/mhd2/upgraded_net.c:483,1
    - Dst: mhd_SCKT_ERR_IS_LOW_RESOURCES
      Src: /src/mhd2/src/mhd2/upgraded_net.c:484,1
    - Dst: FD_ZERO
      Src: /src/mhd2/src/mhd2/upgraded_net.c:534,1
    - Dst: FD_SET
      Src: /src/mhd2/src/mhd2/upgraded_net.c:535,1
    - Dst: select
      Src: /src/mhd2/src/mhd2/upgraded_net.c:537,1
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/upgraded_net.c:555,1
    - Dst: mhd_SCKT_GET_LERR
      Src: /src/mhd2/src/mhd2/upgraded_net.c:556,1
    - Dst: mhd_SCKT_ERR_IS_EAGAIN
      Src: /src/mhd2/src/mhd2/upgraded_net.c:557,1
    - Dst: mhd_SCKT_ERR_IS_EINTR
      Src: /src/mhd2/src/mhd2/upgraded_net.c:558,1
    - Dst: mhd_SCKT_ERR_IS_LOW_RESOURCES
      Src: /src/mhd2/src/mhd2/upgraded_net.c:559,1
    - Dst: mhd_sleep
      Src: /src/mhd2/src/mhd2/upgraded_net.c:574,1
    CyclomaticComplexity: 51
    EdgeCount: 51
    ICount: 111
    argCount: 6
    argNames:
    - MHD_RESTRICT
    - send_buf_size
    - MHD_RESTRICT
    - MHD_RESTRICT
    - max_wait_millisec
    - more_data_to_come
    argTypes:
    - struct MHD_UpgradedHandle*
    - size_t
    - void*
    - size_t*
    - uint_fast64_t
    - enum MHD_Bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 581
      start: 353
    functionDepth: 5
    functionLinenumber: 353
    functionLinenumberEnd: 581
    functionName: MHD_upgraded_send
    functionSourceFile: /src/mhd2/src/mhd2/upgraded_net.c
    functionUses: 1
    functionsReached:
    - mhd_monotonic_msec_counter
    - mhd_poll
    - FD_ZERO
    - select
    - mhd_SOCKET_ERR_IS_BAD
    - mhd_SOCKET_ERR_IS_HARD
    - mhd_sleep
    - mhd_SCKT_ERR_IS_EAGAIN
    - mhd_SCKT_ERR_IS_LOW_RESOURCES
    - mhd_SCKT_ERR_IS_EINTR
    - mhd_send_data
    - mhd_SCKT_GET_LERR
    - mhd_assert
    - FD_SET
    linkageType: ''
    returnType: enum MHD_StatusCode
    signature: "enum MHD_StatusCode MHD_upgraded_send (struct MHD_UpgradedHandle *MHD_RESTRICT
      urh,\n                   size_t send_buf_size,\n                   const void
      *MHD_RESTRICT send_buf,\n                   size_t *MHD_RESTRICT sent_size,\n
      \                  uint_fast64_t max_wait_millisec,\n                   enum
      MHD_Bool more_data_to_come)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: mhd_CNTNR_PTR
      Src: /src/mhd2/src/mhd2/request_funcs.c:66,1
    - Dst: mhd_stream_alloc_memory
      Src: /src/mhd2/src/mhd2/request_funcs.c:69,1
    - Dst: mhd_DLINKEDL_INIT_LINKS
      Src: /src/mhd2/src/mhd2/request_funcs.c:76,1
    - Dst: mhd_DLINKEDL_INS_LAST
      Src: /src/mhd2/src/mhd2/request_funcs.c:78,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 10
    argCount: 4
    argNames:
    - s
    - kind
    - name
    - value
    argTypes:
    - struct MHD_Stream*
    - enum MHD_ValueKind
    - struct MHD_String*
    - struct MHD_StringNullable*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 81
      start: 58
    functionDepth: 3
    functionLinenumber: 58
    functionLinenumberEnd: 81
    functionName: mhd_stream_add_field_nullable
    functionSourceFile: /src/mhd2/src/mhd2/request_funcs.c
    functionUses: 1
    functionsReached:
    - mhd_CNTNR_PTR
    - mhd_stream_alloc_memory
    - mhd_DLINKEDL_INS_LAST
    - mhd_DLINKEDL_INIT_LINKS
    linkageType: ''
    returnType: MHD_INTERNAL
    signature: "MHD_INTERNAL mhd_stream_add_field_nullable (struct MHD_Stream *restrict
      s,\n                               enum MHD_ValueKind kind,\n                               const
      struct MHD_String *restrict name,\n                               const struct
      MHD_StringNullable *restrict value)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: mhd_stream_add_field_nullable
      Src: /src/mhd2/src/mhd2/request_funcs.c:95,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 4
    argNames:
    - s
    - kind
    - name
    - value
    argTypes:
    - struct MHD_Stream*
    - enum MHD_ValueKind
    - struct MHD_String*
    - struct MHD_String*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 96
      start: 84
    functionDepth: 4
    functionLinenumber: 84
    functionLinenumberEnd: 96
    functionName: mhd_stream_add_field
    functionSourceFile: /src/mhd2/src/mhd2/request_funcs.c
    functionUses: 3
    functionsReached:
    - mhd_stream_add_field_nullable
    linkageType: ''
    returnType: MHD_INTERNAL
    signature: "MHD_INTERNAL mhd_stream_add_field (struct MHD_Stream *restrict s,\n
      \                     enum MHD_ValueKind kind,\n                      const
      struct MHD_String *restrict name,\n                      const struct MHD_String
      *restrict value)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - d
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 73
      start: 72
    functionDepth: 0
    functionLinenumber: 72
    functionLinenumberEnd: 73
    functionName: mhd_log_extr_event_dereg_failed
    functionSourceFile: /src/mhd2/src/mhd2/extr_events_funcs.h
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: mhd_log_extr_event_dereg_failed(d)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/extr_events_funcs.h:98,1
    - Dst: mhd_WM_INT_HAS_EXT_EVENTS
      Src: /src/mhd2/src/mhd2/extr_events_funcs.h:98,1
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/extr_events_funcs.h:99,1
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/extr_events_funcs.h:100,1
    - Dst: struct MHD_Daemon*::events::data::extr::cb_data::cb
      Src: /src/mhd2/src/mhd2/extr_events_funcs.h:103,1
    - Dst: MHD_FD_STATE_IS_SET_RECV
      Src: /src/mhd2/src/mhd2/extr_events_funcs.h:116,1
    - Dst: MHD_FD_STATE_IS_SET_SEND
      Src: /src/mhd2/src/mhd2/extr_events_funcs.h:117,1
    - Dst: MHD_FD_STATE_IS_SET_EXCEPT
      Src: /src/mhd2/src/mhd2/extr_events_funcs.h:118,1
    - Dst: fprintf
      Src: /src/mhd2/src/mhd2/extr_events_funcs.h:132,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 26
    argCount: 5
    argNames:
    - d
    - fd
    - watch_for
    - app_cntx_old
    - ecb_cntx
    argTypes:
    - struct MHD_Daemon*
    - MHD_Socket
    - enum MHD_FdState
    - void*
    - struct MHD_EventUpdateContext*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 143
      start: 86
    functionDepth: 1
    functionLinenumber: 86
    functionLinenumberEnd: 143
    functionName: mhd_daemon_extr_event_reg
    functionSourceFile: /src/mhd2/src/mhd2/extr_events_funcs.h
    functionUses: 1
    functionsReached:
    - mhd_WM_INT_HAS_EXT_EVENTS
    - struct MHD_Daemon*::events::data::extr::cb_data::cb
    - fprintf
    - MHD_FD_STATE_IS_SET_EXCEPT
    - MHD_FD_STATE_IS_SET_SEND
    - mhd_assert
    - MHD_FD_STATE_IS_SET_RECV
    linkageType: ''
    returnType: void
    signature: "void *\nmhd_daemon_extr_event_reg (struct MHD_Daemon *d,\n                           MHD_Socket
      fd,\n                           enum MHD_FdState watch_for,\n                           void
      *app_cntx_old,\n                           struct MHD_EventUpdateContext *ecb_cntx)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 11
    argNames:
    - (
    - d
    - ','
    - fd
    - ','
    - w_for
    - ','
    - app_cntx_old
    - ','
    - ecb_cntx
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 148
      start: 145
    functionDepth: 0
    functionLinenumber: 145
    functionLinenumberEnd: 148
    functionName: mhd_daemon_extr_event_reg
    functionSourceFile: /src/mhd2/src/mhd2/extr_events_funcs.h
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: mhd_daemon_extr_event_reg(d, fd, w_for, app_cntx_old, ecb_cntx)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - pitc
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 81
      start: 80
    functionDepth: 0
    functionLinenumber: 80
    functionLinenumberEnd: 81
    functionName: mhd_itc_set_invalid
    functionSourceFile: /src/mhd2/src/mhd2/mhd_itc.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: mhd_itc_set_invalid(pitc)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - itc
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 92
      start: 91
    functionDepth: 0
    functionLinenumber: 91
    functionLinenumberEnd: 92
    functionName: mhd_ITC_IS_VALID
    functionSourceFile: /src/mhd2/src/mhd2/mhd_itc.h
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: mhd_ITC_IS_VALID(itc)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - pitc
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 100
      start: 98
    functionDepth: 0
    functionLinenumber: 98
    functionLinenumberEnd: 100
    functionName: mhd_itc_init
    functionSourceFile: /src/mhd2/src/mhd2/mhd_itc.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: mhd_itc_init(pitc)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - itc
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 121
      start: 118
    functionDepth: 0
    functionLinenumber: 118
    functionLinenumberEnd: 121
    functionName: mhd_itc_activate
    functionSourceFile: /src/mhd2/src/mhd2/mhd_itc.h
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: mhd_itc_activate(itc)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - itc
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 128
      start: 127
    functionDepth: 0
    functionLinenumber: 127
    functionLinenumberEnd: 128
    functionName: mhd_itc_r_fd
    functionSourceFile: /src/mhd2/src/mhd2/mhd_itc.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: mhd_itc_r_fd(itc)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - itc
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 137
      start: 133
    functionDepth: 0
    functionLinenumber: 133
    functionLinenumberEnd: 137
    functionName: mhd_itc_clear
    functionSourceFile: /src/mhd2/src/mhd2/mhd_itc.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: mhd_itc_clear(itc)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - itc
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 147
      start: 145
    functionDepth: 0
    functionLinenumber: 145
    functionLinenumberEnd: 147
    functionName: mhd_itc_destroy
    functionSourceFile: /src/mhd2/src/mhd2/mhd_itc.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: mhd_itc_destroy(itc)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - pitc
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 178
      start: 177
    functionDepth: 0
    functionLinenumber: 177
    functionLinenumberEnd: 178
    functionName: mhd_itc_set_invalid
    functionSourceFile: /src/mhd2/src/mhd2/mhd_itc.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: mhd_itc_set_invalid(pitc)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - itc
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 189
      start: 188
    functionDepth: 0
    functionLinenumber: 188
    functionLinenumberEnd: 189
    functionName: mhd_ITC_IS_VALID
    functionSourceFile: /src/mhd2/src/mhd2/mhd_itc.h
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: mhd_ITC_IS_VALID(itc)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - pitc
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 197
      start: 196
    functionDepth: 0
    functionLinenumber: 196
    functionLinenumberEnd: 197
    functionName: mhd_itc_init
    functionSourceFile: /src/mhd2/src/mhd2/mhd_itc.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: mhd_itc_init(pitc)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - pitc
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 204
      start: 198
    functionDepth: 0
    functionLinenumber: 198
    functionLinenumberEnd: 204
    functionName: mhd_itc_init
    functionSourceFile: /src/mhd2/src/mhd2/mhd_itc.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: mhd_itc_init(pitc)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - itc
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 224
      start: 222
    functionDepth: 0
    functionLinenumber: 222
    functionLinenumberEnd: 224
    functionName: mhd_itc_activate
    functionSourceFile: /src/mhd2/src/mhd2/mhd_itc.h
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: mhd_itc_activate(itc)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - itc
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 231
      start: 230
    functionDepth: 0
    functionLinenumber: 230
    functionLinenumberEnd: 231
    functionName: mhd_itc_r_fd
    functionSourceFile: /src/mhd2/src/mhd2/mhd_itc.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: mhd_itc_r_fd(itc)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - itc
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 240
      start: 236
    functionDepth: 0
    functionLinenumber: 236
    functionLinenumberEnd: 240
    functionName: mhd_itc_clear
    functionSourceFile: /src/mhd2/src/mhd2/mhd_itc.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: mhd_itc_clear(itc)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - itc
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 248
      start: 246
    functionDepth: 0
    functionLinenumber: 246
    functionLinenumberEnd: 248
    functionName: mhd_itc_destroy
    functionSourceFile: /src/mhd2/src/mhd2/mhd_itc.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: mhd_itc_destroy(itc)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - pitc
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 270
      start: 268
    functionDepth: 0
    functionLinenumber: 268
    functionLinenumberEnd: 270
    functionName: mhd_itc_set_invalid
    functionSourceFile: /src/mhd2/src/mhd2/mhd_itc.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: mhd_itc_set_invalid(pitc)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - itc
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 281
      start: 280
    functionDepth: 0
    functionLinenumber: 280
    functionLinenumberEnd: 281
    functionName: mhd_ITC_IS_VALID
    functionSourceFile: /src/mhd2/src/mhd2/mhd_itc.h
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: mhd_ITC_IS_VALID(itc)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - pitc
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 289
      start: 288
    functionDepth: 0
    functionLinenumber: 288
    functionLinenumberEnd: 289
    functionName: mhd_itc_init
    functionSourceFile: /src/mhd2/src/mhd2/mhd_itc.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: mhd_itc_init(pitc)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - pitc
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 294
      start: 290
    functionDepth: 0
    functionLinenumber: 290
    functionLinenumberEnd: 294
    functionName: mhd_itc_init
    functionSourceFile: /src/mhd2/src/mhd2/mhd_itc.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: mhd_itc_init(pitc)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - pitc
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 304
      start: 301
    functionDepth: 0
    functionLinenumber: 301
    functionLinenumberEnd: 304
    functionName: mhd_itc_nonblocking
    functionSourceFile: /src/mhd2/src/mhd2/mhd_itc.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: mhd_itc_nonblocking(pitc)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - itc
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 314
      start: 312
    functionDepth: 0
    functionLinenumber: 312
    functionLinenumberEnd: 314
    functionName: mhd_itc_activate
    functionSourceFile: /src/mhd2/src/mhd2/mhd_itc.h
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: mhd_itc_activate(itc)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - itc
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 321
      start: 320
    functionDepth: 0
    functionLinenumber: 320
    functionLinenumberEnd: 321
    functionName: mhd_itc_r_fd
    functionSourceFile: /src/mhd2/src/mhd2/mhd_itc.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: mhd_itc_r_fd(itc)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - itc
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 330
      start: 326
    functionDepth: 0
    functionLinenumber: 326
    functionLinenumberEnd: 330
    functionName: mhd_itc_clear
    functionSourceFile: /src/mhd2/src/mhd2/mhd_itc.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: mhd_itc_clear(itc)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - itc
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 340
      start: 336
    functionDepth: 0
    functionLinenumber: 336
    functionLinenumberEnd: 340
    functionName: mhd_itc_destroy
    functionSourceFile: /src/mhd2/src/mhd2/mhd_itc.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: mhd_itc_destroy(itc)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - itc
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 352
      start: 348
    functionDepth: 0
    functionLinenumber: 348
    functionLinenumberEnd: 352
    functionName: mhd_itc_destroy_chk
    functionSourceFile: /src/mhd2/src/mhd2/mhd_itc.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: mhd_itc_destroy_chk(itc)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - itc
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 363
      start: 362
    functionDepth: 0
    functionLinenumber: 362
    functionLinenumberEnd: 363
    functionName: mhd_ITC_IS_INVALID
    functionSourceFile: /src/mhd2/src/mhd2/mhd_itc.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: mhd_ITC_IS_INVALID(itc)
  - BBCount: 15
    BranchProfiles: []
    Callsites:
    - Dst: mhd_MSTR_INIT
      Src: /src/mhd2/src/mhd2/request_auth_get.c:70,1
    - Dst: mhd_MSTR_INIT
      Src: /src/mhd2/src/mhd2/request_auth_get.c:72,1
    - Dst: mhd_MSTR_INIT
      Src: /src/mhd2/src/mhd2/request_auth_get.c:75,1
    - Dst: mhd_CNTNR_PTR
      Src: /src/mhd2/src/mhd2/request_auth_get.c:78,1
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/request_auth_get.c:86,1
    - Dst: mhd_CNTNR_PTR
      Src: /src/mhd2/src/mhd2/request_auth_get.c:87,1
    - Dst: mhd_UNREACHABLE
      Src: /src/mhd2/src/mhd2/request_auth_get.c:107,1
    - Dst: mhd_DLINKEDL_GET_FIRST
      Src: /src/mhd2/src/mhd2/request_auth_get.c:111,1
    - Dst: mhd_DLINKEDL_GET_NEXT
      Src: /src/mhd2/src/mhd2/request_auth_get.c:112,1
    - Dst: mhd_str_equal_caseless_bin_n
      Src: /src/mhd2/src/mhd2/request_auth_get.c:120,1
    - Dst: mhd_str_equal_caseless_bin_n
      Src: /src/mhd2/src/mhd2/request_auth_get.c:124,1
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/request_auth_get.c:149,1
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/request_auth_get.c:160,1
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/request_auth_get.c:161,1
    CyclomaticComplexity: 26
    EdgeCount: 26
    ICount: 49
    argCount: 3
    argNames:
    - request
    - auth_type
    - header_value
    argTypes:
    - struct MHD_Request*
    - enum mhd_AuthHeaderKind
    - struct MHD_String*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 165
      start: 64
    functionDepth: 1
    functionLinenumber: 64
    functionLinenumberEnd: 165
    functionName: mhd_request_get_auth_header_value
    functionSourceFile: /src/mhd2/src/mhd2/request_auth_get.c
    functionUses: 1
    functionsReached:
    - mhd_str_equal_caseless_bin_n
    - mhd_DLINKEDL_GET_NEXT
    - mhd_UNREACHABLE
    - mhd_CNTNR_PTR
    - mhd_MSTR_INIT
    - mhd_assert
    - mhd_DLINKEDL_GET_FIRST
    linkageType: ''
    returnType: MHD_INTERNAL
    signature: "MHD_INTERNAL mhd_request_get_auth_header_value (struct MHD_Request
      *restrict request,\n                                   enum mhd_AuthHeaderKind
      auth_type,\n                                   struct MHD_String *restrict header_value)"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: free
      Src: /src/mhd2/src/mhd2/daemon_start.c:124,1
    - Dst: mhd_socket_close
      Src: /src/mhd2/src/mhd2/daemon_start.c:126,1
    - Dst: free
      Src: /src/mhd2/src/mhd2/daemon_start.c:128,1
    - Dst: free
      Src: /src/mhd2/src/mhd2/daemon_start.c:130,1
    - Dst: free
      Src: /src/mhd2/src/mhd2/daemon_start.c:131,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 10
    argCount: 1
    argNames:
    - s
    argTypes:
    - struct DaemonOptions*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 132
      start: 119
    functionDepth: 1
    functionLinenumber: 119
    functionLinenumberEnd: 132
    functionName: dsettings_release
    functionSourceFile: /src/mhd2/src/mhd2/daemon_start.c
    functionUses: 0
    functionsReached:
    - free
    - mhd_socket_close
    linkageType: ''
    returnType: void
    signature: void dsettings_release (struct DaemonOptions *s)
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 11
    argCount: 2
    argNames:
    - d
    - s
    argTypes:
    - struct MHD_Daemon*
    - struct DaemonOptions*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 171
      start: 143
    functionDepth: 0
    functionLinenumber: 143
    functionLinenumberEnd: 171
    functionName: "(1) MHD_FN_PAR_NONNULL_ (2)\nMHD_FN_MUST_CHECK_RESULT_ enum MHD_StatusCode\ndaemon_set_basic_settings
      (struct MHD_Daemon *restrict d,\n                           struct DaemonOptions
      *restrict s)"
    functionSourceFile: /src/mhd2/src/mhd2/daemon_start.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: MHD_FN_PAR_NONNULL_
    signature: "MHD_FN_PAR_NONNULL_ (1) MHD_FN_PAR_NONNULL_ (2)\nMHD_FN_MUST_CHECK_RESULT_
      enum MHD_StatusCode\ndaemon_set_basic_settings (struct MHD_Daemon *restrict
      d,\n                           struct DaemonOptions *restrict s)"
  - BBCount: 16
    BranchProfiles: []
    Callsites:
    - Dst: mhd_LOG_MSG
      Src: /src/mhd2/src/mhd2/daemon_start.c:198,1
    - Dst: mhd_LOG_MSG
      Src: /src/mhd2/src/mhd2/daemon_start.c:214,1
    - Dst: mhd_LOG_MSG
      Src: /src/mhd2/src/mhd2/daemon_start.c:221,1
    - Dst: mhd_LOG_MSG
      Src: /src/mhd2/src/mhd2/daemon_start.c:234,1
    - Dst: mhd_LOG_MSG
      Src: /src/mhd2/src/mhd2/daemon_start.c:242,1
    - Dst: mhd_LOG_MSG
      Src: /src/mhd2/src/mhd2/daemon_start.c:252,1
    - Dst: mhd_LOG_MSG
      Src: /src/mhd2/src/mhd2/daemon_start.c:266,1
    - Dst: mhd_LOG_MSG
      Src: /src/mhd2/src/mhd2/daemon_start.c:275,1
    CyclomaticComplexity: 18
    EdgeCount: 18
    ICount: 52
    argCount: 2
    argNames:
    - d
    - s
    argTypes:
    - struct MHD_Daemon*
    - struct DaemonOptions*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 284
      start: 184
    functionDepth: 1
    functionLinenumber: 184
    functionLinenumberEnd: 284
    functionName: "(1) MHD_FN_PAR_NONNULL_ (2)\nMHD_FN_MUST_CHECK_RESULT_ enum MHD_StatusCode\ndaemon_set_work_mode
      (struct MHD_Daemon *restrict d,\n                      struct DaemonOptions
      *restrict s)"
    functionSourceFile: /src/mhd2/src/mhd2/daemon_start.c
    functionUses: 0
    functionsReached:
    - mhd_LOG_MSG
    linkageType: ''
    returnType: MHD_FN_PAR_NONNULL_
    signature: "MHD_FN_PAR_NONNULL_ (1) MHD_FN_PAR_NONNULL_ (2)\nMHD_FN_MUST_CHECK_RESULT_
      enum MHD_StatusCode\ndaemon_set_work_mode (struct MHD_Daemon *restrict d,\n
      \                     struct DaemonOptions *restrict s)"
  - BBCount: 94
    BranchProfiles: []
    Callsites:
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/daemon_start.c:397,1
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/daemon_start.c:398,1
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/daemon_start.c:400,1
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/daemon_start.c:404,1
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/daemon_start.c:405,1
    - Dst: mhd_LOG_MSG
      Src: /src/mhd2/src/mhd2/daemon_start.c:409,1
    - Dst: mhd_LOG_MSG
      Src: /src/mhd2/src/mhd2/daemon_start.c:416,1
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/daemon_start.c:432,1
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/daemon_start.c:433,1
    - Dst: mhd_LOG_MSG
      Src: /src/mhd2/src/mhd2/daemon_start.c:438,1
    - Dst: mhd_LOG_MSG
      Src: /src/mhd2/src/mhd2/daemon_start.c:451,1
    - Dst: memcpy
      Src: /src/mhd2/src/mhd2/daemon_start.c:456,1
    - Dst: ntohs
      Src: /src/mhd2/src/mhd2/daemon_start.c:457,1
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/daemon_start.c:459,1
    - Dst: mhd_LOG_MSG
      Src: /src/mhd2/src/mhd2/daemon_start.c:470,1
    - Dst: memcpy
      Src: /src/mhd2/src/mhd2/daemon_start.c:475,1
    - Dst: ntohs
      Src: /src/mhd2/src/mhd2/daemon_start.c:476,1
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/daemon_start.c:478,1
    - Dst: mhd_LOG_MSG
      Src: /src/mhd2/src/mhd2/daemon_start.c:501,1
    - Dst: mhd_LOG_MSG
      Src: /src/mhd2/src/mhd2/daemon_start.c:510,1
    - Dst: memcpy
      Src: /src/mhd2/src/mhd2/daemon_start.c:527,1
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/daemon_start.c:528,1
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/daemon_start.c:544,1
    - Dst: mhd_UNREACHABLE
      Src: /src/mhd2/src/mhd2/daemon_start.c:545,1
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/daemon_start.c:557,1
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/daemon_start.c:568,1
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/daemon_start.c:569,1
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/daemon_start.c:573,1
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/daemon_start.c:574,1
    - Dst: mhd_LOG_MSG
      Src: /src/mhd2/src/mhd2/daemon_start.c:578,1
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/daemon_start.c:585,1
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/daemon_start.c:586,1
    - Dst: mhd_LOG_MSG
      Src: /src/mhd2/src/mhd2/daemon_start.c:591,1
    - Dst: mhd_LOG_MSG
      Src: /src/mhd2/src/mhd2/daemon_start.c:598,1
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/daemon_start.c:605,1
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/daemon_start.c:606,1
    - Dst: mhd_LOG_MSG
      Src: /src/mhd2/src/mhd2/daemon_start.c:614,1
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/daemon_start.c:621,1
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/daemon_start.c:627,1
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/daemon_start.c:631,1
    - Dst: mhd_LOG_MSG
      Src: /src/mhd2/src/mhd2/daemon_start.c:636,1
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/daemon_start.c:641,1
    - Dst: memset
      Src: /src/mhd2/src/mhd2/daemon_start.c:648,1
    - Dst: htons
      Src: /src/mhd2/src/mhd2/daemon_start.c:650,1
    - Dst: htonl
      Src: /src/mhd2/src/mhd2/daemon_start.c:653,1
    - Dst: memset
      Src: /src/mhd2/src/mhd2/daemon_start.c:671,1
    - Dst: htons
      Src: /src/mhd2/src/mhd2/daemon_start.c:673,1
    - Dst: mhd_UNREACHABLE
      Src: /src/mhd2/src/mhd2/daemon_start.c:690,1
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/daemon_start.c:710,1
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/daemon_start.c:711,1
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/daemon_start.c:712,1
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/daemon_start.c:716,1
    - Dst: WSASocketW
      Src: /src/mhd2/src/mhd2/daemon_start.c:719,1
    - Dst: socket
      Src: /src/mhd2/src/mhd2/daemon_start.c:724,1
    - Dst: create_bind_listen_stream_socket_inner
      Src: /src/mhd2/src/mhd2/daemon_start.c:732,1
    - Dst: create_bind_listen_stream_socket_inner
      Src: /src/mhd2/src/mhd2/daemon_start.c:738,1
    - Dst: mhd_SCKT_LERR_IS_AF
      Src: /src/mhd2/src/mhd2/daemon_start.c:748,1
    - Dst: mhd_LOG_MSG
      Src: /src/mhd2/src/mhd2/daemon_start.c:750,1
    - Dst: mhd_LOG_MSG
      Src: /src/mhd2/src/mhd2/daemon_start.c:755,1
    - Dst: mhd_FD_FITS_DAEMON
      Src: /src/mhd2/src/mhd2/daemon_start.c:776,1
    - Dst: mhd_LOG_MSG
      Src: /src/mhd2/src/mhd2/daemon_start.c:778,1
    - Dst: mhd_socket_noninheritable
      Src: /src/mhd2/src/mhd2/daemon_start.c:786,1
    - Dst: mhd_LOG_MSG
      Src: /src/mhd2/src/mhd2/daemon_start.c:787,1
    - Dst: mhd_setsockopt
      Src: /src/mhd2/src/mhd2/daemon_start.c:809,1
    - Dst: mhd_getsockopt
      Src: /src/mhd2/src/mhd2/daemon_start.c:823,1
    - Dst: mhd_socket_close
      Src: /src/mhd2/src/mhd2/daemon_start.c:840,1
    - Dst: create_bind_listen_stream_socket_inner
      Src: /src/mhd2/src/mhd2/daemon_start.c:841,1
    - Dst: mhd_LOG_MSG
      Src: /src/mhd2/src/mhd2/daemon_start.c:852,1
    - Dst: mhd_LOG_MSG
      Src: /src/mhd2/src/mhd2/daemon_start.c:863,1
    - Dst: mhd_LOG_MSG
      Src: /src/mhd2/src/mhd2/daemon_start.c:880,1
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/daemon_start.c:889,1
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/daemon_start.c:890,1
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/daemon_start.c:891,1
    - Dst: mhd_setsockopt
      Src: /src/mhd2/src/mhd2/daemon_start.c:907,1
    - Dst: mhd_LOG_MSG
      Src: /src/mhd2/src/mhd2/daemon_start.c:911,1
    - Dst: mhd_LOG_MSG
      Src: /src/mhd2/src/mhd2/daemon_start.c:923,1
    - Dst: mhd_setsockopt
      Src: /src/mhd2/src/mhd2/daemon_start.c:936,1
    - Dst: mhd_LOG_MSG
      Src: /src/mhd2/src/mhd2/daemon_start.c:939,1
    - Dst: mhd_LOG_MSG
      Src: /src/mhd2/src/mhd2/daemon_start.c:944,1
    - Dst: mhd_setsockopt
      Src: /src/mhd2/src/mhd2/daemon_start.c:958,1
    - Dst: mhd_LOG_MSG
      Src: /src/mhd2/src/mhd2/daemon_start.c:964,1
    - Dst: mhd_LOG_MSG
      Src: /src/mhd2/src/mhd2/daemon_start.c:971,1
    - Dst: mhd_setsockopt
      Src: /src/mhd2/src/mhd2/daemon_start.c:989,1
    - Dst: mhd_LOG_MSG
      Src: /src/mhd2/src/mhd2/daemon_start.c:995,1
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/daemon_start.c:1004,1
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/daemon_start.c:1005,1
    - Dst: bind
      Src: /src/mhd2/src/mhd2/daemon_start.c:1006,1
    - Dst: mhd_socket_close
      Src: /src/mhd2/src/mhd2/daemon_start.c:1013,1
    - Dst: create_bind_listen_stream_socket_inner
      Src: /src/mhd2/src/mhd2/daemon_start.c:1014,1
    - Dst: mhd_socket_close
      Src: /src/mhd2/src/mhd2/daemon_start.c:1022,1
    - Dst: create_bind_listen_stream_socket_inner
      Src: /src/mhd2/src/mhd2/daemon_start.c:1023,1
    - Dst: listen
      Src: /src/mhd2/src/mhd2/daemon_start.c:1047,1
    - Dst: mhd_socket_close
      Src: /src/mhd2/src/mhd2/daemon_start.c:1053,1
    - Dst: create_bind_listen_stream_socket_inner
      Src: /src/mhd2/src/mhd2/daemon_start.c:1054,1
    - Dst: mhd_socket_close
      Src: /src/mhd2/src/mhd2/daemon_start.c:1062,1
    - Dst: create_bind_listen_stream_socket_inner
      Src: /src/mhd2/src/mhd2/daemon_start.c:1063,1
    - Dst: mhd_socket_nonblocking
      Src: /src/mhd2/src/mhd2/daemon_start.c:1078,1
    - Dst: mhd_LOG_MSG
      Src: /src/mhd2/src/mhd2/daemon_start.c:1080,1
    - Dst: mhd_UNREACHABLE
      Src: /src/mhd2/src/mhd2/daemon_start.c:1108,1
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/daemon_start.c:1114,1
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/daemon_start.c:1120,1
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/daemon_start.c:1121,1
    - Dst: mhd_socket_close
      Src: /src/mhd2/src/mhd2/daemon_start.c:1122,1
    CyclomaticComplexity: 107
    EdgeCount: 107
    ICount: 393
    argCount: 5
    argNames:
    - d
    - s
    - v6_tried
    - force_v6_any_dual
    - prev_bnd_lstn_err
    argTypes:
    - struct MHD_Daemon*
    - struct DaemonOptions*
    - bool
    - bool
    - enum MHD_StatusCode
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1124
      start: 371
    functionDepth: 1
    functionLinenumber: 371
    functionLinenumberEnd: 1124
    functionName: create_bind_listen_stream_socket_inner
    functionSourceFile: /src/mhd2/src/mhd2/daemon_start.c
    functionUses: 1
    functionsReached:
    - mhd_socket_nonblocking
    - htons
    - mhd_setsockopt
    - mhd_socket_noninheritable
    - mhd_getsockopt
    - listen
    - mhd_SCKT_LERR_IS_AF
    - mhd_LOG_MSG
    - htonl
    - mhd_UNREACHABLE
    - WSASocketW
    - mhd_FD_FITS_DAEMON
    - memcpy
    - memset
    - mhd_socket_close
    - bind
    - create_bind_listen_stream_socket_inner
    - socket
    - ntohs
    - mhd_assert
    linkageType: ''
    returnType: enum MHD_StatusCode
    signature: "enum MHD_StatusCode create_bind_listen_stream_socket_inner (struct
      MHD_Daemon *restrict d,\n                                        struct DaemonOptions
      *restrict s,\n                                        bool v6_tried,\n                                        bool
      force_v6_any_dual,\n                                        enum MHD_StatusCode
      prev_bnd_lstn_err)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: create_bind_listen_stream_socket_inner
      Src: /src/mhd2/src/mhd2/daemon_start.c:1144,1
    - Dst: mhd_LOG_MSG
      Src: /src/mhd2/src/mhd2/daemon_start.c:1151,1
    - Dst: mhd_LOG_MSG
      Src: /src/mhd2/src/mhd2/daemon_start.c:1154,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 2
    argNames:
    - d
    - s
    argTypes:
    - struct MHD_Daemon*
    - struct DaemonOptions*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1159
      start: 1138
    functionDepth: 2
    functionLinenumber: 1138
    functionLinenumberEnd: 1159
    functionName: create_bind_listen_stream_socket
    functionSourceFile: /src/mhd2/src/mhd2/daemon_start.c
    functionUses: 0
    functionsReached:
    - mhd_LOG_MSG
    - create_bind_listen_stream_socket_inner
    linkageType: ''
    returnType: enum MHD_StatusCode
    signature: "enum MHD_StatusCode create_bind_listen_stream_socket (struct MHD_Daemon
      *restrict d,\n                                  struct DaemonOptions *restrict
      s)"
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/daemon_start.c:1174,1
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/daemon_start.c:1175,1
    - Dst: memset
      Src: /src/mhd2/src/mhd2/daemon_start.c:1176,1
    - Dst: getsockname
      Src: /src/mhd2/src/mhd2/daemon_start.c:1179,1
    - Dst: mhd_LOG_MSG
      Src: /src/mhd2/src/mhd2/daemon_start.c:1182,1
    - Dst: ntohs
      Src: /src/mhd2/src/mhd2/daemon_start.c:1204,1
    - Dst: ntohs
      Src: /src/mhd2/src/mhd2/daemon_start.c:1209,1
    - Dst: mhd_LOG_MSG
      Src: /src/mhd2/src/mhd2/daemon_start.c:1227,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 37
    argCount: 1
    argNames:
    - d
    argTypes:
    - struct MHD_Daemon*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1230
      start: 1167
    functionDepth: 1
    functionLinenumber: 1167
    functionLinenumberEnd: 1230
    functionName: '(1) void

      detect_listen_type_and_port (struct MHD_Daemon *restrict d)'
    functionSourceFile: /src/mhd2/src/mhd2/daemon_start.c
    functionUses: 0
    functionsReached:
    - memset
    - mhd_LOG_MSG
    - getsockname
    - ntohs
    - mhd_assert
    linkageType: ''
    returnType: MHD_FN_PAR_NONNULL_
    signature: 'MHD_FN_PAR_NONNULL_ (1) void

      detect_listen_type_and_port (struct MHD_Daemon *restrict d)'
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - d
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1235
      start: 1234
    functionDepth: 0
    functionLinenumber: 1234
    functionLinenumberEnd: 1235
    functionName: detect_listen_type_and_port
    functionSourceFile: /src/mhd2/src/mhd2/daemon_start.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: detect_listen_type_and_port(d)
  - BBCount: 11
    BranchProfiles: []
    Callsites:
    - Dst: mhd_ASSUME
      Src: /src/mhd2/src/mhd2/daemon_start.c:1257,1
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/daemon_start.c:1258,1
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/daemon_start.c:1260,1
    - Dst: mhd_WM_INT_IS_THREAD_PER_CONN
      Src: /src/mhd2/src/mhd2/daemon_start.c:1260,1
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/daemon_start.c:1261,1
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/daemon_start.c:1262,1
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/daemon_start.c:1263,1
    - Dst: mhd_ASSUME
      Src: /src/mhd2/src/mhd2/daemon_start.c:1269,1
    - Dst: mhd_D_HAS_MASTER
      Src: /src/mhd2/src/mhd2/daemon_start.c:1270,1
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/daemon_start.c:1272,1
    - Dst: mhd_ASSUME
      Src: /src/mhd2/src/mhd2/daemon_start.c:1299,1
    - Dst: epoll_create1
      Src: /src/mhd2/src/mhd2/daemon_start.c:1302,1
    - Dst: epoll_create
      Src: /src/mhd2/src/mhd2/daemon_start.c:1304,1
    - Dst: mhd_socket_noninheritable
      Src: /src/mhd2/src/mhd2/daemon_start.c:1307,1
    - Dst: mhd_LOG_MSG
      Src: /src/mhd2/src/mhd2/daemon_start.c:1308,1
    - Dst: mhd_LOG_MSG
      Src: /src/mhd2/src/mhd2/daemon_start.c:1315,1
    - Dst: mhd_FD_FITS_DAEMON
      Src: /src/mhd2/src/mhd2/daemon_start.c:1320,1
    - Dst: mhd_LOG_MSG
      Src: /src/mhd2/src/mhd2/daemon_start.c:1323,1
    - Dst: close
      Src: /src/mhd2/src/mhd2/daemon_start.c:1325,1
    CyclomaticComplexity: 15
    EdgeCount: 15
    ICount: 45
    argCount: 3
    argNames:
    - d
    - early_probing
    - log_failures
    argTypes:
    - struct MHD_Daemon*
    - bool
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1337
      start: 1251
    functionDepth: 1
    functionLinenumber: 1251
    functionLinenumberEnd: 1337
    functionName: init_epoll_fd
    functionSourceFile: /src/mhd2/src/mhd2/daemon_start.c
    functionUses: 0
    functionsReached:
    - close
    - epoll_create
    - mhd_ASSUME
    - mhd_LOG_MSG
    - mhd_D_HAS_MASTER
    - mhd_socket_noninheritable
    - mhd_FD_FITS_DAEMON
    - mhd_WM_INT_IS_THREAD_PER_CONN
    - epoll_create1
    - mhd_assert
    linkageType: ''
    returnType: enum MHD_StatusCode
    signature: "enum MHD_StatusCode init_epoll_fd (struct MHD_Daemon *restrict d,\n
      \              bool early_probing,\n               bool log_failures)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/daemon_start.c:1347,1
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/daemon_start.c:1348,1
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/daemon_start.c:1349,1
    - Dst: close
      Src: /src/mhd2/src/mhd2/daemon_start.c:1350,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 1
    argNames:
    - d
    argTypes:
    - struct MHD_Daemon*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1351
      start: 1344
    functionDepth: 1
    functionLinenumber: 1344
    functionLinenumberEnd: 1351
    functionName: deinit_epoll_fd
    functionSourceFile: /src/mhd2/src/mhd2/daemon_start.c
    functionUses: 0
    functionsReached:
    - close
    - mhd_assert
    linkageType: ''
    returnType: void
    signature: void deinit_epoll_fd (struct MHD_Daemon *restrict d)
  - BBCount: 30
    BranchProfiles: []
    Callsites:
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/daemon_start.c:1371,1
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/daemon_start.c:1373,1
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/daemon_start.c:1385,1
    - Dst: mhd_WM_INT_HAS_EXT_EVENTS
      Src: /src/mhd2/src/mhd2/daemon_start.c:1385,1
    - Dst: mhd_LOG_MSG
      Src: /src/mhd2/src/mhd2/daemon_start.c:1387,1
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/daemon_start.c:1396,1
    - Dst: mhd_WM_INT_HAS_EXT_EVENTS
      Src: /src/mhd2/src/mhd2/daemon_start.c:1396,1
    - Dst: mhd_LOG_MSG
      Src: /src/mhd2/src/mhd2/daemon_start.c:1398,1
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/daemon_start.c:1407,1
    - Dst: mhd_WM_INT_HAS_EXT_EVENTS
      Src: /src/mhd2/src/mhd2/daemon_start.c:1407,1
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/daemon_start.c:1408,1
    - Dst: mhd_WM_INT_IS_THREAD_PER_CONN
      Src: /src/mhd2/src/mhd2/daemon_start.c:1408,1
    - Dst: mhd_LOG_MSG
      Src: /src/mhd2/src/mhd2/daemon_start.c:1410,1
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/daemon_start.c:1419,1
    - Dst: mhd_WM_INT_HAS_EXT_EVENTS
      Src: /src/mhd2/src/mhd2/daemon_start.c:1419,1
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/daemon_start.c:1420,1
    - Dst: mhd_WM_INT_IS_THREAD_PER_CONN
      Src: /src/mhd2/src/mhd2/daemon_start.c:1420,1
    - Dst: mhd_LOG_MSG
      Src: /src/mhd2/src/mhd2/daemon_start.c:1422,1
    - Dst: mhd_LOG_MSG
      Src: /src/mhd2/src/mhd2/daemon_start.c:1431,1
    - Dst: mhd_POLL_TYPE_INT_IS_EDGE_TRIG
      Src: /src/mhd2/src/mhd2/daemon_start.c:1438,1
    - Dst: mhd_tls_is_edge_trigg_supported
      Src: /src/mhd2/src/mhd2/daemon_start.c:1442,1
    - Dst: mhd_LOG_MSG
      Src: /src/mhd2/src/mhd2/daemon_start.c:1446,1
    - Dst: mhd_LOG_MSG
      Src: /src/mhd2/src/mhd2/daemon_start.c:1450,1
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/daemon_start.c:1460,1
    - Dst: mhd_ASSUME
      Src: /src/mhd2/src/mhd2/daemon_start.c:1461,1
    - Dst: mhd_WM_INT_HAS_EXT_EVENTS
      Src: /src/mhd2/src/mhd2/daemon_start.c:1466,1
    - Dst: mhd_POLL_TYPE_INT_IS_KQUEUE
      Src: /src/mhd2/src/mhd2/daemon_start.c:1473,1
    - Dst: mhd_POLL_TYPE_INT_IS_EPOLL
      Src: /src/mhd2/src/mhd2/daemon_start.c:1474,1
    - Dst: mhd_WM_INT_IS_THREAD_PER_CONN
      Src: /src/mhd2/src/mhd2/daemon_start.c:1479,1
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/daemon_start.c:1481,1
    - Dst: mhd_POLL_TYPE_INT_IS_KQUEUE
      Src: /src/mhd2/src/mhd2/daemon_start.c:1481,1
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/daemon_start.c:1482,1
    - Dst: mhd_POLL_TYPE_INT_IS_EPOLL
      Src: /src/mhd2/src/mhd2/daemon_start.c:1482,1
    - Dst: mhd_tls_is_edge_trigg_supported
      Src: /src/mhd2/src/mhd2/daemon_start.c:1487,1
    - Dst: mhd_ASSUME
      Src: /src/mhd2/src/mhd2/daemon_start.c:1492,1
    - Dst: mhd_POLL_TYPE_INT_IS_KQUEUE
      Src: /src/mhd2/src/mhd2/daemon_start.c:1493,1
    - Dst: mhd_POLL_TYPE_INT_IS_EPOLL
      Src: /src/mhd2/src/mhd2/daemon_start.c:1494,1
    - Dst: mhd_POLL_TYPE_INT_IS_KQUEUE
      Src: /src/mhd2/src/mhd2/daemon_start.c:1498,1
    - Dst: mhd_POLL_TYPE_INT_IS_EPOLL
      Src: /src/mhd2/src/mhd2/daemon_start.c:1503,1
    - Dst: init_epoll_fd
      Src: /src/mhd2/src/mhd2/daemon_start.c:1507,1
    - Dst: mhd_POLL_TYPE_INT_IS_EPOLL
      Src: /src/mhd2/src/mhd2/daemon_start.c:1509,1
    - Dst: mhd_POLL_TYPE_INT_IS_EPOLL
      Src: /src/mhd2/src/mhd2/daemon_start.c:1512,1
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/daemon_start.c:1514,1
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/daemon_start.c:1522,1
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/daemon_start.c:1525,1
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/daemon_start.c:1527,1
    - Dst: mhd_LOG_MSG
      Src: /src/mhd2/src/mhd2/daemon_start.c:1539,1
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/daemon_start.c:1549,1
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/daemon_start.c:1551,1
    - Dst: mhd_WM_INT_HAS_EXT_EVENTS
      Src: /src/mhd2/src/mhd2/daemon_start.c:1551,1
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/daemon_start.c:1565,1
    - Dst: mhd_WM_INT_HAS_EXT_EVENTS
      Src: /src/mhd2/src/mhd2/daemon_start.c:1565,1
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/daemon_start.c:1566,1
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/daemon_start.c:1567,1
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/daemon_start.c:1568,1
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/daemon_start.c:1569,1
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/daemon_start.c:1578,1
    - Dst: mhd_WM_INT_HAS_EXT_EVENTS
      Src: /src/mhd2/src/mhd2/daemon_start.c:1578,1
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/daemon_start.c:1579,1
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/daemon_start.c:1580,1
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/daemon_start.c:1581,1
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/daemon_start.c:1582,1
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/daemon_start.c:1590,1
    - Dst: mhd_WM_INT_HAS_EXT_EVENTS
      Src: /src/mhd2/src/mhd2/daemon_start.c:1590,1
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/daemon_start.c:1591,1
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/daemon_start.c:1592,1
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/daemon_start.c:1593,1
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/daemon_start.c:1595,1
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/daemon_start.c:1596,1
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/daemon_start.c:1603,1
    - Dst: mhd_WM_INT_HAS_EXT_EVENTS
      Src: /src/mhd2/src/mhd2/daemon_start.c:1603,1
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/daemon_start.c:1604,1
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/daemon_start.c:1605,1
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/daemon_start.c:1606,1
    - Dst: mhd_UNREACHABLE
      Src: /src/mhd2/src/mhd2/daemon_start.c:1621,1
    CyclomaticComplexity: 39
    EdgeCount: 39
    ICount: 145
    argCount: 2
    argNames:
    - d
    - s
    argTypes:
    - struct MHD_Daemon*
    - struct DaemonOptions*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1625
      start: 1364
    functionDepth: 2
    functionLinenumber: 1364
    functionLinenumberEnd: 1625
    functionName: "(1) MHD_FN_PAR_NONNULL_ (2) \\\n  MHD_FN_MUST_CHECK_RESULT_ enum
      MHD_StatusCode\ndaemon_choose_and_preinit_events (struct MHD_Daemon *restrict
      d,\n                                  struct DaemonOptions *restrict s)"
    functionSourceFile: /src/mhd2/src/mhd2/daemon_start.c
    functionUses: 0
    functionsReached:
    - mhd_WM_INT_HAS_EXT_EVENTS
    - init_epoll_fd
    - mhd_ASSUME
    - mhd_LOG_MSG
    - mhd_POLL_TYPE_INT_IS_KQUEUE
    - mhd_POLL_TYPE_INT_IS_EPOLL
    - mhd_POLL_TYPE_INT_IS_EDGE_TRIG
    - mhd_UNREACHABLE
    - mhd_WM_INT_IS_THREAD_PER_CONN
    - mhd_assert
    - mhd_tls_is_edge_trigg_supported
    linkageType: ''
    returnType: MHD_FN_PAR_NONNULL_
    signature: "MHD_FN_PAR_NONNULL_ (1) MHD_FN_PAR_NONNULL_ (2) \\\n  MHD_FN_MUST_CHECK_RESULT_
      enum MHD_StatusCode\ndaemon_choose_and_preinit_events (struct MHD_Daemon *restrict
      d,\n                                  struct DaemonOptions *restrict s)"
  - BBCount: 11
    BranchProfiles: []
    Callsites:
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/daemon_start.c:1643,1
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/daemon_start.c:1644,1
    - Dst: daemon_choose_and_preinit_events
      Src: /src/mhd2/src/mhd2/daemon_start.c:1649,1
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/daemon_start.c:1653,1
    - Dst: create_bind_listen_stream_socket
      Src: /src/mhd2/src/mhd2/daemon_start.c:1669,1
    - Dst: mhd_D_HAS_EDGE_TRIGG
      Src: /src/mhd2/src/mhd2/daemon_start.c:1675,1
    - Dst: mhd_WM_INT_IS_THREAD_POOL
      Src: /src/mhd2/src/mhd2/daemon_start.c:1676,1
    - Dst: mhd_LOG_MSG
      Src: /src/mhd2/src/mhd2/daemon_start.c:1678,1
    - Dst: detect_listen_type_and_port
      Src: /src/mhd2/src/mhd2/daemon_start.c:1689,1
    - Dst: mhd_socket_close
      Src: /src/mhd2/src/mhd2/daemon_start.c:1699,1
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/daemon_start.c:1709,1
    - Dst: close
      Src: /src/mhd2/src/mhd2/daemon_start.c:1710,1
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/daemon_start.c:1714,1
    CyclomaticComplexity: 17
    EdgeCount: 17
    ICount: 35
    argCount: 2
    argNames:
    - d
    - s
    argTypes:
    - struct MHD_Daemon*
    - struct DaemonOptions*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1717
      start: 1636
    functionDepth: 3
    functionLinenumber: 1636
    functionLinenumberEnd: 1717
    functionName: "(1) MHD_FN_PAR_NONNULL_ (2) \\\n  MHD_FN_MUST_CHECK_RESULT_ enum
      MHD_StatusCode\ndaemon_init_net (struct MHD_Daemon *restrict d,\n                 struct
      DaemonOptions *restrict s)"
    functionSourceFile: /src/mhd2/src/mhd2/daemon_start.c
    functionUses: 0
    functionsReached:
    - close
    - create_bind_listen_stream_socket
    - mhd_socket_close
    - mhd_D_HAS_EDGE_TRIGG
    - detect_listen_type_and_port
    - mhd_LOG_MSG
    - mhd_assert
    - daemon_choose_and_preinit_events
    - mhd_WM_INT_IS_THREAD_POOL
    linkageType: ''
    returnType: MHD_FN_PAR_NONNULL_
    signature: "MHD_FN_PAR_NONNULL_ (1) MHD_FN_PAR_NONNULL_ (2) \\\n  MHD_FN_MUST_CHECK_RESULT_
      enum MHD_StatusCode\ndaemon_init_net (struct MHD_Daemon *restrict d,\n                 struct
      DaemonOptions *restrict s)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/daemon_start.c:1727,1
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/daemon_start.c:1728,1
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/daemon_start.c:1729,1
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/daemon_start.c:1737,1
    - Dst: close
      Src: /src/mhd2/src/mhd2/daemon_start.c:1738,1
    - Dst: mhd_socket_close
      Src: /src/mhd2/src/mhd2/daemon_start.c:1742,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 11
    argCount: 1
    argNames:
    - d
    argTypes:
    - struct MHD_Daemon*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1747
      start: 1724
    functionDepth: 1
    functionLinenumber: 1724
    functionLinenumberEnd: 1747
    functionName: daemon_deinit_net
    functionSourceFile: /src/mhd2/src/mhd2/daemon_start.c
    functionUses: 0
    functionsReached:
    - close
    - mhd_socket_close
    - mhd_assert
    linkageType: ''
    returnType: void
    signature: void daemon_deinit_net (struct MHD_Daemon *restrict d)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/daemon_start.c:1755,1
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/daemon_start.c:1757,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 3
    argCount: 2
    argNames:
    - d
    - s
    argTypes:
    - struct MHD_Daemon*
    - struct DaemonOptions*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1759
      start: 1751
    functionDepth: 1
    functionLinenumber: 1751
    functionLinenumberEnd: 1759
    functionName: dauth_init
    functionSourceFile: /src/mhd2/src/mhd2/daemon_start.c
    functionUses: 0
    functionsReached:
    - mhd_assert
    linkageType: ''
    returnType: void
    signature: "void dauth_init (struct MHD_Daemon *restrict d,\n            struct
      DaemonOptions *restrict s)"
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: mhd_calloc
      Src: /src/mhd2/src/mhd2/daemon_start.c:1793,1
    - Dst: mhd_LOG_MSG
      Src: /src/mhd2/src/mhd2/daemon_start.c:1797,1
    - Dst: mhd_mutex_init
      Src: /src/mhd2/src/mhd2/daemon_start.c:1804,1
    - Dst: mhd_LOG_MSG
      Src: /src/mhd2/src/mhd2/daemon_start.c:1806,1
    - Dst: mhd_atomic_counter_init
      Src: /src/mhd2/src/mhd2/daemon_start.c:1812,1
    - Dst: mhd_LOG_MSG
      Src: /src/mhd2/src/mhd2/daemon_start.c:1814,1
    - Dst: mhd_mutex_destroy_chk
      Src: /src/mhd2/src/mhd2/daemon_start.c:1835,1
    - Dst: free
      Src: /src/mhd2/src/mhd2/daemon_start.c:1838,1
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/daemon_start.c:1839,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 40
    argCount: 2
    argNames:
    - d
    - s
    argTypes:
    - struct MHD_Daemon*
    - struct DaemonOptions*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1841
      start: 1772
    functionDepth: 1
    functionLinenumber: 1772
    functionLinenumberEnd: 1841
    functionName: "(1) MHD_FN_PAR_NONNULL_ (2) \\\n  MHD_FN_MUST_CHECK_RESULT_ enum
      MHD_StatusCode\ndaemon_init_auth_digest (struct MHD_Daemon *restrict d,\n                         struct
      DaemonOptions *restrict s)"
    functionSourceFile: /src/mhd2/src/mhd2/daemon_start.c
    functionUses: 0
    functionsReached:
    - mhd_mutex_destroy_chk
    - mhd_mutex_init
    - mhd_atomic_counter_init
    - mhd_LOG_MSG
    - free
    - mhd_calloc
    - mhd_assert
    linkageType: ''
    returnType: MHD_FN_PAR_NONNULL_
    signature: "MHD_FN_PAR_NONNULL_ (1) MHD_FN_PAR_NONNULL_ (2) \\\n  MHD_FN_MUST_CHECK_RESULT_
      enum MHD_StatusCode\ndaemon_init_auth_digest (struct MHD_Daemon *restrict d,\n
      \                        struct DaemonOptions *restrict s)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/daemon_start.c:1854,1
    - Dst: free
      Src: /src/mhd2/src/mhd2/daemon_start.c:1855,1
    - Dst: mhd_atomic_counter_deinit
      Src: /src/mhd2/src/mhd2/daemon_start.c:1856,1
    - Dst: mhd_mutex_destroy_chk
      Src: /src/mhd2/src/mhd2/daemon_start.c:1857,1
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/daemon_start.c:1858,1
    - Dst: free
      Src: /src/mhd2/src/mhd2/daemon_start.c:1859,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 9
    argCount: 1
    argNames:
    - d
    argTypes:
    - struct MHD_Daemon*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1860
      start: 1848
    functionDepth: 1
    functionLinenumber: 1848
    functionLinenumberEnd: 1860
    functionName: daemon_deinit_auth_digest
    functionSourceFile: /src/mhd2/src/mhd2/daemon_start.c
    functionUses: 0
    functionsReached:
    - free
    - mhd_mutex_destroy_chk
    - mhd_assert
    - mhd_atomic_counter_deinit
    linkageType: ''
    returnType: void
    signature: void daemon_deinit_auth_digest (struct MHD_Daemon *restrict d)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - d
    - ','
    - s
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1865
      start: 1864
    functionDepth: 0
    functionLinenumber: 1864
    functionLinenumberEnd: 1865
    functionName: daemon_init_auth_digest
    functionSourceFile: /src/mhd2/src/mhd2/daemon_start.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: daemon_init_auth_digest(d, s)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - d
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1866
      start: 1865
    functionDepth: 0
    functionLinenumber: 1865
    functionLinenumberEnd: 1866
    functionName: daemon_deinit_auth_digest
    functionSourceFile: /src/mhd2/src/mhd2/daemon_start.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: daemon_deinit_auth_digest(d)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/daemon_start.c:1885,1
    - Dst: mhd_LOG_MSG
      Src: /src/mhd2/src/mhd2/daemon_start.c:1898,1
    - Dst: mhd_tls_is_backend_available
      Src: /src/mhd2/src/mhd2/daemon_start.c:1907,1
    - Dst: mhd_LOG_MSG
      Src: /src/mhd2/src/mhd2/daemon_start.c:1910,1
    - Dst: mhd_LOG_MSG
      Src: /src/mhd2/src/mhd2/daemon_start.c:1918,1
    - Dst: mhd_tls_daemon_init
      Src: /src/mhd2/src/mhd2/daemon_start.c:1924,1
    - Dst: mhd_D_HAS_EDGE_TRIGG
      Src: /src/mhd2/src/mhd2/daemon_start.c:1925,1
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/daemon_start.c:1928,1
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/daemon_start.c:1929,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 25
    argCount: 2
    argNames:
    - d
    - s
    argTypes:
    - struct MHD_Daemon*
    - struct DaemonOptions*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1935
      start: 1876
    functionDepth: 2
    functionLinenumber: 1876
    functionLinenumberEnd: 1935
    functionName: "(1) MHD_FN_PAR_NONNULL_ (2) \\\n  MHD_FN_MUST_CHECK_RESULT_ enum
      MHD_StatusCode\ndaemon_init_tls (struct MHD_Daemon *restrict d,\n                 struct
      DaemonOptions *restrict s)"
    functionSourceFile: /src/mhd2/src/mhd2/daemon_start.c
    functionUses: 0
    functionsReached:
    - mhd_D_HAS_EDGE_TRIGG
    - mhd_LOG_MSG
    - mhd_tls_is_backend_available
    - mhd_assert
    - mhd_tls_daemon_init
    linkageType: ''
    returnType: MHD_FN_PAR_NONNULL_
    signature: "MHD_FN_PAR_NONNULL_ (1) MHD_FN_PAR_NONNULL_ (2) \\\n  MHD_FN_MUST_CHECK_RESULT_
      enum MHD_StatusCode\ndaemon_init_tls (struct MHD_Daemon *restrict d,\n                 struct
      DaemonOptions *restrict s)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/daemon_start.c:1945,1
    - Dst: mhd_tls_thread_cleanup
      Src: /src/mhd2/src/mhd2/daemon_start.c:1949,1
    - Dst: mhd_tls_daemon_deinit
      Src: /src/mhd2/src/mhd2/daemon_start.c:1950,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 1
    argNames:
    - d
    argTypes:
    - struct MHD_Daemon*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1955
      start: 1942
    functionDepth: 1
    functionLinenumber: 1942
    functionLinenumberEnd: 1955
    functionName: daemon_deinit_tls
    functionSourceFile: /src/mhd2/src/mhd2/daemon_start.c
    functionUses: 0
    functionsReached:
    - mhd_tls_thread_cleanup
    - mhd_assert
    - mhd_tls_daemon_deinit
    linkageType: ''
    returnType: void
    signature: void daemon_deinit_tls (struct MHD_Daemon *restrict d)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/daemon_start.c:1970,1
    - Dst: mhd_D_HAS_MASTER
      Src: /src/mhd2/src/mhd2/daemon_start.c:1970,1
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/daemon_start.c:1971,1
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/daemon_start.c:1972,1
    - Dst: mhd_mutex_init_short
      Src: /src/mhd2/src/mhd2/daemon_start.c:1983,1
    - Dst: mhd_LOG_MSG
      Src: /src/mhd2/src/mhd2/daemon_start.c:1985,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 13
    argCount: 2
    argNames:
    - d
    - s
    argTypes:
    - struct MHD_Daemon*
    - struct DaemonOptions*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1990
      start: 1965
    functionDepth: 1
    functionLinenumber: 1965
    functionLinenumberEnd: 1990
    functionName: "(1) MHD_FN_PAR_NONNULL_ (2) \\\n  MHD_FN_MUST_CHECK_RESULT_ enum
      MHD_StatusCode\ndaemon_init_large_buf (struct MHD_Daemon *restrict d,\n                       struct
      DaemonOptions *restrict s)"
    functionSourceFile: /src/mhd2/src/mhd2/daemon_start.c
    functionUses: 0
    functionsReached:
    - mhd_LOG_MSG
    - mhd_D_HAS_MASTER
    - mhd_assert
    - mhd_mutex_init_short
    linkageType: ''
    returnType: MHD_FN_PAR_NONNULL_
    signature: "MHD_FN_PAR_NONNULL_ (1) MHD_FN_PAR_NONNULL_ (2) \\\n  MHD_FN_MUST_CHECK_RESULT_
      enum MHD_StatusCode\ndaemon_init_large_buf (struct MHD_Daemon *restrict d,\n
      \                      struct DaemonOptions *restrict s)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/daemon_start.c:2001,1
    - Dst: mhd_mutex_destroy_chk
      Src: /src/mhd2/src/mhd2/daemon_start.c:2002,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - d
    argTypes:
    - struct MHD_Daemon*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2003
      start: 1997
    functionDepth: 1
    functionLinenumber: 1997
    functionLinenumberEnd: 2003
    functionName: '(1) void

      daemon_deinit_large_buf (struct MHD_Daemon *restrict d)'
    functionSourceFile: /src/mhd2/src/mhd2/daemon_start.c
    functionUses: 0
    functionsReached:
    - mhd_mutex_destroy_chk
    - mhd_assert
    linkageType: ''
    returnType: MHD_FN_PAR_NONNULL_
    signature: 'MHD_FN_PAR_NONNULL_ (1) void

      daemon_deinit_large_buf (struct MHD_Daemon *restrict d)'
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/daemon_start.c:2018,1
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/daemon_start.c:2019,1
    - Dst: mhd_WM_INT_IS_THREAD_PER_CONN
      Src: /src/mhd2/src/mhd2/daemon_start.c:2019,1
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/daemon_start.c:2020,1
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/daemon_start.c:2021,1
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/daemon_start.c:2022,1
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/daemon_start.c:2023,1
    - Dst: mhd_kqueue
      Src: /src/mhd2/src/mhd2/daemon_start.c:2025,1
    - Dst: mhd_LOG_MSG
      Src: /src/mhd2/src/mhd2/daemon_start.c:2028,1
    - Dst: mhd_FD_FITS_DAEMON
      Src: /src/mhd2/src/mhd2/daemon_start.c:2033,1
    - Dst: mhd_LOG_MSG
      Src: /src/mhd2/src/mhd2/daemon_start.c:2035,1
    - Dst: close
      Src: /src/mhd2/src/mhd2/daemon_start.c:2037,1
    - Dst: mhd_KQUEUE_HAS_CLOEXEC_SET
      Src: /src/mhd2/src/mhd2/daemon_start.c:2041,1
    - Dst: mhd_socket_noninheritable
      Src: /src/mhd2/src/mhd2/daemon_start.c:2043,1
    - Dst: mhd_LOG_MSG
      Src: /src/mhd2/src/mhd2/daemon_start.c:2044,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 23
    argCount: 1
    argNames:
    - d
    argTypes:
    - struct MHD_Daemon*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2050
      start: 2014
    functionDepth: 1
    functionLinenumber: 2014
    functionLinenumberEnd: 2050
    functionName: init_kqueue_fd
    functionSourceFile: /src/mhd2/src/mhd2/daemon_start.c
    functionUses: 0
    functionsReached:
    - close
    - mhd_KQUEUE_HAS_CLOEXEC_SET
    - mhd_kqueue
    - mhd_LOG_MSG
    - mhd_FD_FITS_DAEMON
    - mhd_socket_noninheritable
    - mhd_WM_INT_IS_THREAD_PER_CONN
    - mhd_assert
    linkageType: ''
    returnType: enum MHD_StatusCode
    signature: enum MHD_StatusCode init_kqueue_fd (struct MHD_Daemon *restrict d)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/daemon_start.c:2060,1
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/daemon_start.c:2061,1
    - Dst: close
      Src: /src/mhd2/src/mhd2/daemon_start.c:2062,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - d
    argTypes:
    - struct MHD_Daemon*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2063
      start: 2057
    functionDepth: 1
    functionLinenumber: 2057
    functionLinenumberEnd: 2063
    functionName: deinit_kqueue_fd
    functionSourceFile: /src/mhd2/src/mhd2/daemon_start.c
    functionUses: 0
    functionsReached:
    - close
    - mhd_assert
    linkageType: ''
    returnType: void
    signature: void deinit_kqueue_fd (struct MHD_Daemon *restrict d)
  - BBCount: 11
    BranchProfiles: []
    Callsites:
    - Dst: init_epoll_fd
      Src: /src/mhd2/src/mhd2/daemon_start.c:2096,1
    - Dst: init_kqueue_fd
      Src: /src/mhd2/src/mhd2/daemon_start.c:2103,1
    - Dst: mhd_UNREACHABLE
      Src: /src/mhd2/src/mhd2/daemon_start.c:2114,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 25
    argCount: 1
    argNames:
    - d
    argTypes:
    - struct MHD_Daemon*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2124
      start: 2075
    functionDepth: 2
    functionLinenumber: 2075
    functionLinenumberEnd: 2124
    functionName: '(1)

      MHD_FN_MUST_CHECK_RESULT_ enum MHD_StatusCode

      init_events_fd (struct MHD_Daemon *restrict d)'
    functionSourceFile: /src/mhd2/src/mhd2/daemon_start.c
    functionUses: 0
    functionsReached:
    - mhd_UNREACHABLE
    - init_epoll_fd
    - init_kqueue_fd
    linkageType: ''
    returnType: MHD_FN_PAR_NONNULL_
    signature: 'MHD_FN_PAR_NONNULL_ (1)

      MHD_FN_MUST_CHECK_RESULT_ enum MHD_StatusCode

      init_events_fd (struct MHD_Daemon *restrict d)'
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/daemon_start.c:2134,1
    - Dst: deinit_epoll_fd
      Src: /src/mhd2/src/mhd2/daemon_start.c:2150,1
    - Dst: deinit_kqueue_fd
      Src: /src/mhd2/src/mhd2/daemon_start.c:2155,1
    - Dst: mhd_UNREACHABLE
      Src: /src/mhd2/src/mhd2/daemon_start.c:2166,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 22
    argCount: 1
    argNames:
    - d
    argTypes:
    - struct MHD_Daemon*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2169
      start: 2131
    functionDepth: 2
    functionLinenumber: 2131
    functionLinenumberEnd: 2169
    functionName: '(1) void

      deinit_events_fd (struct MHD_Daemon *restrict d)'
    functionSourceFile: /src/mhd2/src/mhd2/daemon_start.c
    functionUses: 0
    functionsReached:
    - mhd_UNREACHABLE
    - mhd_assert
    - deinit_epoll_fd
    - deinit_kqueue_fd
    linkageType: ''
    returnType: MHD_FN_PAR_NONNULL_
    signature: 'MHD_FN_PAR_NONNULL_ (1) void

      deinit_events_fd (struct MHD_Daemon *restrict d)'
  - BBCount: 27
    BranchProfiles: []
    Callsites:
    - Dst: mhd_D_HAS_THR_PER_CONN
      Src: /src/mhd2/src/mhd2/daemon_start.c:2193,1
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/daemon_start.c:2197,1
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/daemon_start.c:2198,1
    - Dst: mhd_D_TYPE_HAS_EVENTS_PROCESSING
      Src: /src/mhd2/src/mhd2/daemon_start.c:2198,1
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/daemon_start.c:2199,1
    - Dst: mhd_DLINKEDL_INIT_LIST
      Src: /src/mhd2/src/mhd2/daemon_start.c:2201,1
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/daemon_start.c:2206,1
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/daemon_start.c:2216,1
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/daemon_start.c:2217,1
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/daemon_start.c:2218,1
    - Dst: malloc
      Src: /src/mhd2/src/mhd2/daemon_start.c:2219,1
    - Dst: malloc
      Src: /src/mhd2/src/mhd2/daemon_start.c:2222,1
    - Dst: malloc
      Src: /src/mhd2/src/mhd2/daemon_start.c:2225,1
    - Dst: free
      Src: /src/mhd2/src/mhd2/daemon_start.c:2235,1
    - Dst: free
      Src: /src/mhd2/src/mhd2/daemon_start.c:2237,1
    - Dst: mhd_LOG_MSG
      Src: /src/mhd2/src/mhd2/daemon_start.c:2239,1
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/daemon_start.c:2247,1
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/daemon_start.c:2248,1
    - Dst: mhd_D_HAS_THR_PER_CONN
      Src: /src/mhd2/src/mhd2/daemon_start.c:2250,1
    - Dst: malloc
      Src: /src/mhd2/src/mhd2/daemon_start.c:2253,1
    - Dst: malloc
      Src: /src/mhd2/src/mhd2/daemon_start.c:2257,1
    - Dst: free
      Src: /src/mhd2/src/mhd2/daemon_start.c:2267,1
    - Dst: mhd_LOG_MSG
      Src: /src/mhd2/src/mhd2/daemon_start.c:2270,1
    - Dst: mhd_ASSUME
      Src: /src/mhd2/src/mhd2/daemon_start.c:2277,1
    - Dst: mhd_D_HAS_THR_PER_CONN
      Src: /src/mhd2/src/mhd2/daemon_start.c:2277,1
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/daemon_start.c:2279,1
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/daemon_start.c:2280,1
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/daemon_start.c:2282,1
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/daemon_start.c:2283,1
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/daemon_start.c:2288,1
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/daemon_start.c:2289,1
    - Dst: malloc
      Src: /src/mhd2/src/mhd2/daemon_start.c:2299,1
    - Dst: mhd_LOG_MSG
      Src: /src/mhd2/src/mhd2/daemon_start.c:2311,1
    - Dst: mhd_ASSUME
      Src: /src/mhd2/src/mhd2/daemon_start.c:2318,1
    - Dst: mhd_D_HAS_THR_PER_CONN
      Src: /src/mhd2/src/mhd2/daemon_start.c:2318,1
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/daemon_start.c:2320,1
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/daemon_start.c:2322,1
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/daemon_start.c:2323,1
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/daemon_start.c:2329,1
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/daemon_start.c:2330,1
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/daemon_start.c:2348,1
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/daemon_start.c:2349,1
    - Dst: malloc
      Src: /src/mhd2/src/mhd2/daemon_start.c:2352,1
    - Dst: mhd_LOG_MSG
      Src: /src/mhd2/src/mhd2/daemon_start.c:2363,1
    - Dst: mhd_UNREACHABLE
      Src: /src/mhd2/src/mhd2/daemon_start.c:2376,1
    - Dst: mhd_UNREACHABLE
      Src: /src/mhd2/src/mhd2/daemon_start.c:2379,1
    CyclomaticComplexity: 26
    EdgeCount: 26
    ICount: 118
    argCount: 1
    argNames:
    - d
    argTypes:
    - struct MHD_Daemon*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2381
      start: 2178
    functionDepth: 1
    functionLinenumber: 2178
    functionLinenumberEnd: 2381
    functionName: '(1)

      MHD_FN_MUST_CHECK_RESULT_ enum MHD_StatusCode

      allocate_events (struct MHD_Daemon *restrict d)'
    functionSourceFile: /src/mhd2/src/mhd2/daemon_start.c
    functionUses: 0
    functionsReached:
    - mhd_D_HAS_THR_PER_CONN
    - mhd_ASSUME
    - malloc
    - mhd_LOG_MSG
    - mhd_D_TYPE_HAS_EVENTS_PROCESSING
    - mhd_DLINKEDL_INIT_LIST
    - free
    - mhd_UNREACHABLE
    - mhd_assert
    linkageType: ''
    returnType: MHD_FN_PAR_NONNULL_
    signature: 'MHD_FN_PAR_NONNULL_ (1)

      MHD_FN_MUST_CHECK_RESULT_ enum MHD_StatusCode

      allocate_events (struct MHD_Daemon *restrict d)'
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/daemon_start.c:2391,1
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/daemon_start.c:2392,1
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/daemon_start.c:2393,1
    - Dst: mhd_D_TYPE_HAS_EVENTS_PROCESSING
      Src: /src/mhd2/src/mhd2/daemon_start.c:2393,1
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/daemon_start.c:2400,1
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/daemon_start.c:2401,1
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/daemon_start.c:2402,1
    - Dst: free
      Src: /src/mhd2/src/mhd2/daemon_start.c:2403,1
    - Dst: free
      Src: /src/mhd2/src/mhd2/daemon_start.c:2404,1
    - Dst: free
      Src: /src/mhd2/src/mhd2/daemon_start.c:2405,1
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/daemon_start.c:2410,1
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/daemon_start.c:2411,1
    - Dst: free
      Src: /src/mhd2/src/mhd2/daemon_start.c:2412,1
    - Dst: free
      Src: /src/mhd2/src/mhd2/daemon_start.c:2413,1
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/daemon_start.c:2418,1
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/daemon_start.c:2419,1
    - Dst: free
      Src: /src/mhd2/src/mhd2/daemon_start.c:2420,1
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/daemon_start.c:2425,1
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/daemon_start.c:2426,1
    - Dst: free
      Src: /src/mhd2/src/mhd2/daemon_start.c:2427,1
    - Dst: mhd_UNREACHABLE_D
      Src: /src/mhd2/src/mhd2/daemon_start.c:2438,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 39
    argCount: 1
    argNames:
    - d
    argTypes:
    - struct MHD_Daemon*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2444
      start: 2388
    functionDepth: 1
    functionLinenumber: 2388
    functionLinenumberEnd: 2444
    functionName: '(1) void

      deallocate_events (struct MHD_Daemon *restrict d)'
    functionSourceFile: /src/mhd2/src/mhd2/daemon_start.c
    functionUses: 0
    functionsReached:
    - free
    - mhd_assert
    - mhd_UNREACHABLE_D
    - mhd_D_TYPE_HAS_EVENTS_PROCESSING
    linkageType: ''
    returnType: MHD_FN_PAR_NONNULL_
    signature: 'MHD_FN_PAR_NONNULL_ (1) void

      deallocate_events (struct MHD_Daemon *restrict d)'
  - BBCount: 24
    BranchProfiles: []
    Callsites:
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/daemon_start.c:2529,1
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/daemon_start.c:2530,1
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/daemon_start.c:2531,1
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/daemon_start.c:2532,1
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/daemon_start.c:2533,1
    - Dst: mhd_D_TYPE_HAS_EVENTS_PROCESSING
      Src: /src/mhd2/src/mhd2/daemon_start.c:2533,1
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/daemon_start.c:2535,1
    - Dst: mhd_ITC_IS_VALID
      Src: /src/mhd2/src/mhd2/daemon_start.c:2535,1
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/daemon_start.c:2543,1
    - Dst: mhd_daemon_extr_event_reg
      Src: /src/mhd2/src/mhd2/daemon_start.c:2555,1
    - Dst: mhd_itc_r_fd
      Src: /src/mhd2/src/mhd2/daemon_start.c:2556,1
    - Dst: mhd_daemon_extr_event_reg
      Src: /src/mhd2/src/mhd2/daemon_start.c:2575,1
    - Dst: mhd_daemon_extr_event_reg
      Src: /src/mhd2/src/mhd2/daemon_start.c:2587,1
    - Dst: mhd_itc_r_fd
      Src: /src/mhd2/src/mhd2/daemon_start.c:2588,1
    - Dst: mhd_LOG_MSG
      Src: /src/mhd2/src/mhd2/daemon_start.c:2597,1
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/daemon_start.c:2614,1
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/daemon_start.c:2615,1
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/daemon_start.c:2616,1
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/daemon_start.c:2623,1
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/daemon_start.c:2624,1
    - Dst: mhd_itc_r_fd
      Src: /src/mhd2/src/mhd2/daemon_start.c:2630,1
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/daemon_start.c:2647,1
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/daemon_start.c:2648,1
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/daemon_start.c:2649,1
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/daemon_start.c:2650,1
    - Dst: epoll_ctl
      Src: /src/mhd2/src/mhd2/daemon_start.c:2657,1
    - Dst: mhd_itc_r_fd
      Src: /src/mhd2/src/mhd2/daemon_start.c:2658,1
    - Dst: mhd_LOG_MSG
      Src: /src/mhd2/src/mhd2/daemon_start.c:2660,1
    - Dst: mhd_dbg_print_fd_mon_req
      Src: /src/mhd2/src/mhd2/daemon_start.c:2664,1
    - Dst: mhd_itc_r_fd
      Src: /src/mhd2/src/mhd2/daemon_start.c:2665,1
    - Dst: epoll_ctl
      Src: /src/mhd2/src/mhd2/daemon_start.c:2674,1
    - Dst: mhd_LOG_MSG
      Src: /src/mhd2/src/mhd2/daemon_start.c:2677,1
    - Dst: mhd_dbg_print_fd_mon_req
      Src: /src/mhd2/src/mhd2/daemon_start.c:2681,1
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/daemon_start.c:2693,1
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/daemon_start.c:2694,1
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/daemon_start.c:2695,1
    - Dst: mhd_KE_SET
      Src: /src/mhd2/src/mhd2/daemon_start.c:2702,1
    - Dst: mhd_itc_r_fd
      Src: /src/mhd2/src/mhd2/daemon_start.c:2703,1
    - Dst: mhd_dbg_print_kevent_change
      Src: /src/mhd2/src/mhd2/daemon_start.c:2707,1
    - Dst: mhd_KE_SET
      Src: /src/mhd2/src/mhd2/daemon_start.c:2713,1
    - Dst: mhd_dbg_print_kevent_change
      Src: /src/mhd2/src/mhd2/daemon_start.c:2719,1
    - Dst: fprintf
      Src: /src/mhd2/src/mhd2/daemon_start.c:2730,1
    - Dst: kevent
      Src: /src/mhd2/src/mhd2/daemon_start.c:2736,1
    - Dst: fprintf
      Src: /src/mhd2/src/mhd2/daemon_start.c:2743,1
    - Dst: mhd_LOG_MSG
      Src: /src/mhd2/src/mhd2/daemon_start.c:2752,1
    - Dst: mhd_UNREACHABLE
      Src: /src/mhd2/src/mhd2/daemon_start.c:2770,1
    - Dst: mhd_UNREACHABLE
      Src: /src/mhd2/src/mhd2/daemon_start.c:2773,1
    CyclomaticComplexity: 21
    EdgeCount: 21
    ICount: 119
    argCount: 1
    argNames:
    - d
    argTypes:
    - struct MHD_Daemon*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2775
      start: 2525
    functionDepth: 2
    functionLinenumber: 2525
    functionLinenumberEnd: 2775
    functionName: '(1)

      MHD_FN_MUST_CHECK_RESULT_ enum MHD_StatusCode

      init_daemon_fds_monitoring (struct MHD_Daemon *restrict d)'
    functionSourceFile: /src/mhd2/src/mhd2/daemon_start.c
    functionUses: 0
    functionsReached:
    - mhd_daemon_extr_event_reg
    - fprintf
    - mhd_ITC_IS_VALID
    - mhd_LOG_MSG
    - mhd_D_TYPE_HAS_EVENTS_PROCESSING
    - kevent
    - mhd_UNREACHABLE
    - mhd_dbg_print_fd_mon_req
    - mhd_itc_r_fd
    - mhd_dbg_print_kevent_change
    - mhd_assert
    - epoll_ctl
    - mhd_KE_SET
    linkageType: ''
    returnType: MHD_FN_PAR_NONNULL_
    signature: 'MHD_FN_PAR_NONNULL_ (1)

      MHD_FN_MUST_CHECK_RESULT_ enum MHD_StatusCode

      init_daemon_fds_monitoring (struct MHD_Daemon *restrict d)'
  - BBCount: 12
    BranchProfiles: []
    Callsites:
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/daemon_start.c:2786,1
    - Dst: mhd_daemon_extr_event_reg
      Src: /src/mhd2/src/mhd2/daemon_start.c:2792,1
    - Dst: mhd_daemon_extr_event_reg
      Src: /src/mhd2/src/mhd2/daemon_start.c:2800,1
    - Dst: mhd_itc_r_fd
      Src: /src/mhd2/src/mhd2/daemon_start.c:2801,1
    - Dst: mhd_UNREACHABLE
      Src: /src/mhd2/src/mhd2/daemon_start.c:2842,1
    - Dst: mhd_UNREACHABLE
      Src: /src/mhd2/src/mhd2/daemon_start.c:2845,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 29
    argCount: 1
    argNames:
    - d
    argTypes:
    - struct MHD_Daemon*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2846
      start: 2783
    functionDepth: 2
    functionLinenumber: 2783
    functionLinenumberEnd: 2846
    functionName: '(1) void

      deinit_daemon_fds_monitoring (struct MHD_Daemon *restrict d)'
    functionSourceFile: /src/mhd2/src/mhd2/daemon_start.c
    functionUses: 0
    functionsReached:
    - mhd_daemon_extr_event_reg
    - mhd_UNREACHABLE
    - mhd_assert
    - mhd_itc_r_fd
    linkageType: ''
    returnType: MHD_FN_PAR_NONNULL_
    signature: 'MHD_FN_PAR_NONNULL_ (1) void

      deinit_daemon_fds_monitoring (struct MHD_Daemon *restrict d)'
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/daemon_start.c:2861,1
    - Dst: mhd_D_TYPE_HAS_WORKERS
      Src: /src/mhd2/src/mhd2/daemon_start.c:2861,1
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/daemon_start.c:2862,1
    - Dst: mhd_DLINKEDL_INIT_LIST
      Src: /src/mhd2/src/mhd2/daemon_start.c:2864,1
    - Dst: mhd_DLINKEDL_INIT_LIST
      Src: /src/mhd2/src/mhd2/daemon_start.c:2865,1
    - Dst: mhd_DLINKEDL_INIT_LIST
      Src: /src/mhd2/src/mhd2/daemon_start.c:2866,1
    - Dst: mhd_DLINKEDL_INIT_LIST
      Src: /src/mhd2/src/mhd2/daemon_start.c:2891,1
    - Dst: mhd_mutex_init
      Src: /src/mhd2/src/mhd2/daemon_start.c:2892,1
    - Dst: mhd_LOG_MSG
      Src: /src/mhd2/src/mhd2/daemon_start.c:2894,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 32
    argCount: 2
    argNames:
    - d
    - s
    argTypes:
    - struct MHD_Daemon*
    - struct DaemonOptions*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2905
      start: 2856
    functionDepth: 1
    functionLinenumber: 2856
    functionLinenumberEnd: 2905
    functionName: "(1) MHD_FN_PAR_NONNULL_ (2)\nMHD_FN_MUST_CHECK_RESULT_ enum MHD_StatusCode\ninit_individual_conns
      (struct MHD_Daemon *restrict d,\n                       struct DaemonOptions
      *restrict s)"
    functionSourceFile: /src/mhd2/src/mhd2/daemon_start.c
    functionUses: 0
    functionsReached:
    - mhd_D_TYPE_HAS_WORKERS
    - mhd_mutex_init
    - mhd_LOG_MSG
    - mhd_DLINKEDL_INIT_LIST
    - mhd_assert
    linkageType: ''
    returnType: MHD_FN_PAR_NONNULL_
    signature: "MHD_FN_PAR_NONNULL_ (1) MHD_FN_PAR_NONNULL_ (2)\nMHD_FN_MUST_CHECK_RESULT_
      enum MHD_StatusCode\ninit_individual_conns (struct MHD_Daemon *restrict d,\n
      \                      struct DaemonOptions *restrict s)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/daemon_start.c:2916,1
    - Dst: mhd_DLINKEDL_GET_FIRST
      Src: /src/mhd2/src/mhd2/daemon_start.c:2916,1
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/daemon_start.c:2917,1
    - Dst: mhd_DLINKEDL_GET_LAST
      Src: /src/mhd2/src/mhd2/daemon_start.c:2917,1
    - Dst: mhd_mutex_destroy_chk
      Src: /src/mhd2/src/mhd2/daemon_start.c:2919,1
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/daemon_start.c:2922,1
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/daemon_start.c:2923,1
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/daemon_start.c:2924,1
    - Dst: mhd_DLINKEDL_GET_FIRST
      Src: /src/mhd2/src/mhd2/daemon_start.c:2924,1
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/daemon_start.c:2925,1
    - Dst: mhd_DLINKEDL_GET_LAST
      Src: /src/mhd2/src/mhd2/daemon_start.c:2925,1
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/daemon_start.c:2926,1
    - Dst: mhd_DLINKEDL_GET_FIRST
      Src: /src/mhd2/src/mhd2/daemon_start.c:2926,1
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/daemon_start.c:2927,1
    - Dst: mhd_DLINKEDL_GET_LAST
      Src: /src/mhd2/src/mhd2/daemon_start.c:2927,1
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/daemon_start.c:2928,1
    - Dst: mhd_DLINKEDL_GET_FIRST
      Src: /src/mhd2/src/mhd2/daemon_start.c:2928,1
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/daemon_start.c:2929,1
    - Dst: mhd_DLINKEDL_GET_LAST
      Src: /src/mhd2/src/mhd2/daemon_start.c:2929,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 12
    argCount: 1
    argNames:
    - d
    argTypes:
    - struct MHD_Daemon*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2930
      start: 2912
    functionDepth: 1
    functionLinenumber: 2912
    functionLinenumberEnd: 2930
    functionName: '(1) void

      deinit_individual_conns (struct MHD_Daemon *restrict d)'
    functionSourceFile: /src/mhd2/src/mhd2/daemon_start.c
    functionUses: 0
    functionsReached:
    - mhd_mutex_destroy_chk
    - mhd_DLINKEDL_GET_LAST
    - mhd_assert
    - mhd_DLINKEDL_GET_FIRST
    linkageType: ''
    returnType: MHD_FN_PAR_NONNULL_
    signature: 'MHD_FN_PAR_NONNULL_ (1) void

      deinit_individual_conns (struct MHD_Daemon *restrict d)'
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/daemon_start.c:2948,1
    - Dst: mhd_D_TYPE_IS_VALID
      Src: /src/mhd2/src/mhd2/daemon_start.c:2948,1
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/daemon_start.c:2949,1
    - Dst: mhd_D_TYPE_HAS_EVENTS_PROCESSING
      Src: /src/mhd2/src/mhd2/daemon_start.c:2949,1
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/daemon_start.c:2950,1
    - Dst: mhd_D_TYPE_HAS_WORKERS
      Src: /src/mhd2/src/mhd2/daemon_start.c:2950,1
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/daemon_start.c:2951,1
    - Dst: init_events_fd
      Src: /src/mhd2/src/mhd2/daemon_start.c:2953,1
    - Dst: allocate_events
      Src: /src/mhd2/src/mhd2/daemon_start.c:2957,1
    - Dst: init_itc
      Src: /src/mhd2/src/mhd2/daemon_start.c:2960,1
    - Dst: init_daemon_fds_monitoring
      Src: /src/mhd2/src/mhd2/daemon_start.c:2963,1
    - Dst: mhd_thread_handle_ID_set_invalid
      Src: /src/mhd2/src/mhd2/daemon_start.c:2971,1
    - Dst: init_individual_conns
      Src: /src/mhd2/src/mhd2/daemon_start.c:2978,1
    - Dst: deinit_daemon_fds_monitoring
      Src: /src/mhd2/src/mhd2/daemon_start.c:2984,1
    - Dst: deinit_itc
      Src: /src/mhd2/src/mhd2/daemon_start.c:2986,1
    - Dst: deallocate_events
      Src: /src/mhd2/src/mhd2/daemon_start.c:2988,1
    - Dst: deinit_events_fd
      Src: /src/mhd2/src/mhd2/daemon_start.c:2990,1
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/daemon_start.c:2992,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 30
    argCount: 2
    argNames:
    - d
    - s
    argTypes:
    - struct MHD_Daemon*
    - struct DaemonOptions*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2994
      start: 2942
    functionDepth: 1
    functionLinenumber: 2942
    functionLinenumberEnd: 2994
    functionName: "(1) MHD_FN_PAR_NONNULL_ (2)\nMHD_FN_MUST_CHECK_RESULT_ enum MHD_StatusCode\ninit_individual_thread_data_events_conns
      (struct MHD_Daemon *restrict d,\n                                          struct
      DaemonOptions *restrict s)"
    functionSourceFile: /src/mhd2/src/mhd2/daemon_start.c
    functionUses: 0
    functionsReached:
    - mhd_D_TYPE_HAS_WORKERS
    - allocate_events
    - deinit_daemon_fds_monitoring
    - init_events_fd
    - mhd_D_TYPE_HAS_EVENTS_PROCESSING
    - init_daemon_fds_monitoring
    - mhd_D_TYPE_IS_VALID
    - deinit_events_fd
    - init_individual_conns
    - deallocate_events
    - deinit_itc
    - mhd_assert
    - init_itc
    - mhd_thread_handle_ID_set_invalid
    linkageType: ''
    returnType: MHD_FN_PAR_NONNULL_
    signature: "MHD_FN_PAR_NONNULL_ (1) MHD_FN_PAR_NONNULL_ (2)\nMHD_FN_MUST_CHECK_RESULT_
      enum MHD_StatusCode\ninit_individual_thread_data_events_conns (struct MHD_Daemon
      *restrict d,\n                                          struct DaemonOptions
      *restrict s)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/daemon_start.c:3034,1
    - Dst: mhd_D_HAS_WORKERS
      Src: /src/mhd2/src/mhd2/daemon_start.c:3034,1
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/daemon_start.c:3035,1
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/daemon_start.c:3036,1
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/daemon_start.c:3037,1
    - Dst: mhd_D_HAS_MASTER
      Src: /src/mhd2/src/mhd2/daemon_start.c:3037,1
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/daemon_start.c:3038,1
    - Dst: mhd_D_HAS_MASTER
      Src: /src/mhd2/src/mhd2/daemon_start.c:3038,1
    - Dst: mhd_DLINKEDL_INIT_LIST
      Src: /src/mhd2/src/mhd2/daemon_start.c:3045,1
    - Dst: mhd_mutex_init
      Src: /src/mhd2/src/mhd2/daemon_start.c:3047,1
    - Dst: mhd_LOG_MSG
      Src: /src/mhd2/src/mhd2/daemon_start.c:3049,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 16
    argCount: 1
    argNames:
    - d
    argTypes:
    - struct MHD_Daemon*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3063
      start: 3026
    functionDepth: 1
    functionLinenumber: 3026
    functionLinenumberEnd: 3063
    functionName: '(1)

      MHD_FN_MUST_CHECK_RESULT_ enum MHD_StatusCode

      init_worker_only_data (struct MHD_Daemon *restrict d)'
    functionSourceFile: /src/mhd2/src/mhd2/daemon_start.c
    functionUses: 0
    functionsReached:
    - mhd_D_HAS_WORKERS
    - mhd_mutex_init
    - mhd_LOG_MSG
    - mhd_DLINKEDL_INIT_LIST
    - mhd_D_HAS_MASTER
    - mhd_assert
    linkageType: ''
    returnType: MHD_FN_PAR_NONNULL_
    signature: 'MHD_FN_PAR_NONNULL_ (1)

      MHD_FN_MUST_CHECK_RESULT_ enum MHD_StatusCode

      init_worker_only_data (struct MHD_Daemon *restrict d)'
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/daemon_start.c:3077,1
    - Dst: mhd_D_HAS_WORKERS
      Src: /src/mhd2/src/mhd2/daemon_start.c:3077,1
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/daemon_start.c:3078,1
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/daemon_start.c:3079,1
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/daemon_start.c:3080,1
    - Dst: mhd_DLINKEDL_GET_FIRST
      Src: /src/mhd2/src/mhd2/daemon_start.c:3084,1
    - Dst: mhd_DLINKEDL_GET_FIRST
      Src: /src/mhd2/src/mhd2/daemon_start.c:3086,1
    - Dst: mhd_ASSUME
      Src: /src/mhd2/src/mhd2/daemon_start.c:3088,1
    - Dst: mhd_DLINKEDL_GET_PREV
      Src: /src/mhd2/src/mhd2/daemon_start.c:3088,1
    - Dst: mhd_DLINKEDL_DEL
      Src: /src/mhd2/src/mhd2/daemon_start.c:3089,1
    - Dst: mhd_socket_close
      Src: /src/mhd2/src/mhd2/daemon_start.c:3090,1
    - Dst: free
      Src: /src/mhd2/src/mhd2/daemon_start.c:3093,1
    - Dst: free
      Src: /src/mhd2/src/mhd2/daemon_start.c:3095,1
    - Dst: mhd_mutex_destroy_chk
      Src: /src/mhd2/src/mhd2/daemon_start.c:3098,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 15
    argCount: 1
    argNames:
    - d
    argTypes:
    - struct MHD_Daemon*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3103
      start: 3070
    functionDepth: 1
    functionLinenumber: 3070
    functionLinenumberEnd: 3103
    functionName: '(1) void

      deinit_worker_only_data (struct MHD_Daemon *restrict d)'
    functionSourceFile: /src/mhd2/src/mhd2/daemon_start.c
    functionUses: 0
    functionsReached:
    - mhd_socket_close
    - mhd_mutex_destroy_chk
    - mhd_ASSUME
    - mhd_D_HAS_WORKERS
    - mhd_DLINKEDL_DEL
    - mhd_DLINKEDL_GET_PREV
    - free
    - mhd_assert
    - mhd_DLINKEDL_GET_FIRST
    linkageType: ''
    returnType: MHD_FN_PAR_NONNULL_
    signature: 'MHD_FN_PAR_NONNULL_ (1) void

      deinit_worker_only_data (struct MHD_Daemon *restrict d)'
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/daemon_start.c:3122,1
    - Dst: mhd_D_TYPE_HAS_WORKERS
      Src: /src/mhd2/src/mhd2/daemon_start.c:3122,1
    - Dst: init_worker_only_data
      Src: /src/mhd2/src/mhd2/daemon_start.c:3124,1
    - Dst: init_individual_thread_data_events_conns
      Src: /src/mhd2/src/mhd2/daemon_start.c:3128,1
    - Dst: deinit_worker_only_data
      Src: /src/mhd2/src/mhd2/daemon_start.c:3136,1
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/daemon_start.c:3139,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 11
    argCount: 2
    argNames:
    - d
    - s
    argTypes:
    - struct MHD_Daemon*
    - struct DaemonOptions*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3142
      start: 3116
    functionDepth: 1
    functionLinenumber: 3116
    functionLinenumberEnd: 3142
    functionName: "(1) MHD_FN_PAR_NONNULL_ (2)\nMHD_FN_MUST_CHECK_RESULT_ enum MHD_StatusCode\ninit_worker
      (struct MHD_Daemon *restrict d,\n             struct DaemonOptions *restrict
      s)"
    functionSourceFile: /src/mhd2/src/mhd2/daemon_start.c
    functionUses: 0
    functionsReached:
    - init_worker_only_data
    - mhd_D_TYPE_HAS_WORKERS
    - init_individual_thread_data_events_conns
    - deinit_worker_only_data
    - mhd_assert
    linkageType: ''
    returnType: MHD_FN_PAR_NONNULL_
    signature: "MHD_FN_PAR_NONNULL_ (1) MHD_FN_PAR_NONNULL_ (2)\nMHD_FN_MUST_CHECK_RESULT_
      enum MHD_StatusCode\ninit_worker (struct MHD_Daemon *restrict d,\n             struct
      DaemonOptions *restrict s)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/daemon_start.c:3156,1
    - Dst: mhd_D_TYPE_HAS_WORKERS
      Src: /src/mhd2/src/mhd2/daemon_start.c:3156,1
    - Dst: deinit_individual_thread_data_events_conns
      Src: /src/mhd2/src/mhd2/daemon_start.c:3158,1
    - Dst: deinit_worker_only_data
      Src: /src/mhd2/src/mhd2/daemon_start.c:3160,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - d
    argTypes:
    - struct MHD_Daemon*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3161
      start: 3153
    functionDepth: 1
    functionLinenumber: 3153
    functionLinenumberEnd: 3161
    functionName: '(1) void

      deinit_worker (struct MHD_Daemon *restrict d)'
    functionSourceFile: /src/mhd2/src/mhd2/daemon_start.c
    functionUses: 0
    functionsReached:
    - deinit_individual_thread_data_events_conns
    - deinit_worker_only_data
    - mhd_assert
    - mhd_D_TYPE_HAS_WORKERS
    linkageType: ''
    returnType: MHD_FN_PAR_NONNULL_
    signature: 'MHD_FN_PAR_NONNULL_ (1) void

      deinit_worker (struct MHD_Daemon *restrict d)'
  - BBCount: 22
    BranchProfiles: []
    Callsites:
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/daemon_start.c:3184,1
    - Dst: mhd_D_HAS_MASTER
      Src: /src/mhd2/src/mhd2/daemon_start.c:3184,1
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/daemon_start.c:3185,1
    - Dst: mhd_D_TYPE_IS_VALID
      Src: /src/mhd2/src/mhd2/daemon_start.c:3185,1
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/daemon_start.c:3191,1
    - Dst: mhd_LOG_MSG
      Src: /src/mhd2/src/mhd2/daemon_start.c:3197,1
    - Dst: mhd_D_TYPE_HAS_WORKERS
      Src: /src/mhd2/src/mhd2/daemon_start.c:3204,1
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/daemon_start.c:3211,1
    - Dst: mhd_LOG_MSG
      Src: /src/mhd2/src/mhd2/daemon_start.c:3235,1
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/daemon_start.c:3243,1
    - Dst: mhd_LOG_MSG
      Src: /src/mhd2/src/mhd2/daemon_start.c:3282,1
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/daemon_start.c:3331,1
    CyclomaticComplexity: 26
    EdgeCount: 26
    ICount: 82
    argCount: 2
    argNames:
    - d
    - s
    argTypes:
    - struct MHD_Daemon*
    - struct DaemonOptions*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3337
      start: 3172
    functionDepth: 1
    functionLinenumber: 3172
    functionLinenumberEnd: 3337
    functionName: "(1) MHD_FN_PAR_NONNULL_ (2)\nMHD_FN_MUST_CHECK_RESULT_ enum MHD_StatusCode\nset_connections_total_limits
      (struct MHD_Daemon *restrict d,\n                              struct DaemonOptions
      *restrict s)"
    functionSourceFile: /src/mhd2/src/mhd2/daemon_start.c
    functionUses: 0
    functionsReached:
    - mhd_D_TYPE_HAS_WORKERS
    - mhd_LOG_MSG
    - mhd_D_HAS_MASTER
    - mhd_D_TYPE_IS_VALID
    - mhd_assert
    linkageType: ''
    returnType: MHD_FN_PAR_NONNULL_
    signature: "MHD_FN_PAR_NONNULL_ (1) MHD_FN_PAR_NONNULL_ (2)\nMHD_FN_MUST_CHECK_RESULT_
      enum MHD_StatusCode\nset_connections_total_limits (struct MHD_Daemon *restrict
      d,\n                              struct DaemonOptions *restrict s)"
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/daemon_start.c:3355,1
    - Dst: mhd_WM_INT_HAS_THREADS
      Src: /src/mhd2/src/mhd2/daemon_start.c:3355,1
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/daemon_start.c:3356,1
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/daemon_start.c:3357,1
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/daemon_start.c:3363,1
    - Dst: mhd_WM_INT_HAS_THREADS
      Src: /src/mhd2/src/mhd2/daemon_start.c:3363,1
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/daemon_start.c:3364,1
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/daemon_start.c:3371,1
    - Dst: mhd_WM_INT_HAS_THREADS
      Src: /src/mhd2/src/mhd2/daemon_start.c:3371,1
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/daemon_start.c:3372,1
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/daemon_start.c:3376,1
    - Dst: mhd_WM_INT_HAS_THREADS
      Src: /src/mhd2/src/mhd2/daemon_start.c:3376,1
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/daemon_start.c:3377,1
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/daemon_start.c:3378,1
    - Dst: mhd_POLL_TYPE_INT_IS_EPOLL
      Src: /src/mhd2/src/mhd2/daemon_start.c:3378,1
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/daemon_start.c:3379,1
    - Dst: mhd_POLL_TYPE_INT_IS_KQUEUE
      Src: /src/mhd2/src/mhd2/daemon_start.c:3379,1
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/daemon_start.c:3383,1
    - Dst: mhd_WM_INT_HAS_THREADS
      Src: /src/mhd2/src/mhd2/daemon_start.c:3383,1
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/daemon_start.c:3384,1
    - Dst: mhd_UNREACHABLE
      Src: /src/mhd2/src/mhd2/daemon_start.c:3391,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 36
    argCount: 1
    argNames:
    - d
    argTypes:
    - struct MHD_Daemon*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3393
      start: 3348
    functionDepth: 1
    functionLinenumber: 3348
    functionLinenumberEnd: 3393
    functionName: set_d_threading_type
    functionSourceFile: /src/mhd2/src/mhd2/daemon_start.c
    functionUses: 0
    functionsReached:
    - mhd_POLL_TYPE_INT_IS_KQUEUE
    - mhd_POLL_TYPE_INT_IS_EPOLL
    - mhd_UNREACHABLE
    - mhd_WM_INT_HAS_THREADS
    - mhd_assert
    linkageType: ''
    returnType: enum MHD_StatusCode
    signature: enum MHD_StatusCode set_d_threading_type (struct MHD_Daemon *restrict
      d)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/daemon_start.c:3409,1
    - Dst: mhd_D_TYPE_HAS_WORKERS
      Src: /src/mhd2/src/mhd2/daemon_start.c:3409,1
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/daemon_start.c:3410,1
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/daemon_start.c:3411,1
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/daemon_start.c:3413,1
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/daemon_start.c:3415,1
    - Dst: deinit_worker
      Src: /src/mhd2/src/mhd2/daemon_start.c:3422,1
    - Dst: free
      Src: /src/mhd2/src/mhd2/daemon_start.c:3424,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 11
    argCount: 2
    argNames:
    - d
    - num_workers
    argTypes:
    - struct MHD_Daemon*
    - unsigned int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3428
      start: 3404
    functionDepth: 1
    functionLinenumber: 3404
    functionLinenumberEnd: 3428
    functionName: "(1) void\ndeinit_workers_pool (struct MHD_Daemon *restrict d,\n
      \                    unsigned int num_workers)"
    functionSourceFile: /src/mhd2/src/mhd2/daemon_start.c
    functionUses: 0
    functionsReached:
    - free
    - deinit_worker
    - mhd_assert
    - mhd_D_TYPE_HAS_WORKERS
    linkageType: ''
    returnType: MHD_FN_PAR_NONNULL_
    signature: "MHD_FN_PAR_NONNULL_ (1) void\ndeinit_workers_pool (struct MHD_Daemon
      *restrict d,\n                     unsigned int num_workers)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: memset
      Src: /src/mhd2/src/mhd2/daemon_start.c:3447,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - d
    argTypes:
    - struct MHD_Daemon*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3454
      start: 3436
    functionDepth: 0
    functionLinenumber: 3436
    functionLinenumberEnd: 3454
    functionName: '(1) void

      reset_master_only_areas (struct MHD_Daemon *restrict d)'
    functionSourceFile: /src/mhd2/src/mhd2/daemon_start.c
    functionUses: 0
    functionsReached:
    - memset
    linkageType: ''
    returnType: MHD_FN_PAR_NONNULL_
    signature: 'MHD_FN_PAR_NONNULL_ (1) void

      reset_master_only_areas (struct MHD_Daemon *restrict d)'
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/daemon_start.c:3477,1
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/daemon_start.c:3478,1
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/daemon_start.c:3479,1
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/daemon_start.c:3480,1
    - Dst: mhd_D_TYPE_HAS_WORKERS
      Src: /src/mhd2/src/mhd2/daemon_start.c:3480,1
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/daemon_start.c:3481,1
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/daemon_start.c:3482,1
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/daemon_start.c:3483,1
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/daemon_start.c:3484,1
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/daemon_start.c:3486,1
    - Dst: mhd_LOG_MSG
      Src: /src/mhd2/src/mhd2/daemon_start.c:3493,1
    - Dst: mhd_itc_set_invalid
      Src: /src/mhd2/src/mhd2/daemon_start.c:3500,1
    - Dst: mhd_thread_handle_ID_set_invalid
      Src: /src/mhd2/src/mhd2/daemon_start.c:3501,1
    - Dst: malloc
      Src: /src/mhd2/src/mhd2/daemon_start.c:3505,1
    - Dst: mhd_LOG_MSG
      Src: /src/mhd2/src/mhd2/daemon_start.c:3508,1
    - Dst: memcpy
      Src: /src/mhd2/src/mhd2/daemon_start.c:3521,1
    - Dst: reset_master_only_areas
      Src: /src/mhd2/src/mhd2/daemon_start.c:3522,1
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/daemon_start.c:3530,1
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/daemon_start.c:3533,1
    - Dst: init_worker
      Src: /src/mhd2/src/mhd2/daemon_start.c:3537,1
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/daemon_start.c:3544,1
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/daemon_start.c:3555,1
    - Dst: deinit_workers_pool
      Src: /src/mhd2/src/mhd2/daemon_start.c:3556,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 50
    argCount: 2
    argNames:
    - d
    - s
    argTypes:
    - struct MHD_Daemon*
    - struct DaemonOptions*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3558
      start: 3465
    functionDepth: 1
    functionLinenumber: 3465
    functionLinenumberEnd: 3558
    functionName: "(1) MHD_FN_PAR_NONNULL_ (2)\nMHD_FN_MUST_CHECK_RESULT_ enum MHD_StatusCode\ninit_workers_pool
      (struct MHD_Daemon *restrict d,\n                   struct DaemonOptions *restrict
      s)"
    functionSourceFile: /src/mhd2/src/mhd2/daemon_start.c
    functionUses: 0
    functionsReached:
    - mhd_D_TYPE_HAS_WORKERS
    - memcpy
    - malloc
    - mhd_LOG_MSG
    - reset_master_only_areas
    - mhd_itc_set_invalid
    - mhd_assert
    - deinit_workers_pool
    - init_worker
    - mhd_thread_handle_ID_set_invalid
    linkageType: ''
    returnType: MHD_FN_PAR_NONNULL_
    signature: "MHD_FN_PAR_NONNULL_ (1) MHD_FN_PAR_NONNULL_ (2)\nMHD_FN_MUST_CHECK_RESULT_
      enum MHD_StatusCode\ninit_workers_pool (struct MHD_Daemon *restrict d,\n                   struct
      DaemonOptions *restrict s)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/daemon_start.c:3573,1
    - Dst: mhd_D_HAS_WORKERS
      Src: /src/mhd2/src/mhd2/daemon_start.c:3573,1
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/daemon_start.c:3574,1
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/daemon_start.c:3575,1
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/daemon_start.c:3576,1
    - Dst: mhd_atomic_counter_init
      Src: /src/mhd2/src/mhd2/daemon_start.c:3578,1
    - Dst: mhd_LOG_MSG
      Src: /src/mhd2/src/mhd2/daemon_start.c:3582,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 13
    argCount: 1
    argNames:
    - d
    argTypes:
    - struct MHD_Daemon*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3596
      start: 3567
    functionDepth: 1
    functionLinenumber: 3567
    functionLinenumberEnd: 3596
    functionName: '(1)

      MHD_FN_MUST_CHECK_RESULT_ enum MHD_StatusCode

      init_master_only_data (struct MHD_Daemon *restrict d)'
    functionSourceFile: /src/mhd2/src/mhd2/daemon_start.c
    functionUses: 0
    functionsReached:
    - mhd_D_HAS_WORKERS
    - mhd_LOG_MSG
    - mhd_assert
    - mhd_atomic_counter_init
    linkageType: ''
    returnType: MHD_FN_PAR_NONNULL_
    signature: 'MHD_FN_PAR_NONNULL_ (1)

      MHD_FN_MUST_CHECK_RESULT_ enum MHD_StatusCode

      init_master_only_data (struct MHD_Daemon *restrict d)'
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/daemon_start.c:3634,1
    - Dst: mhd_D_TYPE_HAS_WORKERS
      Src: /src/mhd2/src/mhd2/daemon_start.c:3634,1
    - Dst: init_master_only_data
      Src: /src/mhd2/src/mhd2/daemon_start.c:3636,1
    - Dst: init_workers_pool
      Src: /src/mhd2/src/mhd2/daemon_start.c:3640,1
    - Dst: deinit_master_only_data
      Src: /src/mhd2/src/mhd2/daemon_start.c:3653,1
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/daemon_start.c:3655,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 13
    argCount: 2
    argNames:
    - d
    - s
    argTypes:
    - struct MHD_Daemon*
    - struct DaemonOptions*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3657
      start: 3628
    functionDepth: 1
    functionLinenumber: 3628
    functionLinenumberEnd: 3657
    functionName: "(1) MHD_FN_PAR_NONNULL_ (2)\nMHD_FN_MUST_CHECK_RESULT_ enum MHD_StatusCode\ninit_master
      (struct MHD_Daemon *restrict d,\n             struct DaemonOptions *restrict
      s)"
    functionSourceFile: /src/mhd2/src/mhd2/daemon_start.c
    functionUses: 0
    functionsReached:
    - deinit_master_only_data
    - mhd_D_TYPE_HAS_WORKERS
    - init_master_only_data
    - init_workers_pool
    - mhd_assert
    linkageType: ''
    returnType: MHD_FN_PAR_NONNULL_
    signature: "MHD_FN_PAR_NONNULL_ (1) MHD_FN_PAR_NONNULL_ (2)\nMHD_FN_MUST_CHECK_RESULT_
      enum MHD_StatusCode\ninit_master (struct MHD_Daemon *restrict d,\n             struct
      DaemonOptions *restrict s)"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/daemon_start.c:3696,1
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/daemon_start.c:3697,1
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/daemon_start.c:3698,1
    - Dst: set_d_threading_type
      Src: /src/mhd2/src/mhd2/daemon_start.c:3700,1
    - Dst: set_connections_total_limits
      Src: /src/mhd2/src/mhd2/daemon_start.c:3704,1
    - Dst: mhd_D_HAS_WORKERS
      Src: /src/mhd2/src/mhd2/daemon_start.c:3712,1
    - Dst: init_worker
      Src: /src/mhd2/src/mhd2/daemon_start.c:3713,1
    - Dst: init_master
      Src: /src/mhd2/src/mhd2/daemon_start.c:3717,1
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/daemon_start.c:3723,1
    - Dst: mhd_D_TYPE_HAS_WORKERS
      Src: /src/mhd2/src/mhd2/daemon_start.c:3724,1
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/daemon_start.c:3725,1
    - Dst: mhd_D_TYPE_HAS_WORKERS
      Src: /src/mhd2/src/mhd2/daemon_start.c:3725,1
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/daemon_start.c:3727,1
    - Dst: mhd_D_TYPE_HAS_WORKERS
      Src: /src/mhd2/src/mhd2/daemon_start.c:3728,1
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/daemon_start.c:3729,1
    - Dst: mhd_D_TYPE_HAS_WORKERS
      Src: /src/mhd2/src/mhd2/daemon_start.c:3729,1
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/daemon_start.c:3731,1
    - Dst: mhd_D_TYPE_IS_INTERNAL_ONLY
      Src: /src/mhd2/src/mhd2/daemon_start.c:3731,1
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/daemon_start.c:3732,1
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/daemon_start.c:3733,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 23
    argCount: 2
    argNames:
    - d
    - s
    argTypes:
    - struct MHD_Daemon*
    - struct DaemonOptions*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3736
      start: 3689
    functionDepth: 2
    functionLinenumber: 3689
    functionLinenumberEnd: 3736
    functionName: "(1) MHD_FN_PAR_NONNULL_ (2)\nMHD_FN_MUST_CHECK_RESULT_ enum MHD_StatusCode\ndaemon_init_threading_and_conn
      (struct MHD_Daemon *restrict d,\n                                struct DaemonOptions
      *restrict s)"
    functionSourceFile: /src/mhd2/src/mhd2/daemon_start.c
    functionUses: 0
    functionsReached:
    - mhd_D_TYPE_HAS_WORKERS
    - mhd_D_HAS_WORKERS
    - init_master
    - mhd_D_TYPE_IS_INTERNAL_ONLY
    - set_connections_total_limits
    - set_d_threading_type
    - mhd_assert
    - init_worker
    linkageType: ''
    returnType: MHD_FN_PAR_NONNULL_
    signature: "MHD_FN_PAR_NONNULL_ (1) MHD_FN_PAR_NONNULL_ (2)\nMHD_FN_MUST_CHECK_RESULT_
      enum MHD_StatusCode\ndaemon_init_threading_and_conn (struct MHD_Daemon *restrict
      d,\n                                struct DaemonOptions *restrict s)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/daemon_start.c:3748,1
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/daemon_start.c:3749,1
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/daemon_start.c:3750,1
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/daemon_start.c:3751,1
    - Dst: mhd_D_TYPE_IS_INTERNAL_ONLY
      Src: /src/mhd2/src/mhd2/daemon_start.c:3751,1
    - Dst: mhd_D_TYPE_HAS_WORKERS
      Src: /src/mhd2/src/mhd2/daemon_start.c:3752,1
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/daemon_start.c:3754,1
    - Dst: mhd_WM_INT_IS_THREAD_POOL
      Src: /src/mhd2/src/mhd2/daemon_start.c:3754,1
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/daemon_start.c:3755,1
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/daemon_start.c:3756,1
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/daemon_start.c:3757,1
    - Dst: deinit_worker
      Src: /src/mhd2/src/mhd2/daemon_start.c:3758,1
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/daemon_start.c:3763,1
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/daemon_start.c:3764,1
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/daemon_start.c:3765,1
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/daemon_start.c:3766,1
    - Dst: deinit_master
      Src: /src/mhd2/src/mhd2/daemon_start.c:3767,1
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/daemon_start.c:3769,1
    - Dst: mhd_UNREACHABLE
      Src: /src/mhd2/src/mhd2/daemon_start.c:3770,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 21
    argCount: 1
    argNames:
    - d
    argTypes:
    - struct MHD_Daemon*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3774
      start: 3745
    functionDepth: 1
    functionLinenumber: 3745
    functionLinenumberEnd: 3774
    functionName: '(1) void

      daemon_deinit_threading_and_conn (struct MHD_Daemon *restrict d)'
    functionSourceFile: /src/mhd2/src/mhd2/daemon_start.c
    functionUses: 0
    functionsReached:
    - deinit_worker
    - deinit_master
    - mhd_D_TYPE_HAS_WORKERS
    - mhd_D_TYPE_IS_INTERNAL_ONLY
    - mhd_UNREACHABLE
    - mhd_assert
    - mhd_WM_INT_IS_THREAD_POOL
    linkageType: ''
    returnType: MHD_FN_PAR_NONNULL_
    signature: 'MHD_FN_PAR_NONNULL_ (1) void

      daemon_deinit_threading_and_conn (struct MHD_Daemon *restrict d)'
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/daemon_start.c:3792,1
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/daemon_start.c:3793,1
    - Dst: mhd_WM_INT_HAS_THREADS
      Src: /src/mhd2/src/mhd2/daemon_start.c:3793,1
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/daemon_start.c:3794,1
    - Dst: mhd_D_TYPE_IS_VALID
      Src: /src/mhd2/src/mhd2/daemon_start.c:3794,1
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/daemon_start.c:3795,1
    - Dst: mhd_D_TYPE_HAS_WORKERS
      Src: /src/mhd2/src/mhd2/daemon_start.c:3795,1
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/daemon_start.c:3796,1
    - Dst: mhd_thread_handle_ID_is_valid_handle
      Src: /src/mhd2/src/mhd2/daemon_start.c:3796,1
    - Dst: mhd_create_named_thread
      Src: /src/mhd2/src/mhd2/daemon_start.c:3800,1
    - Dst: mhd_LOG_MSG
      Src: /src/mhd2/src/mhd2/daemon_start.c:3806,1
    - Dst: mhd_create_named_thread
      Src: /src/mhd2/src/mhd2/daemon_start.c:3813,1
    - Dst: mhd_LOG_MSG
      Src: /src/mhd2/src/mhd2/daemon_start.c:3819,1
    - Dst: mhd_create_named_thread
      Src: /src/mhd2/src/mhd2/daemon_start.c:3826,1
    - Dst: mhd_LOG_MSG
      Src: /src/mhd2/src/mhd2/daemon_start.c:3832,1
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/daemon_start.c:3839,1
    - Dst: mhd_UNREACHABLE
      Src: /src/mhd2/src/mhd2/daemon_start.c:3840,1
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/daemon_start.c:3843,1
    - Dst: mhd_thread_handle_ID_is_valid_handle
      Src: /src/mhd2/src/mhd2/daemon_start.c:3843,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 30
    argCount: 1
    argNames:
    - d
    argTypes:
    - struct MHD_Daemon*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3845
      start: 3788
    functionDepth: 1
    functionLinenumber: 3788
    functionLinenumberEnd: 3845
    functionName: '(1)

      MHD_FN_MUST_CHECK_RESULT_ enum MHD_StatusCode

      start_individual_daemon_thread (struct MHD_Daemon *restrict d)'
    functionSourceFile: /src/mhd2/src/mhd2/daemon_start.c
    functionUses: 0
    functionsReached:
    - mhd_D_TYPE_HAS_WORKERS
    - mhd_LOG_MSG
    - mhd_create_named_thread
    - mhd_UNREACHABLE
    - mhd_WM_INT_HAS_THREADS
    - mhd_D_TYPE_IS_VALID
    - mhd_thread_handle_ID_is_valid_handle
    - mhd_assert
    linkageType: ''
    returnType: MHD_FN_PAR_NONNULL_
    signature: 'MHD_FN_PAR_NONNULL_ (1)

      MHD_FN_MUST_CHECK_RESULT_ enum MHD_StatusCode

      start_individual_daemon_thread (struct MHD_Daemon *restrict d)'
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/daemon_start.c:3858,1
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/daemon_start.c:3859,1
    - Dst: mhd_WM_INT_HAS_THREADS
      Src: /src/mhd2/src/mhd2/daemon_start.c:3859,1
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/daemon_start.c:3860,1
    - Dst: mhd_D_TYPE_IS_VALID
      Src: /src/mhd2/src/mhd2/daemon_start.c:3860,1
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/daemon_start.c:3861,1
    - Dst: mhd_D_TYPE_HAS_WORKERS
      Src: /src/mhd2/src/mhd2/daemon_start.c:3861,1
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/daemon_start.c:3862,1
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/daemon_start.c:3864,1
    - Dst: mhd_thread_handle_ID_is_valid_handle
      Src: /src/mhd2/src/mhd2/daemon_start.c:3864,1
    - Dst: mhd_daemon_trigger_itc
      Src: /src/mhd2/src/mhd2/daemon_start.c:3868,1
    - Dst: mhd_thread_handle_ID_join_thread
      Src: /src/mhd2/src/mhd2/daemon_start.c:3869,1
    - Dst: mhd_LOG_MSG
      Src: /src/mhd2/src/mhd2/daemon_start.c:3871,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 12
    argCount: 1
    argNames:
    - d
    argTypes:
    - struct MHD_Daemon*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3874
      start: 3855
    functionDepth: 1
    functionLinenumber: 3855
    functionLinenumberEnd: 3874
    functionName: stop_individual_daemon_thread
    functionSourceFile: /src/mhd2/src/mhd2/daemon_start.c
    functionUses: 0
    functionsReached:
    - mhd_D_TYPE_HAS_WORKERS
    - mhd_thread_handle_ID_join_thread
    - mhd_LOG_MSG
    - mhd_daemon_trigger_itc
    - mhd_WM_INT_HAS_THREADS
    - mhd_D_TYPE_IS_VALID
    - mhd_thread_handle_ID_is_valid_handle
    - mhd_assert
    linkageType: ''
    returnType: void
    signature: void stop_individual_daemon_thread (struct MHD_Daemon *restrict d)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/daemon_start.c:3888,1
    - Dst: mhd_D_TYPE_HAS_WORKERS
      Src: /src/mhd2/src/mhd2/daemon_start.c:3888,1
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/daemon_start.c:3889,1
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/daemon_start.c:3890,1
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/daemon_start.c:3891,1
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/daemon_start.c:3892,1
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/daemon_start.c:3893,1
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/daemon_start.c:3895,1
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/daemon_start.c:3904,1
    - Dst: mhd_ITC_IS_VALID
      Src: /src/mhd2/src/mhd2/daemon_start.c:3904,1
    - Dst: mhd_daemon_trigger_itc
      Src: /src/mhd2/src/mhd2/daemon_start.c:3906,1
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/daemon_start.c:3914,1
    - Dst: mhd_thread_handle_ID_is_valid_handle
      Src: /src/mhd2/src/mhd2/daemon_start.c:3914,1
    - Dst: mhd_thread_handle_ID_join_thread
      Src: /src/mhd2/src/mhd2/daemon_start.c:3915,1
    - Dst: mhd_LOG_MSG
      Src: /src/mhd2/src/mhd2/daemon_start.c:3917,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 19
    argCount: 2
    argNames:
    - d
    - num_workers
    argTypes:
    - struct MHD_Daemon*
    - unsigned int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3921
      start: 3883
    functionDepth: 1
    functionLinenumber: 3883
    functionLinenumberEnd: 3921
    functionName: "(1) void\nstop_worker_pool_threads (struct MHD_Daemon *restrict
      d,\n                          unsigned int num_workers)"
    functionSourceFile: /src/mhd2/src/mhd2/daemon_start.c
    functionUses: 0
    functionsReached:
    - mhd_ITC_IS_VALID
    - mhd_D_TYPE_HAS_WORKERS
    - mhd_thread_handle_ID_join_thread
    - mhd_LOG_MSG
    - mhd_daemon_trigger_itc
    - mhd_thread_handle_ID_is_valid_handle
    - mhd_assert
    linkageType: ''
    returnType: MHD_FN_PAR_NONNULL_
    signature: "MHD_FN_PAR_NONNULL_ (1) void\nstop_worker_pool_threads (struct MHD_Daemon
      *restrict d,\n                          unsigned int num_workers)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/daemon_start.c:3938,1
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/daemon_start.c:3939,1
    - Dst: mhd_WM_INT_HAS_THREADS
      Src: /src/mhd2/src/mhd2/daemon_start.c:3939,1
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/daemon_start.c:3940,1
    - Dst: mhd_D_TYPE_IS_VALID
      Src: /src/mhd2/src/mhd2/daemon_start.c:3940,1
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/daemon_start.c:3941,1
    - Dst: mhd_D_TYPE_HAS_WORKERS
      Src: /src/mhd2/src/mhd2/daemon_start.c:3941,1
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/daemon_start.c:3942,1
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/daemon_start.c:3943,1
    - Dst: start_individual_daemon_thread
      Src: /src/mhd2/src/mhd2/daemon_start.c:3949,1
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/daemon_start.c:3955,1
    - Dst: stop_worker_pool_threads
      Src: /src/mhd2/src/mhd2/daemon_start.c:3959,1
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/daemon_start.c:3960,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 20
    argCount: 1
    argNames:
    - d
    argTypes:
    - struct MHD_Daemon*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3962
      start: 3931
    functionDepth: 1
    functionLinenumber: 3931
    functionLinenumberEnd: 3962
    functionName: '(1)

      MHD_FN_MUST_CHECK_RESULT_ enum MHD_StatusCode

      start_worker_pool_threads (struct MHD_Daemon *restrict d)'
    functionSourceFile: /src/mhd2/src/mhd2/daemon_start.c
    functionUses: 0
    functionsReached:
    - start_individual_daemon_thread
    - mhd_D_TYPE_HAS_WORKERS
    - stop_worker_pool_threads
    - mhd_WM_INT_HAS_THREADS
    - mhd_D_TYPE_IS_VALID
    - mhd_assert
    linkageType: ''
    returnType: MHD_FN_PAR_NONNULL_
    signature: 'MHD_FN_PAR_NONNULL_ (1)

      MHD_FN_MUST_CHECK_RESULT_ enum MHD_StatusCode

      start_worker_pool_threads (struct MHD_Daemon *restrict d)'
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/daemon_start.c:3977,1
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/daemon_start.c:3978,1
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/daemon_start.c:3979,1
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/daemon_start.c:3980,1
    - Dst: mhd_D_TYPE_IS_INTERNAL_ONLY
      Src: /src/mhd2/src/mhd2/daemon_start.c:3980,1
    - Dst: mhd_WM_INT_HAS_THREADS
      Src: /src/mhd2/src/mhd2/daemon_start.c:3981,1
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/daemon_start.c:3986,1
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/daemon_start.c:3987,1
    - Dst: start_individual_daemon_thread
      Src: /src/mhd2/src/mhd2/daemon_start.c:3988,1
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/daemon_start.c:3992,1
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/daemon_start.c:3993,1
    - Dst: start_worker_pool_threads
      Src: /src/mhd2/src/mhd2/daemon_start.c:3994,1
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/daemon_start.c:3997,1
    - Dst: mhd_UNREACHABLE
      Src: /src/mhd2/src/mhd2/daemon_start.c:3998,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 20
    argCount: 1
    argNames:
    - d
    argTypes:
    - struct MHD_Daemon*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4003
      start: 3973
    functionDepth: 1
    functionLinenumber: 3973
    functionLinenumberEnd: 4003
    functionName: '(1)

      MHD_FN_MUST_CHECK_RESULT_ enum MHD_StatusCode

      daemon_start_threads (struct MHD_Daemon *restrict d)'
    functionSourceFile: /src/mhd2/src/mhd2/daemon_start.c
    functionUses: 0
    functionsReached:
    - start_individual_daemon_thread
    - start_worker_pool_threads
    - mhd_D_TYPE_IS_INTERNAL_ONLY
    - mhd_UNREACHABLE
    - mhd_WM_INT_HAS_THREADS
    - mhd_assert
    linkageType: ''
    returnType: MHD_FN_PAR_NONNULL_
    signature: 'MHD_FN_PAR_NONNULL_ (1)

      MHD_FN_MUST_CHECK_RESULT_ enum MHD_StatusCode

      daemon_start_threads (struct MHD_Daemon *restrict d)'
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/daemon_start.c:4013,1
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/daemon_start.c:4014,1
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/daemon_start.c:4015,1
    - Dst: mhd_WM_INT_HAS_THREADS
      Src: /src/mhd2/src/mhd2/daemon_start.c:4016,1
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/daemon_start.c:4021,1
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/daemon_start.c:4022,1
    - Dst: mhd_D_TYPE_HAS_WORKERS
      Src: /src/mhd2/src/mhd2/daemon_start.c:4022,1
    - Dst: stop_individual_daemon_thread
      Src: /src/mhd2/src/mhd2/daemon_start.c:4023,1
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/daemon_start.c:4028,1
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/daemon_start.c:4029,1
    - Dst: mhd_D_TYPE_HAS_WORKERS
      Src: /src/mhd2/src/mhd2/daemon_start.c:4029,1
    - Dst: stop_worker_pool_threads
      Src: /src/mhd2/src/mhd2/daemon_start.c:4030,1
    - Dst: mhd_UNREACHABLE
      Src: /src/mhd2/src/mhd2/daemon_start.c:4034,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 19
    argCount: 1
    argNames:
    - d
    argTypes:
    - struct MHD_Daemon*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4038
      start: 4010
    functionDepth: 2
    functionLinenumber: 4010
    functionLinenumberEnd: 4038
    functionName: '(1) void

      daemon_stop_threads (struct MHD_Daemon *restrict d)'
    functionSourceFile: /src/mhd2/src/mhd2/daemon_start.c
    functionUses: 0
    functionsReached:
    - mhd_D_TYPE_HAS_WORKERS
    - stop_worker_pool_threads
    - mhd_UNREACHABLE
    - mhd_WM_INT_HAS_THREADS
    - mhd_assert
    - stop_individual_daemon_thread
    linkageType: ''
    returnType: MHD_FN_PAR_NONNULL_
    signature: 'MHD_FN_PAR_NONNULL_ (1) void

      daemon_stop_threads (struct MHD_Daemon *restrict d)'
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: mhd_WM_INT_HAS_THREADS
      Src: /src/mhd2/src/mhd2/daemon_start.c:4048,1
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/daemon_start.c:4051,1
    - Dst: mhd_DLINKEDL_GET_LAST
      Src: /src/mhd2/src/mhd2/daemon_start.c:4051,1
    - Dst: mhd_daemon_close_all_conns
      Src: /src/mhd2/src/mhd2/daemon_start.c:4055,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - d
    argTypes:
    - struct MHD_Daemon*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4056
      start: 4045
    functionDepth: 1
    functionLinenumber: 4045
    functionLinenumberEnd: 4056
    functionName: '(1) void

      daemon_close_connections (struct MHD_Daemon *restrict d)'
    functionSourceFile: /src/mhd2/src/mhd2/daemon_start.c
    functionUses: 0
    functionsReached:
    - mhd_WM_INT_HAS_THREADS
    - mhd_assert
    - mhd_DLINKEDL_GET_LAST
    - mhd_daemon_close_all_conns
    linkageType: ''
    returnType: MHD_FN_PAR_NONNULL_
    signature: 'MHD_FN_PAR_NONNULL_ (1) void

      daemon_close_connections (struct MHD_Daemon *restrict d)'
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: daemon_set_basic_settings
      Src: /src/mhd2/src/mhd2/daemon_start.c:4074,1
    - Dst: daemon_set_work_mode
      Src: /src/mhd2/src/mhd2/daemon_start.c:4078,1
    - Dst: daemon_init_net
      Src: /src/mhd2/src/mhd2/daemon_start.c:4082,1
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/daemon_start.c:4086,1
    - Dst: daemon_init_auth_digest
      Src: /src/mhd2/src/mhd2/daemon_start.c:4088,1
    - Dst: daemon_init_tls
      Src: /src/mhd2/src/mhd2/daemon_start.c:4092,1
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/daemon_start.c:4095,1
    - Dst: daemon_init_threading_and_conn
      Src: /src/mhd2/src/mhd2/daemon_start.c:4096,1
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/daemon_start.c:4099,1
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/daemon_start.c:4100,1
    - Dst: mhd_D_TYPE_IS_INTERNAL_ONLY
      Src: /src/mhd2/src/mhd2/daemon_start.c:4100,1
    - Dst: daemon_init_large_buf
      Src: /src/mhd2/src/mhd2/daemon_start.c:4102,1
    - Dst: daemon_start_threads
      Src: /src/mhd2/src/mhd2/daemon_start.c:4105,1
    - Dst: daemon_deinit_large_buf
      Src: /src/mhd2/src/mhd2/daemon_start.c:4112,1
    - Dst: daemon_deinit_threading_and_conn
      Src: /src/mhd2/src/mhd2/daemon_start.c:4114,1
    - Dst: daemon_deinit_tls
      Src: /src/mhd2/src/mhd2/daemon_start.c:4116,1
    - Dst: daemon_deinit_auth_digest
      Src: /src/mhd2/src/mhd2/daemon_start.c:4118,1
    - Dst: daemon_deinit_net
      Src: /src/mhd2/src/mhd2/daemon_start.c:4120,1
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/daemon_start.c:4121,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 37
    argCount: 2
    argNames:
    - d
    - s
    argTypes:
    - struct MHD_Daemon*
    - struct DaemonOptions*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4123
      start: 4067
    functionDepth: 2
    functionLinenumber: 4067
    functionLinenumberEnd: 4123
    functionName: "(1) MHD_FN_PAR_NONNULL_ (2)\nMHD_FN_MUST_CHECK_RESULT_ enum MHD_StatusCode\ndaemon_start_internal
      (struct MHD_Daemon *restrict d,\n                       struct DaemonOptions
      *restrict s)"
    functionSourceFile: /src/mhd2/src/mhd2/daemon_start.c
    functionUses: 0
    functionsReached:
    - daemon_init_tls
    - daemon_set_work_mode
    - daemon_deinit_tls
    - daemon_start_threads
    - daemon_deinit_large_buf
    - daemon_deinit_threading_and_conn
    - daemon_set_basic_settings
    - daemon_init_large_buf
    - mhd_D_TYPE_IS_INTERNAL_ONLY
    - daemon_deinit_net
    - daemon_deinit_auth_digest
    - mhd_assert
    - daemon_init_threading_and_conn
    - daemon_init_net
    - daemon_init_auth_digest
    linkageType: ''
    returnType: MHD_FN_PAR_NONNULL_
    signature: "MHD_FN_PAR_NONNULL_ (1) MHD_FN_PAR_NONNULL_ (2)\nMHD_FN_MUST_CHECK_RESULT_
      enum MHD_StatusCode\ndaemon_start_internal (struct MHD_Daemon *restrict d,\n
      \                      struct DaemonOptions *restrict s)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/daemon_start.c:4137,1
    - Dst: daemon_start_internal
      Src: /src/mhd2/src/mhd2/daemon_start.c:4140,1
    - Dst: dsettings_release
      Src: /src/mhd2/src/mhd2/daemon_start.c:4143,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 10
    argCount: 1
    argNames:
    - daemon
    argTypes:
    - struct MHD_Daemon*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4149
      start: 4127
    functionDepth: 2
    functionLinenumber: 4127
    functionLinenumberEnd: 4149
    functionName: MHD_daemon_start
    functionSourceFile: /src/mhd2/src/mhd2/daemon_start.c
    functionUses: 12
    functionsReached:
    - dsettings_release
    - mhd_assert
    - daemon_start_internal
    linkageType: ''
    returnType: MHD_FN_MUST_CHECK_RESULT_
    signature: MHD_FN_MUST_CHECK_RESULT_ MHD_daemon_start (struct MHD_Daemon *daemon)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/daemon_start.c:4157,1
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/daemon_start.c:4158,1
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/daemon_start.c:4163,1
    - Dst: dsettings_release
      Src: /src/mhd2/src/mhd2/daemon_start.c:4164,1
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/daemon_start.c:4168,1
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/daemon_start.c:4169,1
    - Dst: daemon_stop_threads
      Src: /src/mhd2/src/mhd2/daemon_start.c:4171,1
    - Dst: daemon_close_connections
      Src: /src/mhd2/src/mhd2/daemon_start.c:4173,1
    - Dst: daemon_deinit_threading_and_conn
      Src: /src/mhd2/src/mhd2/daemon_start.c:4175,1
    - Dst: daemon_deinit_large_buf
      Src: /src/mhd2/src/mhd2/daemon_start.c:4177,1
    - Dst: daemon_deinit_tls
      Src: /src/mhd2/src/mhd2/daemon_start.c:4179,1
    - Dst: daemon_deinit_auth_digest
      Src: /src/mhd2/src/mhd2/daemon_start.c:4181,1
    - Dst: daemon_deinit_net
      Src: /src/mhd2/src/mhd2/daemon_start.c:4183,1
    - Dst: free
      Src: /src/mhd2/src/mhd2/daemon_start.c:4187,1
    - Dst: mhd_lib_deinit_global_if_needed
      Src: /src/mhd2/src/mhd2/daemon_start.c:4189,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 22
    argCount: 1
    argNames:
    - daemon
    argTypes:
    - struct MHD_Daemon*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4190
      start: 4152
    functionDepth: 3
    functionLinenumber: 4152
    functionLinenumberEnd: 4190
    functionName: MHD_daemon_destroy
    functionSourceFile: /src/mhd2/src/mhd2/daemon_start.c
    functionUses: 9
    functionsReached:
    - daemon_close_connections
    - daemon_deinit_tls
    - daemon_deinit_large_buf
    - daemon_deinit_threading_and_conn
    - free
    - daemon_deinit_net
    - daemon_stop_threads
    - daemon_deinit_auth_digest
    - mhd_lib_deinit_global_if_needed
    - dsettings_release
    - mhd_assert
    linkageType: ''
    returnType: MHD_EXTERN_
    signature: MHD_EXTERN_ MHD_daemon_destroy (struct MHD_Daemon *daemon)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - c
    argTypes:
    - char
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 90
      start: 84
    functionDepth: 0
    functionLinenumber: 84
    functionLinenumberEnd: 90
    functionName: isasciilower
    functionSourceFile: /src/mhd2/src/mhd2/mhd_str.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: mhd_static_inline
    signature: mhd_static_inline isasciilower (char c)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - c
    argTypes:
    - char
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 108
      start: 102
    functionDepth: 0
    functionLinenumber: 102
    functionLinenumberEnd: 108
    functionName: isasciiupper
    functionSourceFile: /src/mhd2/src/mhd2/mhd_str.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: mhd_static_inline
    signature: mhd_static_inline isasciiupper (char c)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: isasciilower
      Src: /src/mhd2/src/mhd2/mhd_str.c:121,1
    - Dst: isasciiupper
      Src: /src/mhd2/src/mhd2/mhd_str.c:121,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 1
    argNames:
    - c
    argTypes:
    - char
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 122
      start: 118
    functionDepth: 1
    functionLinenumber: 118
    functionLinenumberEnd: 122
    functionName: isasciialpha
    functionSourceFile: /src/mhd2/src/mhd2/mhd_str.c
    functionUses: 0
    functionsReached:
    - isasciiupper
    - isasciilower
    linkageType: ''
    returnType: mhd_static_inline
    signature: mhd_static_inline isasciialpha (char c)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 1
    argNames:
    - c
    argTypes:
    - char
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 138
      start: 134
    functionDepth: 0
    functionLinenumber: 134
    functionLinenumberEnd: 138
    functionName: isasciidigit
    functionSourceFile: /src/mhd2/src/mhd2/mhd_str.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: mhd_static_inline
    signature: mhd_static_inline isasciidigit (char c)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: isasciidigit
      Src: /src/mhd2/src/mhd2/mhd_str.c:151,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 2
    argCount: 1
    argNames:
    - c
    argTypes:
    - char
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 154
      start: 148
    functionDepth: 1
    functionLinenumber: 148
    functionLinenumberEnd: 154
    functionName: isasciixdigit
    functionSourceFile: /src/mhd2/src/mhd2/mhd_str.c
    functionUses: 0
    functionsReached:
    - isasciidigit
    linkageType: ''
    returnType: mhd_static_inline
    signature: mhd_static_inline isasciixdigit (char c)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: isasciialpha
      Src: /src/mhd2/src/mhd2/mhd_str.c:166,1
    - Dst: isasciidigit
      Src: /src/mhd2/src/mhd2/mhd_str.c:166,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 1
    argNames:
    - c
    argTypes:
    - char
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 167
      start: 163
    functionDepth: 2
    functionLinenumber: 163
    functionLinenumberEnd: 167
    functionName: isasciialnum
    functionSourceFile: /src/mhd2/src/mhd2/mhd_str.c
    functionUses: 0
    functionsReached:
    - isasciidigit
    - isasciialpha
    linkageType: ''
    returnType: mhd_static_inline
    signature: mhd_static_inline isasciialnum (char c)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: isasciiupper
      Src: /src/mhd2/src/mhd2/mhd_str.c:184,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - c
    argTypes:
    - char
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 185
      start: 181
    functionDepth: 1
    functionLinenumber: 181
    functionLinenumberEnd: 185
    functionName: toasciilower
    functionSourceFile: /src/mhd2/src/mhd2/mhd_str.c
    functionUses: 0
    functionsReached:
    - isasciiupper
    linkageType: ''
    returnType: mhd_static_inline
    signature: mhd_static_inline toasciilower (char c)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: isasciilower
      Src: /src/mhd2/src/mhd2/mhd_str.c:203,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - c
    argTypes:
    - char
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 204
      start: 199
    functionDepth: 1
    functionLinenumber: 199
    functionLinenumberEnd: 204
    functionName: toasciiupper
    functionSourceFile: /src/mhd2/src/mhd2/mhd_str.c
    functionUses: 0
    functionsReached:
    - isasciilower
    linkageType: ''
    returnType: mhd_static_inline
    signature: mhd_static_inline toasciiupper (char c)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: isasciidigit
      Src: /src/mhd2/src/mhd2/mhd_str.c:220,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - c
    argTypes:
    - char
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 224
      start: 217
    functionDepth: 1
    functionLinenumber: 217
    functionLinenumberEnd: 224
    functionName: todigitvalue
    functionSourceFile: /src/mhd2/src/mhd2/mhd_str.c
    functionUses: 0
    functionsReached:
    - isasciidigit
    linkageType: ''
    returnType: mhd_static_inline
    signature: mhd_static_inline todigitvalue (char c)
  - BBCount: 3
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 1
    argNames:
    - c
    argTypes:
    - char
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 512
      start: 236
    functionDepth: 0
    functionLinenumber: 236
    functionLinenumberEnd: 512
    functionName: xdigittovalue
    functionSourceFile: /src/mhd2/src/mhd2/mhd_str.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: mhd_static_inline
    signature: mhd_static_inline xdigittovalue (char c)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/mhd_str.c:529,1
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/mhd_str.c:534,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 1
    argNames:
    - v
    argTypes:
    - unsigned int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 540
      start: 521
    functionDepth: 1
    functionLinenumber: 521
    functionLinenumberEnd: 540
    functionName: valuetoxdigit
    functionSourceFile: /src/mhd2/src/mhd2/mhd_str.c
    functionUses: 0
    functionsReached:
    - mhd_assert
    linkageType: ''
    returnType: mhd_static_inline
    signature: mhd_static_inline valuetoxdigit (unsigned int v)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/mhd_str.c:816,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - v
    argTypes:
    - uint8_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 825
      start: 550
    functionDepth: 1
    functionLinenumber: 550
    functionLinenumberEnd: 825
    functionName: uint8totwoxdigits
    functionSourceFile: /src/mhd2/src/mhd2/mhd_str.c
    functionUses: 0
    functionsReached:
    - mhd_assert
    linkageType: ''
    returnType: char
    signature: 'char *

      uint8totwoxdigits (uint8_t v)'
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: isasciiupper
      Src: /src/mhd2/src/mhd2/mhd_str.c:846,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 2
    argNames:
    - c1
    - c2
    argTypes:
    - char
    - char
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 847
      start: 838
    functionDepth: 1
    functionLinenumber: 838
    functionLinenumberEnd: 847
    functionName: charsequalcaseless
    functionSourceFile: /src/mhd2/src/mhd2/mhd_str.c
    functionUses: 0
    functionsReached:
    - isasciiupper
    linkageType: ''
    returnType: mhd_static_inline
    signature: mhd_static_inline charsequalcaseless (char c1, char c2)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: isasciiupper
      Src: /src/mhd2/src/mhd2/mhd_str.c:864,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 2
    argNames:
    - mc
    - lc
    argTypes:
    - char
    - char
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 865
      start: 857
    functionDepth: 1
    functionLinenumber: 857
    functionLinenumberEnd: 865
    functionName: charsequallowercase
    functionSourceFile: /src/mhd2/src/mhd2/mhd_str.c
    functionUses: 0
    functionsReached:
    - isasciiupper
    linkageType: ''
    returnType: mhd_static_inline
    signature: mhd_static_inline charsequallowercase (char mc, char lc)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - c
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 879
      start: 878
    functionDepth: 0
    functionLinenumber: 878
    functionLinenumberEnd: 879
    functionName: isasciilower
    functionSourceFile: /src/mhd2/src/mhd2/mhd_str.c
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: isasciilower(c)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - c
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 889
      start: 888
    functionDepth: 0
    functionLinenumber: 888
    functionLinenumberEnd: 889
    functionName: isasciiupper
    functionSourceFile: /src/mhd2/src/mhd2/mhd_str.c
    functionUses: 4
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: isasciiupper(c)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - c
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 899
      start: 898
    functionDepth: 0
    functionLinenumber: 898
    functionLinenumberEnd: 899
    functionName: isasciialpha
    functionSourceFile: /src/mhd2/src/mhd2/mhd_str.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: isasciialpha(c)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - c
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 909
      start: 908
    functionDepth: 0
    functionLinenumber: 908
    functionLinenumberEnd: 909
    functionName: isasciidigit
    functionSourceFile: /src/mhd2/src/mhd2/mhd_str.c
    functionUses: 3
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: isasciidigit(c)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - c
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 921
      start: 918
    functionDepth: 0
    functionLinenumber: 918
    functionLinenumberEnd: 921
    functionName: isasciixdigit
    functionSourceFile: /src/mhd2/src/mhd2/mhd_str.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: isasciixdigit(c)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - c
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 931
      start: 930
    functionDepth: 0
    functionLinenumber: 930
    functionLinenumberEnd: 931
    functionName: isasciialnum
    functionSourceFile: /src/mhd2/src/mhd2/mhd_str.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: isasciialnum(c)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - c
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 944
      start: 942
    functionDepth: 0
    functionLinenumber: 942
    functionLinenumberEnd: 944
    functionName: toasciilower
    functionSourceFile: /src/mhd2/src/mhd2/mhd_str.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: toasciilower(c)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - c
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 957
      start: 955
    functionDepth: 0
    functionLinenumber: 955
    functionLinenumberEnd: 957
    functionName: toasciiupper
    functionSourceFile: /src/mhd2/src/mhd2/mhd_str.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: toasciiupper(c)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - c
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 967
      start: 965
    functionDepth: 0
    functionLinenumber: 965
    functionLinenumberEnd: 967
    functionName: todigitvalue
    functionSourceFile: /src/mhd2/src/mhd2/mhd_str.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: todigitvalue(c)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - c
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 980
      start: 974
    functionDepth: 0
    functionLinenumber: 974
    functionLinenumberEnd: 980
    functionName: xdigittovalue
    functionSourceFile: /src/mhd2/src/mhd2/mhd_str.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: xdigittovalue(c)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - v
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 994
      start: 993
    functionDepth: 0
    functionLinenumber: 993
    functionLinenumberEnd: 994
    functionName: valuetoxdigit
    functionSourceFile: /src/mhd2/src/mhd2/mhd_str.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: valuetoxdigit(v)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - v
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1003
      start: 1001
    functionDepth: 0
    functionLinenumber: 1001
    functionLinenumberEnd: 1003
    functionName: valuetoxdigit
    functionSourceFile: /src/mhd2/src/mhd2/mhd_str.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: valuetoxdigit(v)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - c1
    - ','
    - c2
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1016
      start: 1012
    functionDepth: 0
    functionLinenumber: 1012
    functionLinenumberEnd: 1016
    functionName: charsequalcaseless
    functionSourceFile: /src/mhd2/src/mhd2/mhd_str.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: charsequalcaseless(c1, c2)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - mc
    - ','
    - lc
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1028
      start: 1024
    functionDepth: 0
    functionLinenumber: 1024
    functionLinenumberEnd: 1028
    functionName: charsequallowercase
    functionSourceFile: /src/mhd2/src/mhd2/mhd_str.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: charsequallowercase(mc, lc)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: charsequalcaseless
      Src: /src/mhd2/src/mhd2/mhd_str.c:1041,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 2
    argNames:
    - str1
    - str2
    argTypes:
    - char*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1050
      start: 1032
    functionDepth: 2
    functionLinenumber: 1032
    functionLinenumberEnd: 1050
    functionName: mhd_str_equal_caseless
    functionSourceFile: /src/mhd2/src/mhd2/mhd_str.c
    functionUses: 4
    functionsReached:
    - charsequalcaseless
    linkageType: ''
    returnType: MHD_INTERNAL
    signature: "MHD_INTERNAL mhd_str_equal_caseless (const char *str1,\n                        const
      char *str2)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: charsequalcaseless
      Src: /src/mhd2/src/mhd2/mhd_str.c:1070,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 9
    argCount: 3
    argNames:
    - str1
    - str2
    - maxlen
    argTypes:
    - char*
    - char*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1076
      start: 1056
    functionDepth: 2
    functionLinenumber: 1056
    functionLinenumberEnd: 1076
    functionName: mhd_str_equal_caseless_n
    functionSourceFile: /src/mhd2/src/mhd2/mhd_str.c
    functionUses: 5
    functionsReached:
    - charsequalcaseless
    linkageType: ''
    returnType: MHD_INTERNAL
    signature: "MHD_INTERNAL mhd_str_equal_caseless_n (const char *const str1,\n                          const
      char *const str2,\n                          size_t maxlen)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: charsequalcaseless
      Src: /src/mhd2/src/mhd2/mhd_str.c:1091,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 7
    argCount: 3
    argNames:
    - str1
    - str2
    - len
    argTypes:
    - char*
    - char*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1097
      start: 1079
    functionDepth: 2
    functionLinenumber: 1079
    functionLinenumberEnd: 1097
    functionName: mhd_str_equal_caseless_bin_n
    functionSourceFile: /src/mhd2/src/mhd2/mhd_str.c
    functionUses: 10
    functionsReached:
    - charsequalcaseless
    linkageType: ''
    returnType: MHD_INTERNAL
    signature: "MHD_INTERNAL mhd_str_equal_caseless_bin_n (const char *const str1,\n
      \                             const char *const str2,\n                              size_t
      len)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/mhd_str.c:1113,1
    - Dst: isasciiupper
      Src: /src/mhd2/src/mhd2/mhd_str.c:1113,1
    - Dst: charsequallowercase
      Src: /src/mhd2/src/mhd2/mhd_str.c:1114,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 3
    argNames:
    - mixstr
    - lowstr
    - len
    argTypes:
    - char*
    - char*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1118
      start: 1100
    functionDepth: 2
    functionLinenumber: 1100
    functionLinenumberEnd: 1118
    functionName: mhd_str_equal_lowercase_bin_n
    functionSourceFile: /src/mhd2/src/mhd2/mhd_str.c
    functionUses: 1
    functionsReached:
    - isasciiupper
    - mhd_assert
    - charsequallowercase
    linkageType: ''
    returnType: MHD_INTERNAL
    signature: "MHD_INTERNAL mhd_str_equal_lowercase_bin_n (const char *const mixstr,\n
      \                              const char *const lowstr,\n                               size_t
      len)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: toasciilower
      Src: /src/mhd2/src/mhd2/mhd_str.c:1131,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 3
    argCount: 3
    argNames:
    - size
    - inbuff
    - outbuff
    argTypes:
    - size_t
    - char*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1132
      start: 1123
    functionDepth: 2
    functionLinenumber: 1123
    functionLinenumberEnd: 1132
    functionName: mhd_str_to_lowercase_bin_n
    functionSourceFile: /src/mhd2/src/mhd2/mhd_str.c
    functionUses: 2
    functionsReached:
    - toasciilower
    linkageType: ''
    returnType: void
    signature: "void mhd_str_to_lowercase_bin_n (size_t size,\n                            const
      char *restrict inbuff,\n                            char *restrict outbuff)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: isasciiupper
      Src: /src/mhd2/src/mhd2/mhd_str.c:1143,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 2
    argNames:
    - len
    - str
    argTypes:
    - size_t
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1147
      start: 1136
    functionDepth: 1
    functionLinenumber: 1136
    functionLinenumberEnd: 1147
    functionName: mhd_str_is_lowercase_bin_n
    functionSourceFile: /src/mhd2/src/mhd2/mhd_str.c
    functionUses: 2
    functionsReached:
    - isasciiupper
    linkageType: ''
    returnType: bool
    signature: "bool mhd_str_is_lowercase_bin_n (size_t len,\n                            const
      char *restrict str)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: toasciiupper
      Src: /src/mhd2/src/mhd2/mhd_str.c:1161,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 3
    argCount: 3
    argNames:
    - size
    - inbuff
    - outbuff
    argTypes:
    - size_t
    - char*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1162
      start: 1153
    functionDepth: 2
    functionLinenumber: 1153
    functionLinenumberEnd: 1162
    functionName: mhd_str_to_uppercase_bin_n
    functionSourceFile: /src/mhd2/src/mhd2/mhd_str.c
    functionUses: 1
    functionsReached:
    - toasciiupper
    linkageType: ''
    returnType: void
    signature: "void mhd_str_to_uppercase_bin_n (size_t size,\n                            const
      char *restrict inbuff,\n                            char *restrict outbuff)"
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: charsequalcaseless
      Src: /src/mhd2/src/mhd2/mhd_str.c:1194,1
    CyclomaticComplexity: 17
    EdgeCount: 17
    ICount: 24
    argCount: 3
    argNames:
    - str
    - token
    - token_len
    argTypes:
    - char*
    - char*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1214
      start: 1168
    functionDepth: 2
    functionLinenumber: 1168
    functionLinenumberEnd: 1214
    functionName: mhd_str_has_token_caseless
    functionSourceFile: /src/mhd2/src/mhd2/mhd_str.c
    functionUses: 5
    functionsReached:
    - charsequalcaseless
    linkageType: ''
    returnType: MHD_INTERNAL
    signature: "MHD_INTERNAL mhd_str_has_token_caseless (const char *restrict str,\n
      \                           const char *const restrict token,\n                            size_t
      token_len)"
  - BBCount: 12
    BranchProfiles: []
    Callsites:
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/mhd_str.c:1232,1
    - Dst: memchr
      Src: /src/mhd2/src/mhd2/mhd_str.c:1232,1
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/mhd_str.c:1233,1
    - Dst: memchr
      Src: /src/mhd2/src/mhd2/mhd_str.c:1233,1
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/mhd_str.c:1234,1
    - Dst: memchr
      Src: /src/mhd2/src/mhd2/mhd_str.c:1234,1
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/mhd_str.c:1235,1
    - Dst: memchr
      Src: /src/mhd2/src/mhd2/mhd_str.c:1235,1
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/mhd_str.c:1236,1
    - Dst: charsequalcaseless
      Src: /src/mhd2/src/mhd2/mhd_str.c:1271,1
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/mhd_str.c:1311,1
    - Dst: memcpy
      Src: /src/mhd2/src/mhd2/mhd_str.c:1323,1
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/mhd_str.c:1336,1
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/mhd_str.c:1356,1
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/mhd_str.c:1366,1
    CyclomaticComplexity: 36
    EdgeCount: 36
    ICount: 75
    argCount: 6
    argNames:
    - str
    - str_len
    - token
    - token_len
    - buf
    - buf_size
    argTypes:
    - char*
    - size_t
    - char*
    - size_t
    - char*
    - ssize_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1369
      start: 1219
    functionDepth: 2
    functionLinenumber: 1219
    functionLinenumberEnd: 1369
    functionName: mhd_str_remove_token_caseless
    functionSourceFile: /src/mhd2/src/mhd2/mhd_str.c
    functionUses: 2
    functionsReached:
    - memchr
    - mhd_assert
    - charsequalcaseless
    - memcpy
    linkageType: ''
    returnType: bool
    signature: "bool mhd_str_remove_token_caseless (const char *restrict str,\n                               size_t
      str_len,\n                               const char *const restrict token,\n
      \                              const size_t token_len,\n                               char
      *restrict buf,\n                               ssize_t *restrict buf_size)"
  - BBCount: 14
    BranchProfiles: []
    Callsites:
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/mhd_str.c:1383,1
    - Dst: memchr
      Src: /src/mhd2/src/mhd2/mhd_str.c:1383,1
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/mhd_str.c:1420,1
    - Dst: mhd_str_equal_caseless_bin_n
      Src: /src/mhd2/src/mhd2/mhd_str.c:1424,1
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/mhd_str.c:1448,1
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/mhd_str.c:1449,1
    - Dst: mhd_str_equal_caseless_bin_n
      Src: /src/mhd2/src/mhd2/mhd_str.c:1451,1
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/mhd_str.c:1454,1
    - Dst: memmove
      Src: /src/mhd2/src/mhd2/mhd_str.c:1505,1
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/mhd_str.c:1511,1
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/mhd_str.c:1512,1
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/mhd_str.c:1513,1
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/mhd_str.c:1514,1
    CyclomaticComplexity: 41
    EdgeCount: 41
    ICount: 77
    argCount: 4
    argNames:
    - str
    - str_len
    - tkns
    - tkns_len
    argTypes:
    - char*
    - size_t*
    - char*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1520
      start: 1374
    functionDepth: 3
    functionLinenumber: 1374
    functionLinenumberEnd: 1520
    functionName: mhd_str_remove_tokens_caseless
    functionSourceFile: /src/mhd2/src/mhd2/mhd_str.c
    functionUses: 1
    functionsReached:
    - memchr
    - memmove
    - mhd_assert
    - mhd_str_equal_caseless_bin_n
    linkageType: ''
    returnType: bool
    signature: "bool mhd_str_remove_tokens_caseless (char *restrict str,\n                                size_t
      *restrict str_len,\n                                const char *const restrict
      tkns,\n                                const size_t tkns_len)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: isasciidigit
      Src: /src/mhd2/src/mhd2/mhd_str.c:1535,1
    - Dst: isasciidigit
      Src: /src/mhd2/src/mhd2/mhd_str.c:1552,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 15
    argCount: 2
    argNames:
    - str
    - out_val
    argTypes:
    - char*
    - uint_fast64_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1556
      start: 1528
    functionDepth: 1
    functionLinenumber: 1528
    functionLinenumberEnd: 1556
    functionName: mhd_str_to_uint64
    functionSourceFile: /src/mhd2/src/mhd2/mhd_str.c
    functionUses: 5
    functionsReached:
    - isasciidigit
    linkageType: ''
    returnType: size_t
    signature: "size_t mhd_str_to_uint64 (const char *restrict str,\n                   uint_fast64_t
      *restrict out_val)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: isasciidigit
      Src: /src/mhd2/src/mhd2/mhd_str.c:1569,1
    - Dst: isasciidigit
      Src: /src/mhd2/src/mhd2/mhd_str.c:1587,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 16
    argCount: 3
    argNames:
    - str
    - maxlen
    - out_val
    argTypes:
    - char*
    - size_t
    - uint_fast64_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1591
      start: 1561
    functionDepth: 1
    functionLinenumber: 1561
    functionLinenumberEnd: 1591
    functionName: mhd_str_to_uint64_n
    functionSourceFile: /src/mhd2/src/mhd2/mhd_str.c
    functionUses: 6
    functionsReached:
    - isasciidigit
    linkageType: ''
    returnType: size_t
    signature: "size_t mhd_str_to_uint64_n (const char *restrict str,\n                     size_t
      maxlen,\n                     uint_fast64_t *restrict out_val)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: xdigittovalue
      Src: /src/mhd2/src/mhd2/mhd_str.c:1605,1
    - Dst: xdigittovalue
      Src: /src/mhd2/src/mhd2/mhd_str.c:1618,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 16
    argCount: 2
    argNames:
    - str
    - out_val
    argTypes:
    - char*
    - uint_fast32_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1624
      start: 1596
    functionDepth: 1
    functionLinenumber: 1596
    functionLinenumberEnd: 1624
    functionName: mhd_strx_to_uint32
    functionSourceFile: /src/mhd2/src/mhd2/mhd_str.c
    functionUses: 5
    functionsReached:
    - xdigittovalue
    linkageType: ''
    returnType: size_t
    signature: "size_t mhd_strx_to_uint32 (const char *restrict str,\n                    uint_fast32_t
      *restrict out_val)"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: xdigittovalue
      Src: /src/mhd2/src/mhd2/mhd_str.c:1641,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 17
    argCount: 3
    argNames:
    - str
    - maxlen
    - out_val
    argTypes:
    - char*
    - size_t
    - uint_fast32_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1660
      start: 1629
    functionDepth: 1
    functionLinenumber: 1629
    functionLinenumberEnd: 1660
    functionName: mhd_strx_to_uint32_n
    functionSourceFile: /src/mhd2/src/mhd2/mhd_str.c
    functionUses: 5
    functionsReached:
    - xdigittovalue
    linkageType: ''
    returnType: size_t
    signature: "size_t mhd_strx_to_uint32_n (const char *restrict str,\n                      size_t
      maxlen,\n                      uint_fast32_t *restrict out_val)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: xdigittovalue
      Src: /src/mhd2/src/mhd2/mhd_str.c:1674,1
    - Dst: xdigittovalue
      Src: /src/mhd2/src/mhd2/mhd_str.c:1687,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 16
    argCount: 2
    argNames:
    - str
    - out_val
    argTypes:
    - char*
    - uint_fast64_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1693
      start: 1665
    functionDepth: 1
    functionLinenumber: 1665
    functionLinenumberEnd: 1693
    functionName: mhd_strx_to_uint64
    functionSourceFile: /src/mhd2/src/mhd2/mhd_str.c
    functionUses: 5
    functionsReached:
    - xdigittovalue
    linkageType: ''
    returnType: size_t
    signature: "size_t mhd_strx_to_uint64 (const char *restrict str,\n                    uint_fast64_t
      *restrict out_val)"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: xdigittovalue
      Src: /src/mhd2/src/mhd2/mhd_str.c:1710,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 17
    argCount: 3
    argNames:
    - str
    - maxlen
    - out_val
    argTypes:
    - char*
    - size_t
    - uint_fast64_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1728
      start: 1698
    functionDepth: 1
    functionLinenumber: 1698
    functionLinenumberEnd: 1728
    functionName: mhd_strx_to_uint64_n
    functionSourceFile: /src/mhd2/src/mhd2/mhd_str.c
    functionUses: 6
    functionsReached:
    - xdigittovalue
    linkageType: ''
    returnType: size_t
    signature: "size_t mhd_strx_to_uint64_n (const char *restrict str,\n                      size_t
      maxlen,\n                      uint_fast64_t *restrict out_val)"
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: xdigittovalue
      Src: /src/mhd2/src/mhd2/mhd_str.c:1755,1
    - Dst: todigitvalue
      Src: /src/mhd2/src/mhd2/mhd_str.c:1755,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 22
    argCount: 6
    argNames:
    - str
    - maxlen
    - out_val
    - val_size
    - max_val
    - base
    argTypes:
    - char*
    - size_t
    - void*
    - size_t
    - uint_fast64_t
    - unsigned int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1779
      start: 1734
    functionDepth: 2
    functionLinenumber: 1734
    functionLinenumberEnd: 1779
    functionName: mhd_str_to_uvalue_n
    functionSourceFile: /src/mhd2/src/mhd2/mhd_str.c
    functionUses: 0
    functionsReached:
    - todigitvalue
    - xdigittovalue
    linkageType: ''
    returnType: size_t
    signature: "size_t mhd_str_to_uvalue_n (const char *restrict str,\n                     size_t
      maxlen,\n                     void *restrict out_val,\n                     size_t
      val_size,\n                     uint_fast64_t max_val,\n                     unsigned
      int base)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: valuetoxdigit
      Src: /src/mhd2/src/mhd2/mhd_str.c:1807,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 17
    argCount: 3
    argNames:
    - val
    - buf
    - buf_size
    argTypes:
    - uint_fast32_t
    - char*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1816
      start: 1786
    functionDepth: 2
    functionLinenumber: 1786
    functionLinenumberEnd: 1816
    functionName: mhd_uint32_to_strx
    functionSourceFile: /src/mhd2/src/mhd2/mhd_str.c
    functionUses: 4
    functionsReached:
    - valuetoxdigit
    linkageType: ''
    returnType: size_t
    signature: "size_t mhd_uint32_to_strx (uint_fast32_t val,\n                    char
      *buf,\n                    size_t buf_size)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: UINT16_C
      Src: /src/mhd2/src/mhd2/mhd_str.c:1828,1
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/mhd_str.c:1834,1
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/mhd_str.c:1841,1
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/mhd_str.c:1854,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 22
    argCount: 3
    argNames:
    - val
    - buf
    - buf_size
    argTypes:
    - uint_least16_t
    - char*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1857
      start: 1821
    functionDepth: 1
    functionLinenumber: 1821
    functionLinenumberEnd: 1857
    functionName: mhd_uint16_to_str
    functionSourceFile: /src/mhd2/src/mhd2/mhd_str.c
    functionUses: 4
    functionsReached:
    - UINT16_C
    - mhd_assert
    linkageType: ''
    returnType: size_t
    signature: "size_t mhd_uint16_to_str (uint_least16_t val,\n                   char
      *buf,\n                   size_t buf_size)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/mhd_str.c:1877,1
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/mhd_str.c:1884,1
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/mhd_str.c:1897,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 22
    argCount: 3
    argNames:
    - val
    - buf
    - buf_size
    argTypes:
    - uint_fast64_t
    - char*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1900
      start: 1864
    functionDepth: 1
    functionLinenumber: 1864
    functionLinenumberEnd: 1900
    functionName: mhd_uint64_to_str
    functionSourceFile: /src/mhd2/src/mhd2/mhd_str.c
    functionUses: 3
    functionsReached:
    - mhd_assert
    linkageType: ''
    returnType: size_t
    signature: "size_t mhd_uint64_to_str (uint_fast64_t val,\n                   char
      *buf,\n                   size_t buf_size)"
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/mhd_str.c:1912,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 28
    argCount: 4
    argNames:
    - val
    - min_digits
    - buf
    - buf_size
    argTypes:
    - uint8_t
    - uint8_t
    - char*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1949
      start: 1904
    functionDepth: 1
    functionLinenumber: 1904
    functionLinenumberEnd: 1949
    functionName: mhd_uint8_to_str_pad
    functionSourceFile: /src/mhd2/src/mhd2/mhd_str.c
    functionUses: 3
    functionsReached:
    - mhd_assert
    linkageType: ''
    returnType: size_t
    signature: "size_t mhd_uint8_to_str_pad (uint8_t val,\n                      uint8_t
      min_digits,\n                      char *buf,\n                      size_t
      buf_size)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: uint8totwoxdigits
      Src: /src/mhd2/src/mhd2/mhd_str.c:1964,1
    - Dst: valuetoxdigit
      Src: /src/mhd2/src/mhd2/mhd_str.c:1968,1
    - Dst: valuetoxdigit
      Src: /src/mhd2/src/mhd2/mhd_str.c:1969,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 3
    argNames:
    - bin
    - size
    - hex
    argTypes:
    - void*
    - size_t
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1973
      start: 1953
    functionDepth: 2
    functionLinenumber: 1953
    functionLinenumberEnd: 1973
    functionName: mhd_bin_to_hex
    functionSourceFile: /src/mhd2/src/mhd2/mhd_str.c
    functionUses: 1
    functionsReached:
    - uint8totwoxdigits
    - valuetoxdigit
    linkageType: ''
    returnType: size_t
    signature: "size_t mhd_bin_to_hex (const void *restrict bin,\n                size_t
      size,\n                char *restrict hex)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: mhd_bin_to_hex
      Src: /src/mhd2/src/mhd2/mhd_str.c:1984,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 3
    argNames:
    - bin
    - size
    - hex
    argTypes:
    - void*
    - size_t
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1988
      start: 1977
    functionDepth: 3
    functionLinenumber: 1977
    functionLinenumberEnd: 1988
    functionName: mhd_bin_to_hex_z
    functionSourceFile: /src/mhd2/src/mhd2/mhd_str.c
    functionUses: 4
    functionsReached:
    - mhd_bin_to_hex
    linkageType: ''
    returnType: size_t
    signature: "size_t mhd_bin_to_hex_z (const void *restrict bin,\n                  size_t
      size,\n                  char *restrict hex)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: xdigittovalue
      Src: /src/mhd2/src/mhd2/mhd_str.c:2006,1
    - Dst: xdigittovalue
      Src: /src/mhd2/src/mhd2/mhd_str.c:2015,1
    - Dst: xdigittovalue
      Src: /src/mhd2/src/mhd2/mhd_str.c:2016,1
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/mhd_str.c:2023,1
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/mhd_str.c:2024,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 16
    argCount: 3
    argNames:
    - hex
    - len
    - bin
    argTypes:
    - char*
    - size_t
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2026
      start: 1992
    functionDepth: 1
    functionLinenumber: 1992
    functionLinenumberEnd: 2026
    functionName: mhd_hex_to_bin
    functionSourceFile: /src/mhd2/src/mhd2/mhd_str.c
    functionUses: 3
    functionsReached:
    - mhd_assert
    - xdigittovalue
    linkageType: ''
    returnType: size_t
    signature: "size_t mhd_hex_to_bin (const char *restrict hex,\n                size_t
      len,\n                void *restrict bin)"
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: mhd_str_pct_decode_lenient_n
      Src: /src/mhd2/src/mhd2/mhd_str.c:2040,1
    - Dst: xdigittovalue
      Src: /src/mhd2/src/mhd2/mhd_str.c:2064,1
    - Dst: xdigittovalue
      Src: /src/mhd2/src/mhd2/mhd_str.c:2065,1
    - Dst: xdigittovalue
      Src: /src/mhd2/src/mhd2/mhd_str.c:2096,1
    - Dst: xdigittovalue
      Src: /src/mhd2/src/mhd2/mhd_str.c:2097,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 41
    argCount: 4
    argNames:
    - pct_encoded
    - pct_encoded_len
    - decoded
    - buf_size
    argTypes:
    - char*
    - size_t
    - char*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2114
      start: 2030
    functionDepth: 1
    functionLinenumber: 2030
    functionLinenumberEnd: 2114
    functionName: mhd_str_pct_decode_strict_n
    functionSourceFile: /src/mhd2/src/mhd2/mhd_str.c
    functionUses: 3
    functionsReached:
    - mhd_str_pct_decode_lenient_n
    - xdigittovalue
    linkageType: ''
    returnType: size_t
    signature: "size_t mhd_str_pct_decode_strict_n (const char *pct_encoded,\n                             size_t
      pct_encoded_len,\n                             char *decoded,\n                             size_t
      buf_size)"
  - BBCount: 14
    BranchProfiles: []
    Callsites:
    - Dst: xdigittovalue
      Src: /src/mhd2/src/mhd2/mhd_str.c:2150,1
    - Dst: xdigittovalue
      Src: /src/mhd2/src/mhd2/mhd_str.c:2151,1
    - Dst: xdigittovalue
      Src: /src/mhd2/src/mhd2/mhd_str.c:2195,1
    - Dst: xdigittovalue
      Src: /src/mhd2/src/mhd2/mhd_str.c:2196,1
    CyclomaticComplexity: 17
    EdgeCount: 17
    ICount: 55
    argCount: 5
    argNames:
    - pct_encoded
    - pct_encoded_len
    - decoded
    - buf_size
    - broken_encoding
    argTypes:
    - char*
    - size_t
    - char*
    - size_t
    - bool*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2221
      start: 2119
    functionDepth: 1
    functionLinenumber: 2119
    functionLinenumberEnd: 2221
    functionName: mhd_str_pct_decode_lenient_n
    functionSourceFile: /src/mhd2/src/mhd2/mhd_str.c
    functionUses: 9
    functionsReached:
    - xdigittovalue
    linkageType: ''
    returnType: size_t
    signature: "size_t mhd_str_pct_decode_lenient_n (const char *pct_encoded,\n                              size_t
      pct_encoded_len,\n                              char *decoded,\n                              size_t
      buf_size,\n                              bool *restrict broken_encoding)"
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: mhd_str_pct_decode_in_place_lenient
      Src: /src/mhd2/src/mhd2/mhd_str.c:2232,1
    - Dst: xdigittovalue
      Src: /src/mhd2/src/mhd2/mhd_str.c:2260,1
    - Dst: xdigittovalue
      Src: /src/mhd2/src/mhd2/mhd_str.c:2261,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 26
    argCount: 1
    argNames:
    - str
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2279
      start: 2225
    functionDepth: 1
    functionLinenumber: 2225
    functionLinenumberEnd: 2279
    functionName: mhd_str_pct_decode_in_place_strict
    functionSourceFile: /src/mhd2/src/mhd2/mhd_str.c
    functionUses: 3
    functionsReached:
    - mhd_str_pct_decode_in_place_lenient
    - xdigittovalue
    linkageType: ''
    returnType: size_t
    signature: size_t mhd_str_pct_decode_in_place_strict (char *str)
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: strlen
      Src: /src/mhd2/src/mhd2/mhd_str.c:2291,1
    - Dst: mhd_str_pct_decode_lenient_n
      Src: /src/mhd2/src/mhd2/mhd_str.c:2292,1
    - Dst: xdigittovalue
      Src: /src/mhd2/src/mhd2/mhd_str.c:2331,1
    - Dst: xdigittovalue
      Src: /src/mhd2/src/mhd2/mhd_str.c:2332,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 44
    argCount: 2
    argNames:
    - str
    - broken_encoding
    argTypes:
    - char*
    - bool*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2357
      start: 2283
    functionDepth: 2
    functionLinenumber: 2283
    functionLinenumberEnd: 2357
    functionName: mhd_str_pct_decode_in_place_lenient
    functionSourceFile: /src/mhd2/src/mhd2/mhd_str.c
    functionUses: 4
    functionsReached:
    - mhd_str_pct_decode_lenient_n
    - strlen
    - xdigittovalue
    linkageType: ''
    returnType: size_t
    signature: "size_t mhd_str_pct_decode_in_place_lenient (char *restrict str,\n
      \                                    bool *restrict broken_encoding)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/mhd_str.c:2367,1
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/mhd_str.c:2368,1
    - Dst: mhd_ASSUME
      Src: /src/mhd2/src/mhd2/mhd_str.c:2369,1
    - Dst: xdigittovalue
      Src: /src/mhd2/src/mhd2/mhd_str.c:2377,1
    - Dst: xdigittovalue
      Src: /src/mhd2/src/mhd2/mhd_str.c:2378,1
    - Dst: mhd_ASSUME
      Src: /src/mhd2/src/mhd2/mhd_str.c:2383,1
    - Dst: mhd_ASSUME
      Src: /src/mhd2/src/mhd2/mhd_str.c:2384,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 17
    argCount: 4
    argNames:
    - str_len
    - str
    - chr_pos
    - chr
    argTypes:
    - size_t
    - char*
    - size_t
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2395
      start: 2361
    functionDepth: 1
    functionLinenumber: 2361
    functionLinenumberEnd: 2395
    functionName: pct_decode_no_slash
    functionSourceFile: /src/mhd2/src/mhd2/mhd_str.c
    functionUses: 0
    functionsReached:
    - mhd_assert
    - xdigittovalue
    - mhd_ASSUME
    linkageType: ''
    returnType: bool
    signature: "bool pct_decode_no_slash (const size_t str_len,\n                     const
      char *restrict str,\n                     const size_t chr_pos,\n                     char
      *restrict chr)"
  - BBCount: 25
    BranchProfiles: []
    Callsites:
    - Dst: mhd_ASSUME
      Src: /src/mhd2/src/mhd2/mhd_str.c:2412,1
    - Dst: pct_decode_no_slash
      Src: /src/mhd2/src/mhd2/mhd_str.c:2417,1
    - Dst: mhd_ASSUME
      Src: /src/mhd2/src/mhd2/mhd_str.c:2431,1
    - Dst: pct_decode_no_slash
      Src: /src/mhd2/src/mhd2/mhd_str.c:2440,1
    - Dst: mhd_ASSUME
      Src: /src/mhd2/src/mhd2/mhd_str.c:2454,1
    - Dst: mhd_ASSUME
      Src: /src/mhd2/src/mhd2/mhd_str.c:2476,1
    - Dst: mhd_ASSUME
      Src: /src/mhd2/src/mhd2/mhd_str.c:2481,1
    - Dst: pct_decode_no_slash
      Src: /src/mhd2/src/mhd2/mhd_str.c:2484,1
    - Dst: mhd_ASSUME
      Src: /src/mhd2/src/mhd2/mhd_str.c:2489,1
    - Dst: mhd_ASSUME
      Src: /src/mhd2/src/mhd2/mhd_str.c:2499,1
    - Dst: mhd_ASSUME
      Src: /src/mhd2/src/mhd2/mhd_str.c:2500,1
    - Dst: mhd_ASSUME
      Src: /src/mhd2/src/mhd2/mhd_str.c:2506,1
    - Dst: pct_decode_no_slash
      Src: /src/mhd2/src/mhd2/mhd_str.c:2511,1
    - Dst: mhd_ASSUME
      Src: /src/mhd2/src/mhd2/mhd_str.c:2525,1
    - Dst: pct_decode_no_slash
      Src: /src/mhd2/src/mhd2/mhd_str.c:2535,1
    - Dst: mhd_ASSUME
      Src: /src/mhd2/src/mhd2/mhd_str.c:2552,1
    - Dst: mhd_ASSUME
      Src: /src/mhd2/src/mhd2/mhd_str.c:2557,1
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/mhd_str.c:2582,1
    - Dst: mhd_ASSUME
      Src: /src/mhd2/src/mhd2/mhd_str.c:2588,1
    - Dst: pct_decode_no_slash
      Src: /src/mhd2/src/mhd2/mhd_str.c:2591,1
    - Dst: mhd_ASSUME
      Src: /src/mhd2/src/mhd2/mhd_str.c:2596,1
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/mhd_str.c:2599,1
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/mhd_str.c:2601,1
    CyclomaticComplexity: 51
    EdgeCount: 51
    ICount: 126
    argCount: 2
    argNames:
    - str_len
    - str
    argTypes:
    - size_t
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2607
      start: 2399
    functionDepth: 2
    functionLinenumber: 2399
    functionLinenumberEnd: 2607
    functionName: mhd_str_dec_norm_uri_path
    functionSourceFile: /src/mhd2/src/mhd2/mhd_str.c
    functionUses: 0
    functionsReached:
    - pct_decode_no_slash
    - mhd_assert
    - mhd_ASSUME
    linkageType: ''
    returnType: size_t
    signature: "size_t mhd_str_dec_norm_uri_path (size_t str_len,\n                           char
      *restrict str)"
  - BBCount: 6
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 16
    argCount: 4
    argNames:
    - quoted
    - quoted_len
    - unquoted
    - unquoted_len
    argTypes:
    - char*
    - size_t
    - char*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2640
      start: 2612
    functionDepth: 0
    functionLinenumber: 2612
    functionLinenumberEnd: 2640
    functionName: mhd_str_equal_quoted_bin_n
    functionSourceFile: /src/mhd2/src/mhd2/mhd_str.c
    functionUses: 5
    functionsReached: []
    linkageType: ''
    returnType: MHD_INTERNAL
    signature: "MHD_INTERNAL mhd_str_equal_quoted_bin_n (const char *quoted,\n                            size_t
      quoted_len,\n                            const char *unquoted,\n                            size_t
      unquoted_len)"
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: charsequalcaseless
      Src: /src/mhd2/src/mhd2/mhd_str.c:2664,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 16
    argCount: 4
    argNames:
    - quoted
    - quoted_len
    - unquoted
    - unquoted_len
    argTypes:
    - char*
    - size_t
    - char*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2671
      start: 2643
    functionDepth: 2
    functionLinenumber: 2643
    functionLinenumberEnd: 2671
    functionName: mhd_str_equal_caseless_quoted_bin_n
    functionSourceFile: /src/mhd2/src/mhd2/mhd_str.c
    functionUses: 5
    functionsReached:
    - charsequalcaseless
    linkageType: ''
    returnType: MHD_INTERNAL
    signature: "MHD_INTERNAL mhd_str_equal_caseless_quoted_bin_n (const char *quoted,\n
      \                                    size_t quoted_len,\n                                     const
      char *unquoted,\n                                     size_t unquoted_len)"
  - BBCount: 3
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 12
    argCount: 3
    argNames:
    - quoted
    - quoted_len
    - result
    argTypes:
    - char*
    - size_t
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2701
      start: 2679
    functionDepth: 0
    functionLinenumber: 2679
    functionLinenumberEnd: 2701
    functionName: mhd_str_unquote
    functionSourceFile: /src/mhd2/src/mhd2/mhd_str.c
    functionUses: 5
    functionsReached: []
    linkageType: ''
    returnType: size_t
    signature: "size_t mhd_str_unquote (const char *quoted,\n                 size_t
      quoted_len,\n                 char *result)"
  - BBCount: 9
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 20
    argCount: 1
    argNames:
    - c
    argTypes:
    - uint8_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2822
      start: 2796
    functionDepth: 0
    functionLinenumber: 2796
    functionLinenumberEnd: 2822
    functionName: base64_char_to_value_
    functionSourceFile: /src/mhd2/src/mhd2/mhd_str.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: mhd_base64_map_type
    signature: mhd_base64_map_type base64_char_to_value_ (uint8_t c)
  - BBCount: 18
    BranchProfiles: []
    Callsites:
    - Dst: base64_char_to_value_
      Src: /src/mhd2/src/mhd2/mhd_str.c:2939,1
    - Dst: base64_char_to_value_
      Src: /src/mhd2/src/mhd2/mhd_str.c:2940,1
    - Dst: base64_char_to_value_
      Src: /src/mhd2/src/mhd2/mhd_str.c:2941,1
    - Dst: base64_char_to_value_
      Src: /src/mhd2/src/mhd2/mhd_str.c:2942,1
    - Dst: base64_char_to_value_
      Src: /src/mhd2/src/mhd2/mhd_str.c:2960,1
    - Dst: base64_char_to_value_
      Src: /src/mhd2/src/mhd2/mhd_str.c:2961,1
    - Dst: base64_char_to_value_
      Src: /src/mhd2/src/mhd2/mhd_str.c:2962,1
    - Dst: base64_char_to_value_
      Src: /src/mhd2/src/mhd2/mhd_str.c:2963,1
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/mhd_str.c:2966,1
    CyclomaticComplexity: 23
    EdgeCount: 23
    ICount: 49
    argCount: 4
    argNames:
    - base64
    - base64_len
    - bin
    - bin_size
    argTypes:
    - char*
    - size_t
    - void*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2998
      start: 2828
    functionDepth: 1
    functionLinenumber: 2828
    functionLinenumberEnd: 2998
    functionName: mhd_base64_to_bin_n
    functionSourceFile: /src/mhd2/src/mhd2/mhd_str.c
    functionUses: 4
    functionsReached:
    - base64_char_to_value_
    - mhd_assert
    linkageType: ''
    returnType: mhd_DATA_TRUNCATION_RUNTIME_CHECK_DISABLE
    signature: "mhd_DATA_TRUNCATION_RUNTIME_CHECK_DISABLE mhd_base64_to_bin_n (const
      char *base64,\n                     size_t base64_len,\n                     void
      *bin,\n                     size_t bin_size)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - c
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2918
      start: 2917
    functionDepth: 0
    functionLinenumber: 2917
    functionLinenumberEnd: 2918
    functionName: base64_char_to_value_
    functionSourceFile: /src/mhd2/src/mhd2/mhd_str.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: base64_char_to_value_(c)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/mhd_str.c:3015,1
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/mhd_str.c:3016,1
    - Dst: memchr
      Src: /src/mhd2/src/mhd2/mhd_str.c:3016,1
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/mhd_str.c:3017,1
    - Dst: memchr
      Src: /src/mhd2/src/mhd2/mhd_str.c:3017,1
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/mhd_str.c:3018,1
    - Dst: memchr
      Src: /src/mhd2/src/mhd2/mhd_str.c:3018,1
    - Dst: mhd_str_equal_caseless_bin_n
      Src: /src/mhd2/src/mhd2/mhd_str.c:3023,1
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/mhd_str.c:3037,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 18
    argCount: 2
    argNames:
    - str
    - token
    argTypes:
    - struct MHD_String*
    - struct MHD_String*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3039
      start: 3009
    functionDepth: 3
    functionLinenumber: 3009
    functionLinenumberEnd: 3039
    functionName: mhd_str_starts_with_token_opt_param
    functionSourceFile: /src/mhd2/src/mhd2/mhd_str.c
    functionUses: 2
    functionsReached:
    - memchr
    - mhd_assert
    - mhd_str_equal_caseless_bin_n
    linkageType: ''
    returnType: MHD_INTERNAL
    signature: "MHD_INTERNAL mhd_str_starts_with_token_opt_param (const struct MHD_String
      *restrict str,\n                                     const struct MHD_String
      *restrict token)"
  - BBCount: 24
    BranchProfiles: []
    Callsites:
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/mhd_str.c:3057,1
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/mhd_str.c:3058,1
    - Dst: memchr
      Src: /src/mhd2/src/mhd2/mhd_str.c:3058,1
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/mhd_str.c:3059,1
    - Dst: memchr
      Src: /src/mhd2/src/mhd2/mhd_str.c:3059,1
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/mhd_str.c:3060,1
    - Dst: memchr
      Src: /src/mhd2/src/mhd2/mhd_str.c:3060,1
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/mhd_str.c:3061,1
    - Dst: memchr
      Src: /src/mhd2/src/mhd2/mhd_str.c:3061,1
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/mhd_str.c:3062,1
    - Dst: memchr
      Src: /src/mhd2/src/mhd2/mhd_str.c:3062,1
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/mhd_str.c:3063,1
    - Dst: memchr
      Src: /src/mhd2/src/mhd2/mhd_str.c:3063,1
    - Dst: mhd_str_equal_caseless_bin_n
      Src: /src/mhd2/src/mhd2/mhd_str.c:3071,1
    - Dst: charsequalcaseless
      Src: /src/mhd2/src/mhd2/mhd_str.c:3136,1
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/mhd_str.c:3140,1
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/mhd_str.c:3162,1
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/mhd_str.c:3163,1
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/mhd_str.c:3226,1
    CyclomaticComplexity: 42
    EdgeCount: 42
    ICount: 100
    argCount: 5
    argNames:
    - str
    - token
    - par
    - par_value
    - par_value_needs_unquote
    argTypes:
    - struct MHD_String*
    - struct MHD_String*
    - struct MHD_String*
    - struct mhd_BufferConst*
    - bool*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3228
      start: 3044
    functionDepth: 3
    functionLinenumber: 3044
    functionLinenumberEnd: 3228
    functionName: mhd_str_starts_with_token_req_param
    functionSourceFile: /src/mhd2/src/mhd2/mhd_str.c
    functionUses: 3
    functionsReached:
    - memchr
    - mhd_assert
    - mhd_str_equal_caseless_bin_n
    - charsequalcaseless
    linkageType: ''
    returnType: enum mhd_StringStartsWithTokenResult
    signature: "enum mhd_StringStartsWithTokenResult mhd_str_starts_with_token_req_param
      (\n  const struct MHD_String *restrict str,\n  const struct MHD_String *restrict
      token,\n  const struct MHD_String *restrict par,\n  struct mhd_BufferConst *restrict
      par_value,\n  bool *restrict par_value_needs_unquote)"
  - BBCount: 19
    BranchProfiles: []
    Callsites:
    - Dst: mhd_WM_INT_HAS_EXT_EVENTS
      Src: /src/mhd2/src/mhd2/daemon_event_update.c:76,1
    - Dst: MHD_FD_STATE_IS_SET_RECV
      Src: /src/mhd2/src/mhd2/daemon_event_update.c:85,1
    - Dst: MHD_FD_STATE_IS_SET_SEND
      Src: /src/mhd2/src/mhd2/daemon_event_update.c:86,1
    - Dst: MHD_FD_STATE_IS_SET_EXCEPT
      Src: /src/mhd2/src/mhd2/daemon_event_update.c:87,1
    - Dst: fprintf
      Src: /src/mhd2/src/mhd2/daemon_event_update.c:92,1
    - Dst: fprintf
      Src: /src/mhd2/src/mhd2/daemon_event_update.c:97,1
    - Dst: mhd_itc_r_fd
      Src: /src/mhd2/src/mhd2/daemon_event_update.c:99,1
    - Dst: fprintf
      Src: /src/mhd2/src/mhd2/daemon_event_update.c:103,1
    - Dst: fprintf
      Src: /src/mhd2/src/mhd2/daemon_event_update.c:109,1
    - Dst: MHD_FD_STATE_IS_SET_EXCEPT
      Src: /src/mhd2/src/mhd2/daemon_event_update.c:129,1
    - Dst: MHD_FD_STATE_IS_SET_RECV
      Src: /src/mhd2/src/mhd2/daemon_event_update.c:134,1
    - Dst: MHD_FD_STATE_IS_SET_SEND
      Src: /src/mhd2/src/mhd2/daemon_event_update.c:135,1
    - Dst: MHD_FD_STATE_IS_SET_EXCEPT
      Src: /src/mhd2/src/mhd2/daemon_event_update.c:144,1
    - Dst: MHD_FD_STATE_IS_SET_RECV
      Src: /src/mhd2/src/mhd2/daemon_event_update.c:149,1
    - Dst: MHD_FD_STATE_IS_SET_SEND
      Src: /src/mhd2/src/mhd2/daemon_event_update.c:150,1
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/daemon_event_update.c:161,1
    - Dst: mhd_LOG_MSG
      Src: /src/mhd2/src/mhd2/daemon_event_update.c:180,1
    - Dst: mhd_LOG_MSG
      Src: /src/mhd2/src/mhd2/daemon_event_update.c:187,1
    CyclomaticComplexity: 20
    EdgeCount: 20
    ICount: 65
    argCount: 3
    argNames:
    - MHD_RESTRICT
    - MHD_RESTRICT
    - fd_current_state
    argTypes:
    - struct MHD_Daemon*
    - struct MHD_EventUpdateContext*
    - enum MHD_FdState
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 192
      start: 65
    functionDepth: 1
    functionLinenumber: 65
    functionLinenumberEnd: 192
    functionName: MHD_daemon_event_update
    functionSourceFile: /src/mhd2/src/mhd2/daemon_event_update.c
    functionUses: 2
    functionsReached:
    - mhd_WM_INT_HAS_EXT_EVENTS
    - fprintf
    - mhd_LOG_MSG
    - mhd_itc_r_fd
    - MHD_FD_STATE_IS_SET_SEND
    - MHD_FD_STATE_IS_SET_EXCEPT
    - mhd_assert
    - MHD_FD_STATE_IS_SET_RECV
    linkageType: ''
    returnType: void
    signature: "void MHD_daemon_event_update (\n  struct MHD_Daemon *MHD_RESTRICT
      daemon,\n  struct MHD_EventUpdateContext *MHD_RESTRICT ecb_cntx,\n  enum MHD_FdState
      fd_current_state)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - name_suffix
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 138
      start: 136
    functionDepth: 0
    functionLinenumber: 136
    functionLinenumberEnd: 138
    functionName: mhd_SHA256_FUNC
    functionSourceFile: /src/mhd2/src/mhd2/mhd_sha256.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: mhd_SHA256_FUNC(name_suffix)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - name_suffix
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 144
      start: 142
    functionDepth: 0
    functionLinenumber: 142
    functionLinenumberEnd: 144
    functionName: mhd_SHA256_MACRO
    functionSourceFile: /src/mhd2/src/mhd2/mhd_sha256.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: mhd_SHA256_MACRO(name_suffix)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - ctx
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 160
      start: 159
    functionDepth: 0
    functionLinenumber: 159
    functionLinenumberEnd: 160
    functionName: mhd_SHA256_has_err
    functionSourceFile: /src/mhd2/src/mhd2/mhd_sha256.h
    functionUses: 6
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: mhd_SHA256_has_err(ctx)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - ctx
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 164
      start: 163
    functionDepth: 0
    functionLinenumber: 163
    functionLinenumberEnd: 164
    functionName: mhd_SHA256_get_err
    functionSourceFile: /src/mhd2/src/mhd2/mhd_sha256.h
    functionUses: 6
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: mhd_SHA256_get_err(ctx)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - ctx
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 166
      start: 165
    functionDepth: 0
    functionLinenumber: 165
    functionLinenumberEnd: 166
    functionName: mhd_SHA256_has_err
    functionSourceFile: /src/mhd2/src/mhd2/mhd_sha256.h
    functionUses: 6
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: mhd_SHA256_has_err(ctx)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - ctx
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 170
      start: 169
    functionDepth: 0
    functionLinenumber: 169
    functionLinenumberEnd: 170
    functionName: mhd_SHA256_get_err
    functionSourceFile: /src/mhd2/src/mhd2/mhd_sha256.h
    functionUses: 6
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: mhd_SHA256_get_err(ctx)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - ctx
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 187
      start: 186
    functionDepth: 0
    functionLinenumber: 186
    functionLinenumberEnd: 187
    functionName: mhd_SHA256_init
    functionSourceFile: /src/mhd2/src/mhd2/mhd_sha256.h
    functionUses: 6
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: mhd_SHA256_init(ctx)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - ctx
    - ','
    - size
    - ','
    - data
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 200
      start: 198
    functionDepth: 0
    functionLinenumber: 198
    functionLinenumberEnd: 200
    functionName: mhd_SHA256_update
    functionSourceFile: /src/mhd2/src/mhd2/mhd_sha256.h
    functionUses: 6
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: mhd_SHA256_update(ctx, size, data)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - ctx
    - ','
    - digest
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 212
      start: 210
    functionDepth: 0
    functionLinenumber: 210
    functionLinenumberEnd: 212
    functionName: mhd_SHA256_finish
    functionSourceFile: /src/mhd2/src/mhd2/mhd_sha256.h
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: mhd_SHA256_finish(ctx, digest)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - ctx
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 226
      start: 225
    functionDepth: 0
    functionLinenumber: 225
    functionLinenumberEnd: 226
    functionName: mhd_SHA256_reset
    functionSourceFile: /src/mhd2/src/mhd2/mhd_sha256.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: mhd_SHA256_reset(ctx)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - ctx
    - ','
    - digest
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 240
      start: 238
    functionDepth: 0
    functionLinenumber: 238
    functionLinenumberEnd: 240
    functionName: mhd_SHA256_finish_reset
    functionSourceFile: /src/mhd2/src/mhd2/mhd_sha256.h
    functionUses: 6
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: mhd_SHA256_finish_reset(ctx, digest)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - ctx
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 253
      start: 252
    functionDepth: 0
    functionLinenumber: 252
    functionLinenumberEnd: 253
    functionName: mhd_SHA256_deinit
    functionSourceFile: /src/mhd2/src/mhd2/mhd_sha256.h
    functionUses: 6
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: mhd_SHA256_deinit(ctx)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - ctx
    - ','
    - digest
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 267
      start: 265
    functionDepth: 0
    functionLinenumber: 265
    functionLinenumberEnd: 267
    functionName: mhd_SHA256_finish_deinit
    functionSourceFile: /src/mhd2/src/mhd2/mhd_sha256.h
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: mhd_SHA256_finish_deinit(ctx, digest)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 2
    argNames:
    - (
    - )
    argTypes:
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 78
      start: 77
    functionDepth: 0
    functionLinenumber: 77
    functionLinenumberEnd: 78
    functionName: mhd_mclock_deinit
    functionSourceFile: /src/mhd2/src/mhd2/mhd_mono_clock.h
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: mhd_mclock_deinit()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 2
    argNames:
    - (
    - )
    argTypes:
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 79
      start: 78
    functionDepth: 0
    functionLinenumber: 78
    functionLinenumberEnd: 79
    functionName: mhd_mclock_re_init
    functionSourceFile: /src/mhd2/src/mhd2/mhd_mono_clock.h
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: mhd_mclock_re_init()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 2
    argNames:
    - (
    - )
    argTypes:
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 86
      start: 85
    functionDepth: 0
    functionLinenumber: 85
    functionLinenumberEnd: 86
    functionName: mhd_tls_gnu_global_init_once
    functionSourceFile: /src/mhd2/src/mhd2/tls_gnu_funcs.h
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: mhd_tls_gnu_global_init_once()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 2
    argNames:
    - (
    - )
    argTypes:
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 89
      start: 88
    functionDepth: 0
    functionLinenumber: 88
    functionLinenumberEnd: 89
    functionName: mhd_tls_gnu_global_re_init
    functionSourceFile: /src/mhd2/src/mhd2/tls_gnu_funcs.h
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: mhd_tls_gnu_global_re_init()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - s
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 118
      start: 117
    functionDepth: 0
    functionLinenumber: 117
    functionLinenumberEnd: 118
    functionName: mhd_tls_gnu_is_edge_trigg_supported
    functionSourceFile: /src/mhd2/src/mhd2/tls_gnu_funcs.h
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: mhd_tls_gnu_is_edge_trigg_supported(s)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 9
    argNames:
    - (
    - d
    - ','
    - et
    - ','
    - s
    - ','
    - p_d_tls
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 148
      start: 146
    functionDepth: 0
    functionLinenumber: 146
    functionLinenumberEnd: 148
    functionName: mhd_tls_gnu_daemon_init
    functionSourceFile: /src/mhd2/src/mhd2/tls_gnu_funcs.h
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: mhd_tls_gnu_daemon_init(d, et, s, p_d_tls)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - d_tls
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 165
      start: 164
    functionDepth: 0
    functionLinenumber: 164
    functionLinenumberEnd: 165
    functionName: mhd_tls_gnu_thread_cleanup
    functionSourceFile: /src/mhd2/src/mhd2/tls_gnu_funcs.h
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: mhd_tls_gnu_thread_cleanup(d_tls)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - d_tls
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 182
      start: 180
    functionDepth: 0
    functionLinenumber: 180
    functionLinenumberEnd: 182
    functionName: mhd_tls_gnu_conn_get_tls_size
    functionSourceFile: /src/mhd2/src/mhd2/tls_gnu_funcs.h
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: mhd_tls_gnu_conn_get_tls_size(d_tls)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 11
    argNames:
    - (
    - c_tls
    - ','
    - buf_size
    - ','
    - buf
    - ','
    - push_data
    - ','
    - sent
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 295
      start: 293
    functionDepth: 0
    functionLinenumber: 293
    functionLinenumberEnd: 295
    functionName: mhd_tls_gnu_conn_send
    functionSourceFile: /src/mhd2/src/mhd2/tls_gnu_funcs.h
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: mhd_tls_gnu_conn_send(c_tls, buf_size, buf, push_data, sent)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - c_tls
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 313
      start: 312
    functionDepth: 0
    functionLinenumber: 312
    functionLinenumberEnd: 313
    functionName: mhd_tls_gnu_conn_has_cstm_tr
    functionSourceFile: /src/mhd2/src/mhd2/tls_gnu_funcs.h
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: mhd_tls_gnu_conn_has_cstm_tr(c_tls)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - pcnt
    - ','
    - initial_value
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 154
      start: 152
    functionDepth: 0
    functionLinenumber: 152
    functionLinenumberEnd: 154
    functionName: mhd_atomic_counter_init
    functionSourceFile: /src/mhd2/src/mhd2/mhd_atomic_counter.h
    functionUses: 3
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: mhd_atomic_counter_init(pcnt, initial_value)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - pcnt
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 161
      start: 160
    functionDepth: 0
    functionLinenumber: 160
    functionLinenumberEnd: 161
    functionName: mhd_atomic_counter_deinit
    functionSourceFile: /src/mhd2/src/mhd2/mhd_atomic_counter.h
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: mhd_atomic_counter_deinit(pcnt)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - pcnt
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 171
      start: 168
    functionDepth: 0
    functionLinenumber: 168
    functionLinenumberEnd: 171
    functionName: mhd_atomic_counter_get_inc_wrap
    functionSourceFile: /src/mhd2/src/mhd2/mhd_atomic_counter.h
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: mhd_atomic_counter_get_inc_wrap(pcnt)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - pcnt
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 182
      start: 178
    functionDepth: 0
    functionLinenumber: 178
    functionLinenumberEnd: 182
    functionName: mhd_atomic_counter_inc
    functionSourceFile: /src/mhd2/src/mhd2/mhd_atomic_counter.h
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: mhd_atomic_counter_inc(pcnt)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - pcnt
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 191
      start: 189
    functionDepth: 0
    functionLinenumber: 189
    functionLinenumberEnd: 191
    functionName: mhd_atomic_counter_get_inc
    functionSourceFile: /src/mhd2/src/mhd2/mhd_atomic_counter.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: mhd_atomic_counter_get_inc(pcnt)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - pcnt
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 201
      start: 198
    functionDepth: 0
    functionLinenumber: 198
    functionLinenumberEnd: 201
    functionName: mhd_atomic_counter_get_dec
    functionSourceFile: /src/mhd2/src/mhd2/mhd_atomic_counter.h
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: mhd_atomic_counter_get_dec(pcnt)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - pcnt
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 212
      start: 207
    functionDepth: 0
    functionLinenumber: 207
    functionLinenumberEnd: 212
    functionName: mhd_atomic_counter_inc
    functionSourceFile: /src/mhd2/src/mhd2/mhd_atomic_counter.h
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: mhd_atomic_counter_inc(pcnt)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: mhd_ATOMIC_COUNTER_TYPE::mhd_atomic_counter_get_inc_wrap
      Src: /src/mhd2/src/mhd2/mhd_atomic_counter.h:224,1
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/mhd_atomic_counter.h:226,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - pcnt
    argTypes:
    - struct mhd_AtomicCounter*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 229
      start: 219
    functionDepth: 1
    functionLinenumber: 219
    functionLinenumberEnd: 229
    functionName: mhd_ATOMIC_COUNTER_TYPE::mhd_atomic_counter_get_inc
    functionSourceFile: /src/mhd2/src/mhd2/mhd_atomic_counter.h
    functionUses: 0
    functionsReached:
    - mhd_assert
    - mhd_ATOMIC_COUNTER_TYPE::mhd_atomic_counter_get_inc_wrap
    linkageType: ''
    returnType: mhd_static_inline
    signature: 'mhd_static_inline mhd_ATOMIC_COUNTER_TYPE

      mhd_atomic_counter_get_inc (struct mhd_AtomicCounter *pcnt)'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: atomic_fetch_sub_explicit
      Src: /src/mhd2/src/mhd2/mhd_atomic_counter.h:243,1
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/mhd_atomic_counter.h:245,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - pcnt
    argTypes:
    - struct mhd_AtomicCounter*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 248
      start: 238
    functionDepth: 1
    functionLinenumber: 238
    functionLinenumberEnd: 248
    functionName: mhd_ATOMIC_COUNTER_TYPE::mhd_atomic_counter_get_dec
    functionSourceFile: /src/mhd2/src/mhd2/mhd_atomic_counter.h
    functionUses: 0
    functionsReached:
    - atomic_fetch_sub_explicit
    - mhd_assert
    linkageType: ''
    returnType: mhd_static_inline
    signature: 'mhd_static_inline mhd_ATOMIC_COUNTER_TYPE

      mhd_atomic_counter_get_dec (struct mhd_AtomicCounter *pcnt)'
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - pcnt
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 260
      start: 258
    functionDepth: 0
    functionLinenumber: 258
    functionLinenumberEnd: 260
    functionName: mhd_atomic_counter_get
    functionSourceFile: /src/mhd2/src/mhd2/mhd_atomic_counter.h
    functionUses: 6
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: mhd_atomic_counter_get(pcnt)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - pcnt
    - ','
    - initial_value
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 274
      start: 271
    functionDepth: 0
    functionLinenumber: 271
    functionLinenumberEnd: 274
    functionName: mhd_atomic_counter_init
    functionSourceFile: /src/mhd2/src/mhd2/mhd_atomic_counter.h
    functionUses: 3
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: mhd_atomic_counter_init(pcnt, initial_value)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - pcnt
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 282
      start: 280
    functionDepth: 0
    functionLinenumber: 280
    functionLinenumberEnd: 282
    functionName: mhd_atomic_counter_deinit
    functionSourceFile: /src/mhd2/src/mhd2/mhd_atomic_counter.h
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: mhd_atomic_counter_deinit(pcnt)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - pcnt
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 302
      start: 298
    functionDepth: 0
    functionLinenumber: 298
    functionLinenumberEnd: 302
    functionName: mhd_atomic_counter_inc
    functionSourceFile: /src/mhd2/src/mhd2/mhd_atomic_counter.h
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: mhd_atomic_counter_inc(pcnt)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - pcnt
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 311
      start: 309
    functionDepth: 0
    functionLinenumber: 309
    functionLinenumberEnd: 311
    functionName: mhd_atomic_counter_get_inc
    functionSourceFile: /src/mhd2/src/mhd2/mhd_atomic_counter.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: mhd_atomic_counter_get_inc(pcnt)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - pcnt
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 325
      start: 319
    functionDepth: 0
    functionLinenumber: 319
    functionLinenumberEnd: 325
    functionName: mhd_atomic_counter_inc
    functionSourceFile: /src/mhd2/src/mhd2/mhd_atomic_counter.h
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: mhd_atomic_counter_inc(pcnt)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - pcnt
    - ','
    - initial_value
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 366
      start: 364
    functionDepth: 0
    functionLinenumber: 364
    functionLinenumberEnd: 366
    functionName: mhd_atomic_counter_init
    functionSourceFile: /src/mhd2/src/mhd2/mhd_atomic_counter.h
    functionUses: 3
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: mhd_atomic_counter_init(pcnt, initial_value)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - pcnt
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 373
      start: 372
    functionDepth: 0
    functionLinenumber: 372
    functionLinenumberEnd: 373
    functionName: mhd_atomic_counter_deinit
    functionSourceFile: /src/mhd2/src/mhd2/mhd_atomic_counter.h
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: mhd_atomic_counter_deinit(pcnt)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - pcnt
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 381
      start: 380
    functionDepth: 0
    functionLinenumber: 380
    functionLinenumberEnd: 381
    functionName: mhd_atomic_counter_get_inc_wrap
    functionSourceFile: /src/mhd2/src/mhd2/mhd_atomic_counter.h
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: mhd_atomic_counter_get_inc_wrap(pcnt)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - pcnt
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 390
      start: 387
    functionDepth: 0
    functionLinenumber: 387
    functionLinenumberEnd: 390
    functionName: mhd_atomic_counter_inc
    functionSourceFile: /src/mhd2/src/mhd2/mhd_atomic_counter.h
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: mhd_atomic_counter_inc(pcnt)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - pcnt
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 400
      start: 398
    functionDepth: 0
    functionLinenumber: 398
    functionLinenumberEnd: 400
    functionName: mhd_atomic_counter_get_inc
    functionSourceFile: /src/mhd2/src/mhd2/mhd_atomic_counter.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: mhd_atomic_counter_get_inc(pcnt)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - pcnt
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 408
      start: 407
    functionDepth: 0
    functionLinenumber: 407
    functionLinenumberEnd: 408
    functionName: mhd_atomic_counter_get_dec
    functionSourceFile: /src/mhd2/src/mhd2/mhd_atomic_counter.h
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: mhd_atomic_counter_get_dec(pcnt)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/mhd_atomic_counter.h:419,1
    - Dst: mhd_ATOMIC_COUNTER_TYPE::mhd_atomic_counter_get_inc_wrap
      Src: /src/mhd2/src/mhd2/mhd_atomic_counter.h:421,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - pcnt
    argTypes:
    - struct mhd_AtomicCounter*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 422
      start: 416
    functionDepth: 1
    functionLinenumber: 416
    functionLinenumberEnd: 422
    functionName: mhd_ATOMIC_COUNTER_TYPE::mhd_atomic_counter_get_inc
    functionSourceFile: /src/mhd2/src/mhd2/mhd_atomic_counter.h
    functionUses: 0
    functionsReached:
    - mhd_ATOMIC_COUNTER_TYPE::mhd_atomic_counter_get_inc_wrap
    - mhd_assert
    linkageType: ''
    returnType: mhd_static_inline
    signature: 'mhd_static_inline mhd_ATOMIC_COUNTER_TYPE

      mhd_atomic_counter_get_inc (struct mhd_AtomicCounter *pcnt)'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/mhd_atomic_counter.h:434,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - pcnt
    argTypes:
    - struct mhd_AtomicCounter*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 437
      start: 431
    functionDepth: 1
    functionLinenumber: 431
    functionLinenumberEnd: 437
    functionName: mhd_ATOMIC_COUNTER_TYPE::mhd_atomic_counter_get_dec
    functionSourceFile: /src/mhd2/src/mhd2/mhd_atomic_counter.h
    functionUses: 0
    functionsReached:
    - mhd_assert
    linkageType: ''
    returnType: mhd_static_inline
    signature: 'mhd_static_inline mhd_ATOMIC_COUNTER_TYPE

      mhd_atomic_counter_get_dec (struct mhd_AtomicCounter *pcnt)'
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - pcnt
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 448
      start: 447
    functionDepth: 0
    functionLinenumber: 447
    functionLinenumberEnd: 448
    functionName: mhd_atomic_counter_get
    functionSourceFile: /src/mhd2/src/mhd2/mhd_atomic_counter.h
    functionUses: 6
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: mhd_atomic_counter_get(pcnt)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - ctx
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 164
      start: 163
    functionDepth: 0
    functionLinenumber: 163
    functionLinenumberEnd: 164
    functionName: mhd_MD5_blti_reset
    functionSourceFile: /src/mhd2/src/mhd2/md5_builtin.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: mhd_MD5_blti_reset(ctx)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - ctx
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 174
      start: 173
    functionDepth: 0
    functionLinenumber: 173
    functionLinenumberEnd: 174
    functionName: mhd_MD5_blti_deinit
    functionSourceFile: /src/mhd2/src/mhd2/md5_builtin.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: mhd_MD5_blti_deinit(ctx)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - base_name
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 82
      start: 81
    functionDepth: 0
    functionLinenumber: 81
    functionLinenumberEnd: 82
    functionName: mhd_DLNKDL_LIST_TYPE_
    functionSourceFile: /src/mhd2/src/mhd2/mhd_dlinked_list.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: mhd_DLNKDL_LIST_TYPE_(base_name)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - base_name
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 84
      start: 83
    functionDepth: 0
    functionLinenumber: 83
    functionLinenumberEnd: 84
    functionName: mhd_DLNKDL_LINKS_TYPE_
    functionSourceFile: /src/mhd2/src/mhd2/mhd_dlinked_list.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: mhd_DLNKDL_LINKS_TYPE_(base_name)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - base_name
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 92
      start: 91
    functionDepth: 0
    functionLinenumber: 91
    functionLinenumberEnd: 92
    functionName: mhd_DLNKDL_LIST_TYPE
    functionSourceFile: /src/mhd2/src/mhd2/mhd_dlinked_list.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: mhd_DLNKDL_LIST_TYPE(base_name)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - base_name
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 98
      start: 97
    functionDepth: 0
    functionLinenumber: 97
    functionLinenumberEnd: 98
    functionName: mhd_DLNKDL_LINKS_TYPE
    functionSourceFile: /src/mhd2/src/mhd2/mhd_dlinked_list.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: mhd_DLNKDL_LINKS_TYPE(base_name)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - l_type
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 107
      start: 106
    functionDepth: 0
    functionLinenumber: 106
    functionLinenumberEnd: 107
    functionName: mhd_DLINKEDL_LIST_DEF
    functionSourceFile: /src/mhd2/src/mhd2/mhd_dlinked_list.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: mhd_DLINKEDL_LIST_DEF(l_type)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - l_type
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 117
      start: 116
    functionDepth: 0
    functionLinenumber: 116
    functionLinenumberEnd: 117
    functionName: mhd_DLINKEDL_LINKS_DEF
    functionSourceFile: /src/mhd2/src/mhd2/mhd_dlinked_list.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: mhd_DLINKEDL_LINKS_DEF(l_type)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - l_type
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 128
      start: 126
    functionDepth: 0
    functionLinenumber: 126
    functionLinenumberEnd: 128
    functionName: mhd_DLINKEDL_STRUCTS_DEFS
    functionSourceFile: /src/mhd2/src/mhd2/mhd_dlinked_list.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: mhd_DLINKEDL_STRUCTS_DEFS(l_type)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - l_type
    - ','
    - list_name
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 137
      start: 135
    functionDepth: 0
    functionLinenumber: 135
    functionLinenumberEnd: 137
    functionName: mhd_DLNKDL_LIST
    functionSourceFile: /src/mhd2/src/mhd2/mhd_dlinked_list.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: mhd_DLNKDL_LIST(l_type, list_name)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - l_type
    - ','
    - links_name
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 143
      start: 141
    functionDepth: 0
    functionLinenumber: 141
    functionLinenumberEnd: 143
    functionName: mhd_DLNKDL_LINKS
    functionSourceFile: /src/mhd2/src/mhd2/mhd_dlinked_list.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: mhd_DLNKDL_LINKS(l_type, links_name)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - p_list
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 157
      start: 155
    functionDepth: 0
    functionLinenumber: 155
    functionLinenumberEnd: 157
    functionName: mhd_DLINKEDL_INIT_LIST_D
    functionSourceFile: /src/mhd2/src/mhd2/mhd_dlinked_list.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: mhd_DLINKEDL_INIT_LIST_D(p_list)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - p_list
    - ','
    - p_obj
    - ','
    - links_name
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 182
      start: 167
    functionDepth: 0
    functionLinenumber: 167
    functionLinenumberEnd: 182
    functionName: mhd_DLINKEDL_INS_FIRST_D
    functionSourceFile: /src/mhd2/src/mhd2/mhd_dlinked_list.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: mhd_DLINKEDL_INS_FIRST_D(p_list, p_obj, links_name)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - p_list
    - ','
    - p_obj
    - ','
    - links_name
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 207
      start: 192
    functionDepth: 0
    functionLinenumber: 192
    functionLinenumberEnd: 207
    functionName: mhd_DLINKEDL_INS_LAST_D
    functionSourceFile: /src/mhd2/src/mhd2/mhd_dlinked_list.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: mhd_DLINKEDL_INS_LAST_D(p_list, p_obj, links_name)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - p_list
    - ','
    - p_obj
    - ','
    - links_name
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 244
      start: 215
    functionDepth: 0
    functionLinenumber: 215
    functionLinenumberEnd: 244
    functionName: mhd_DLINKEDL_DEL_D
    functionSourceFile: /src/mhd2/src/mhd2/mhd_dlinked_list.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: mhd_DLINKEDL_DEL_D(p_list, p_obj, links_name)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - p_list
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 249
      start: 248
    functionDepth: 0
    functionLinenumber: 248
    functionLinenumberEnd: 249
    functionName: mhd_DLINKEDL_GET_FIRST_D
    functionSourceFile: /src/mhd2/src/mhd2/mhd_dlinked_list.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: mhd_DLINKEDL_GET_FIRST_D(p_list)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - p_list
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 254
      start: 253
    functionDepth: 0
    functionLinenumber: 253
    functionLinenumberEnd: 254
    functionName: mhd_DLINKEDL_GET_LAST_D
    functionSourceFile: /src/mhd2/src/mhd2/mhd_dlinked_list.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: mhd_DLINKEDL_GET_LAST_D(p_list)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - p_list
    - ','
    - p_obj
    - ','
    - links_name
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 288
      start: 264
    functionDepth: 0
    functionLinenumber: 264
    functionLinenumberEnd: 288
    functionName: mhd_DLINKEDL_MOVE_TO_FIRST_D
    functionSourceFile: /src/mhd2/src/mhd2/mhd_dlinked_list.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: mhd_DLINKEDL_MOVE_TO_FIRST_D(p_list, p_obj, links_name)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - p_own
    - ','
    - list_name
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 304
      start: 302
    functionDepth: 0
    functionLinenumber: 302
    functionLinenumberEnd: 304
    functionName: mhd_DLINKEDL_INIT_LIST
    functionSourceFile: /src/mhd2/src/mhd2/mhd_dlinked_list.h
    functionUses: 6
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: mhd_DLINKEDL_INIT_LIST(p_own, list_name)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - p_obj
    - ','
    - links_name
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 315
      start: 312
    functionDepth: 0
    functionLinenumber: 312
    functionLinenumberEnd: 315
    functionName: mhd_DLINKEDL_INIT_LINKS
    functionSourceFile: /src/mhd2/src/mhd2/mhd_dlinked_list.h
    functionUses: 5
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: mhd_DLINKEDL_INIT_LINKS(p_obj, links_name)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - p_own
    - ','
    - p_obj
    - ','
    - l_name
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 329
      start: 327
    functionDepth: 0
    functionLinenumber: 327
    functionLinenumberEnd: 329
    functionName: mhd_DLINKEDL_INS_FIRST
    functionSourceFile: /src/mhd2/src/mhd2/mhd_dlinked_list.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: mhd_DLINKEDL_INS_FIRST(p_own, p_obj, l_name)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - p_own
    - ','
    - p_obj
    - ','
    - l_name
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 341
      start: 339
    functionDepth: 0
    functionLinenumber: 339
    functionLinenumberEnd: 341
    functionName: mhd_DLINKEDL_INS_LAST
    functionSourceFile: /src/mhd2/src/mhd2/mhd_dlinked_list.h
    functionUses: 6
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: mhd_DLINKEDL_INS_LAST(p_own, p_obj, l_name)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - p_own
    - ','
    - p_obj
    - ','
    - l_name
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 353
      start: 351
    functionDepth: 0
    functionLinenumber: 351
    functionLinenumberEnd: 353
    functionName: mhd_DLINKEDL_DEL
    functionSourceFile: /src/mhd2/src/mhd2/mhd_dlinked_list.h
    functionUses: 4
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: mhd_DLINKEDL_DEL(p_own, p_obj, l_name)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - p_own
    - ','
    - list_name
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 363
      start: 361
    functionDepth: 0
    functionLinenumber: 361
    functionLinenumberEnd: 363
    functionName: mhd_DLINKEDL_GET_FIRST
    functionSourceFile: /src/mhd2/src/mhd2/mhd_dlinked_list.h
    functionUses: 15
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: mhd_DLINKEDL_GET_FIRST(p_own, list_name)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - p_own
    - ','
    - list_name
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 371
      start: 369
    functionDepth: 0
    functionLinenumber: 369
    functionLinenumberEnd: 371
    functionName: mhd_DLINKEDL_GET_LAST
    functionSourceFile: /src/mhd2/src/mhd2/mhd_dlinked_list.h
    functionUses: 8
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: mhd_DLINKEDL_GET_LAST(p_own, list_name)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - p_obj
    - ','
    - links_name
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 378
      start: 377
    functionDepth: 0
    functionLinenumber: 377
    functionLinenumberEnd: 378
    functionName: mhd_DLINKEDL_GET_NEXT
    functionSourceFile: /src/mhd2/src/mhd2/mhd_dlinked_list.h
    functionUses: 11
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: mhd_DLINKEDL_GET_NEXT(p_obj, links_name)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - p_obj
    - ','
    - links_name
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 385
      start: 384
    functionDepth: 0
    functionLinenumber: 384
    functionLinenumberEnd: 385
    functionName: mhd_DLINKEDL_GET_PREV
    functionSourceFile: /src/mhd2/src/mhd2/mhd_dlinked_list.h
    functionUses: 4
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: mhd_DLINKEDL_GET_PREV(p_obj, links_name)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 2
    argNames:
    - (
    - )
    argTypes:
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 74
      start: 73
    functionDepth: 0
    functionLinenumber: 73
    functionLinenumberEnd: 74
    functionName: mhd_tls_global_init_once
    functionSourceFile: /src/mhd2/src/mhd2/mhd_tls_funcs.h
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: mhd_tls_global_init_once()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 2
    argNames:
    - (
    - )
    argTypes:
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 79
      start: 78
    functionDepth: 0
    functionLinenumber: 78
    functionLinenumberEnd: 79
    functionName: mhd_tls_global_deinit
    functionSourceFile: /src/mhd2/src/mhd2/mhd_tls_funcs.h
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: mhd_tls_global_deinit()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 2
    argNames:
    - (
    - )
    argTypes:
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 84
      start: 83
    functionDepth: 0
    functionLinenumber: 83
    functionLinenumberEnd: 84
    functionName: mhd_tls_global_re_init
    functionSourceFile: /src/mhd2/src/mhd2/mhd_tls_funcs.h
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: mhd_tls_global_re_init()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - s
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 95
      start: 93
    functionDepth: 0
    functionLinenumber: 93
    functionLinenumberEnd: 95
    functionName: mhd_tls_is_edge_trigg_supported
    functionSourceFile: /src/mhd2/src/mhd2/mhd_tls_funcs.h
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: mhd_tls_is_edge_trigg_supported(s)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 9
    argNames:
    - (
    - d
    - ','
    - et
    - ','
    - s
    - ','
    - p_d_tls
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 108
      start: 106
    functionDepth: 0
    functionLinenumber: 106
    functionLinenumberEnd: 108
    functionName: mhd_tls_daemon_init
    functionSourceFile: /src/mhd2/src/mhd2/mhd_tls_funcs.h
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: mhd_tls_daemon_init(d, et, s, p_d_tls)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - d_tls
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 116
      start: 114
    functionDepth: 0
    functionLinenumber: 114
    functionLinenumberEnd: 116
    functionName: mhd_tls_daemon_deinit
    functionSourceFile: /src/mhd2/src/mhd2/mhd_tls_funcs.h
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: mhd_tls_daemon_deinit(d_tls)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - d_tls
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 125
      start: 123
    functionDepth: 0
    functionLinenumber: 123
    functionLinenumberEnd: 125
    functionName: mhd_tls_thread_cleanup
    functionSourceFile: /src/mhd2/src/mhd2/mhd_tls_funcs.h
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: mhd_tls_thread_cleanup(d_tls)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - d_tls
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 135
      start: 133
    functionDepth: 0
    functionLinenumber: 133
    functionLinenumberEnd: 135
    functionName: mhd_tls_conn_get_tls_size
    functionSourceFile: /src/mhd2/src/mhd2/mhd_tls_funcs.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: mhd_tls_conn_get_tls_size(d_tls)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - d_tls
    - ','
    - sk
    - ','
    - c_tls
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 147
      start: 145
    functionDepth: 0
    functionLinenumber: 145
    functionLinenumberEnd: 147
    functionName: mhd_tls_conn_init
    functionSourceFile: /src/mhd2/src/mhd2/mhd_tls_funcs.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: mhd_tls_conn_init(d_tls, sk, c_tls)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - c_tls
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 155
      start: 153
    functionDepth: 0
    functionLinenumber: 153
    functionLinenumberEnd: 155
    functionName: mhd_tls_conn_deinit
    functionSourceFile: /src/mhd2/src/mhd2/mhd_tls_funcs.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: mhd_tls_conn_deinit(c_tls)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - c_tls
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 167
      start: 165
    functionDepth: 0
    functionLinenumber: 165
    functionLinenumberEnd: 167
    functionName: mhd_tls_conn_handshake
    functionSourceFile: /src/mhd2/src/mhd2/mhd_tls_funcs.h
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: mhd_tls_conn_handshake(c_tls)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - c_tls
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 176
      start: 174
    functionDepth: 0
    functionLinenumber: 174
    functionLinenumberEnd: 176
    functionName: mhd_tls_conn_shutdown
    functionSourceFile: /src/mhd2/src/mhd2/mhd_tls_funcs.h
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: mhd_tls_conn_shutdown(c_tls)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 9
    argNames:
    - (
    - c_tls
    - ','
    - buf_size
    - ','
    - buf
    - ','
    - received
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 192
      start: 190
    functionDepth: 0
    functionLinenumber: 190
    functionLinenumberEnd: 192
    functionName: mhd_tls_conn_recv
    functionSourceFile: /src/mhd2/src/mhd2/mhd_tls_funcs.h
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: mhd_tls_conn_recv(c_tls, buf_size, buf, received)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - c_tls
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 203
      start: 201
    functionDepth: 0
    functionLinenumber: 201
    functionLinenumberEnd: 203
    functionName: mhd_tls_conn_has_data_in
    functionSourceFile: /src/mhd2/src/mhd2/mhd_tls_funcs.h
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: mhd_tls_conn_has_data_in(c_tls)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 11
    argNames:
    - (
    - c_tls
    - ','
    - buf_size
    - ','
    - buf
    - ','
    - push_data
    - ','
    - sent
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 219
      start: 217
    functionDepth: 0
    functionLinenumber: 217
    functionLinenumberEnd: 219
    functionName: mhd_tls_conn_send
    functionSourceFile: /src/mhd2/src/mhd2/mhd_tls_funcs.h
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: mhd_tls_conn_send(c_tls, buf_size, buf, push_data, sent)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - c_tls
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 239
      start: 237
    functionDepth: 0
    functionLinenumber: 237
    functionLinenumberEnd: 239
    functionName: mhd_tls_conn_has_cstm_tr
    functionSourceFile: /src/mhd2/src/mhd2/mhd_tls_funcs.h
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: mhd_tls_conn_has_cstm_tr(c_tls)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - c_tls
    - ','
    - tls_sess_out
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 247
      start: 245
    functionDepth: 0
    functionLinenumber: 245
    functionLinenumberEnd: 247
    functionName: mhd_tls_conn_get_tls_sess
    functionSourceFile: /src/mhd2/src/mhd2/mhd_tls_funcs.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: mhd_tls_conn_get_tls_sess(c_tls, tls_sess_out)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - c_tls
    - ','
    - tls_ver_out
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 257
      start: 255
    functionDepth: 0
    functionLinenumber: 255
    functionLinenumberEnd: 257
    functionName: mhd_tls_conn_get_tls_ver
    functionSourceFile: /src/mhd2/src/mhd2/mhd_tls_funcs.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: mhd_tls_conn_get_tls_ver(c_tls, tls_ver_out)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - c_tls
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 265
      start: 263
    functionDepth: 0
    functionLinenumber: 263
    functionLinenumberEnd: 265
    functionName: mhd_tls_conn_get_alpn_prot
    functionSourceFile: /src/mhd2/src/mhd2/mhd_tls_funcs.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: mhd_tls_conn_get_alpn_prot(c_tls)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - ignore
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 67
      start: 66
    functionDepth: 0
    functionLinenumber: 66
    functionLinenumberEnd: 67
    functionName: mhd_assert
    functionSourceFile: /src/mhd2/src/mhd2/mhd_assert.h
    functionUses: 307
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: mhd_assert(ignore)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - CHK
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 71
      start: 70
    functionDepth: 0
    functionLinenumber: 70
    functionLinenumberEnd: 71
    functionName: mhd_assert
    functionSourceFile: /src/mhd2/src/mhd2/mhd_assert.h
    functionUses: 307
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: mhd_assert(CHK)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - CHK
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 87
      start: 79
    functionDepth: 0
    functionLinenumber: 79
    functionLinenumberEnd: 87
    functionName: mhd_assert
    functionSourceFile: /src/mhd2/src/mhd2/mhd_assert.h
    functionUses: 307
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: mhd_assert(CHK)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - CHK
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 95
      start: 88
    functionDepth: 0
    functionLinenumber: 88
    functionLinenumberEnd: 95
    functionName: mhd_assert
    functionSourceFile: /src/mhd2/src/mhd2/mhd_assert.h
    functionUses: 307
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: mhd_assert(CHK)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/conn_timeout.c:72,1
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/conn_timeout.c:88,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 11
    argCount: 2
    argNames:
    - c
    - cur_milsec
    argTypes:
    - struct MHD_Connection*
    - uint_fast64_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 96
      start: 62
    functionDepth: 1
    functionLinenumber: 62
    functionLinenumberEnd: 96
    functionName: mhd_conn_get_timeout_left
    functionSourceFile: /src/mhd2/src/mhd2/conn_timeout.c
    functionUses: 0
    functionsReached:
    - mhd_assert
    linkageType: ''
    returnType: MHD_INTERNAL
    signature: "MHD_INTERNAL mhd_conn_get_timeout_left (const struct MHD_Connection
      *restrict c,\n                           uint_fast64_t cur_milsec)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: mhd_conn_get_timeout_left
      Src: /src/mhd2/src/mhd2/conn_timeout.c:104,1
    - Dst: mhd_daemon_get_milsec_counter
      Src: /src/mhd2/src/mhd2/conn_timeout.c:105,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - c
    argTypes:
    - struct MHD_Connection*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 106
      start: 99
    functionDepth: 2
    functionLinenumber: 99
    functionLinenumberEnd: 106
    functionName: mhd_conn_is_timeout_expired
    functionSourceFile: /src/mhd2/src/mhd2/conn_timeout.c
    functionUses: 1
    functionsReached:
    - mhd_daemon_get_milsec_counter
    - mhd_conn_get_timeout_left
    linkageType: ''
    returnType: MHD_INTERNAL
    signature: MHD_INTERNAL mhd_conn_is_timeout_expired (struct MHD_Connection *restrict
      c)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/conn_timeout.c:116,1
    - Dst: mhd_D_HAS_WORKERS
      Src: /src/mhd2/src/mhd2/conn_timeout.c:116,1
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/conn_timeout.c:119,1
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/conn_timeout.c:120,1
    - Dst: mhd_daemon_get_milsec_counter
      Src: /src/mhd2/src/mhd2/conn_timeout.c:127,1
    - Dst: mhd_D_HAS_THR_PER_CONN
      Src: /src/mhd2/src/mhd2/conn_timeout.c:129,1
    - Dst: mhd_DLINKEDL_INS_FIRST_D
      Src: /src/mhd2/src/mhd2/conn_timeout.c:134,1
    - Dst: mhd_DLINKEDL_INS_FIRST_D
      Src: /src/mhd2/src/mhd2/conn_timeout.c:140,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 16
    argCount: 2
    argNames:
    - c
    - timeout
    argTypes:
    - struct MHD_Connection*
    - uint_fast32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 145
      start: 109
    functionDepth: 1
    functionLinenumber: 109
    functionLinenumberEnd: 145
    functionName: mhd_conn_init_activity_timeout
    functionSourceFile: /src/mhd2/src/mhd2/conn_timeout.c
    functionUses: 0
    functionsReached:
    - mhd_D_HAS_THR_PER_CONN
    - mhd_D_HAS_WORKERS
    - mhd_DLINKEDL_INS_FIRST_D
    - mhd_daemon_get_milsec_counter
    - mhd_assert
    linkageType: ''
    returnType: MHD_INTERNAL
    signature: "MHD_INTERNAL mhd_conn_init_activity_timeout (struct MHD_Connection
      *restrict c,\n                                uint_fast32_t timeout)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/conn_timeout.c:155,1
    - Dst: mhd_D_HAS_WORKERS
      Src: /src/mhd2/src/mhd2/conn_timeout.c:155,1
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/conn_timeout.c:160,1
    - Dst: mhd_D_HAS_THR_PER_CONN
      Src: /src/mhd2/src/mhd2/conn_timeout.c:164,1
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/conn_timeout.c:166,1
    - Dst: mhd_DLINKEDL_DEL_D
      Src: /src/mhd2/src/mhd2/conn_timeout.c:171,1
    - Dst: mhd_DLINKEDL_DEL_D
      Src: /src/mhd2/src/mhd2/conn_timeout.c:175,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 14
    argCount: 1
    argNames:
    - c
    argTypes:
    - struct MHD_Connection*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 180
      start: 148
    functionDepth: 1
    functionLinenumber: 148
    functionLinenumberEnd: 180
    functionName: mhd_conn_deinit_activity_timeout
    functionSourceFile: /src/mhd2/src/mhd2/conn_timeout.c
    functionUses: 2
    functionsReached:
    - mhd_D_HAS_WORKERS
    - mhd_D_HAS_THR_PER_CONN
    - mhd_assert
    - mhd_DLINKEDL_DEL_D
    linkageType: ''
    returnType: MHD_INTERNAL
    signature: MHD_INTERNAL mhd_conn_deinit_activity_timeout (struct MHD_Connection
      *restrict c)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/conn_timeout.c:190,1
    - Dst: mhd_D_HAS_WORKERS
      Src: /src/mhd2/src/mhd2/conn_timeout.c:190,1
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/conn_timeout.c:193,1
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/conn_timeout.c:197,1
    - Dst: mhd_daemon_get_milsec_counter
      Src: /src/mhd2/src/mhd2/conn_timeout.c:202,1
    - Dst: mhd_D_HAS_THR_PER_CONN
      Src: /src/mhd2/src/mhd2/conn_timeout.c:207,1
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/conn_timeout.c:209,1
    - Dst: mhd_DLINKEDL_MOVE_TO_FIRST_D
      Src: /src/mhd2/src/mhd2/conn_timeout.c:217,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 18
    argCount: 1
    argNames:
    - c
    argTypes:
    - struct MHD_Connection*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 220
      start: 183
    functionDepth: 1
    functionLinenumber: 183
    functionLinenumberEnd: 220
    functionName: mhd_conn_update_activity_mark
    functionSourceFile: /src/mhd2/src/mhd2/conn_timeout.c
    functionUses: 1
    functionsReached:
    - mhd_D_HAS_THR_PER_CONN
    - mhd_D_HAS_WORKERS
    - mhd_DLINKEDL_MOVE_TO_FIRST_D
    - mhd_daemon_get_milsec_counter
    - mhd_assert
    linkageType: ''
    returnType: MHD_INTERNAL
    signature: MHD_INTERNAL mhd_conn_update_activity_mark (struct MHD_Connection *restrict
      c)
  - BBCount: 32
    BranchProfiles: []
    Callsites:
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/stream_process_states.c:90,1
    - Dst: mhd_C_HAS_TLS
      Src: /src/mhd2/src/mhd2/stream_process_states.c:90,1
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/stream_process_states.c:92,1
    - Dst: mhd_C_HAS_TLS
      Src: /src/mhd2/src/mhd2/stream_process_states.c:92,1
    - Dst: mhd_C_IS_HTTP2
      Src: /src/mhd2/src/mhd2/stream_process_states.c:97,1
    - Dst: mhd_h2_conn_state_update
      Src: /src/mhd2/src/mhd2/stream_process_states.c:99,1
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/stream_process_states.c:111,1
    - Dst: mhd_UNREACHABLE
      Src: /src/mhd2/src/mhd2/stream_process_states.c:112,1
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/stream_process_states.c:119,1
    - Dst: mhd_UNREACHABLE
      Src: /src/mhd2/src/mhd2/stream_process_states.c:120,1
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/stream_process_states.c:129,1
    - Dst: mhd_UNREACHABLE
      Src: /src/mhd2/src/mhd2/stream_process_states.c:130,1
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/stream_process_states.c:136,1
    - Dst: mhd_UNREACHABLE
      Src: /src/mhd2/src/mhd2/stream_process_states.c:137,1
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/stream_process_states.c:140,1
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/stream_process_states.c:144,1
    - Dst: mhd_UNREACHABLE
      Src: /src/mhd2/src/mhd2/stream_process_states.c:145,1
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/stream_process_states.c:148,1
    - Dst: mhd_UNREACHABLE
      Src: /src/mhd2/src/mhd2/stream_process_states.c:149,1
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/stream_process_states.c:156,1
    - Dst: mhd_UNREACHABLE
      Src: /src/mhd2/src/mhd2/stream_process_states.c:157,1
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/stream_process_states.c:165,1
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/stream_process_states.c:172,1
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/stream_process_states.c:179,1
    - Dst: mhd_UNREACHABLE
      Src: /src/mhd2/src/mhd2/stream_process_states.c:180,1
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/stream_process_states.c:186,1
    - Dst: mhd_UNREACHABLE
      Src: /src/mhd2/src/mhd2/stream_process_states.c:187,1
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/stream_process_states.c:191,1
    - Dst: mhd_UNREACHABLE
      Src: /src/mhd2/src/mhd2/stream_process_states.c:192,1
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/stream_process_states.c:195,1
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/stream_process_states.c:199,1
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/stream_process_states.c:204,1
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/stream_process_states.c:208,1
    - Dst: mhd_UNREACHABLE
      Src: /src/mhd2/src/mhd2/stream_process_states.c:212,1
    CyclomaticComplexity: 49
    EdgeCount: 49
    ICount: 112
    argCount: 1
    argNames:
    - c
    argTypes:
    - struct MHD_Connection*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 215
      start: 86
    functionDepth: 1
    functionLinenumber: 86
    functionLinenumberEnd: 215
    functionName: mhd_conn_event_loop_state_update
    functionSourceFile: /src/mhd2/src/mhd2/stream_process_states.c
    functionUses: 2
    functionsReached:
    - mhd_C_HAS_TLS
    - mhd_h2_conn_state_update
    - mhd_UNREACHABLE
    - mhd_C_IS_HTTP2
    - mhd_assert
    linkageType: ''
    returnType: MHD_INTERNAL
    signature: MHD_INTERNAL mhd_conn_event_loop_state_update (struct MHD_Connection
      *restrict c)
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: mhd_h2_process_preface
      Src: /src/mhd2/src/mhd2/stream_process_states.c:236,1
    - Dst: mhd_UNREACHABLE
      Src: /src/mhd2/src/mhd2/stream_process_states.c:238,1
    - Dst: mhd_UNREACHABLE
      Src: /src/mhd2/src/mhd2/stream_process_states.c:249,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 21
    argCount: 1
    argNames:
    - c
    argTypes:
    - struct MHD_Connection*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 256
      start: 226
    functionDepth: 1
    functionLinenumber: 226
    functionLinenumberEnd: 256
    functionName: process_http_comm_layer
    functionSourceFile: /src/mhd2/src/mhd2/stream_process_states.c
    functionUses: 0
    functionsReached:
    - mhd_UNREACHABLE
    - mhd_h2_process_preface
    linkageType: ''
    returnType: mhd_static_inline
    signature: mhd_static_inline process_http_comm_layer (struct MHD_Connection *restrict
      c)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/stream_process_states.c:266,1
    - Dst: fprintf
      Src: /src/mhd2/src/mhd2/stream_process_states.c:270,1
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/stream_process_states.c:274,1
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/stream_process_states.c:275,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 1
    argNames:
    - c
    argTypes:
    - struct MHD_Connection*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 276
      start: 263
    functionDepth: 1
    functionLinenumber: 263
    functionLinenumberEnd: 276
    functionName: finish_resume
    functionSourceFile: /src/mhd2/src/mhd2/stream_process_states.c
    functionUses: 0
    functionsReached:
    - mhd_assert
    - fprintf
    linkageType: ''
    returnType: MHD_FN_PAR_NONNULL_ALL_
    signature: MHD_FN_PAR_NONNULL_ALL_ finish_resume (struct MHD_Connection *restrict
      c)
  - BBCount: 71
    BranchProfiles: []
    Callsites:
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/stream_process_states.c:287,1
    - Dst: mhd_C_IS_HTTP2
      Src: /src/mhd2/src/mhd2/stream_process_states.c:287,1
    - Dst: process_http_comm_layer
      Src: /src/mhd2/src/mhd2/stream_process_states.c:291,1
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/stream_process_states.c:296,1
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/stream_process_states.c:299,1
    - Dst: mhd_UNREACHABLE
      Src: /src/mhd2/src/mhd2/stream_process_states.c:302,1
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/stream_process_states.c:308,1
    - Dst: mhd_C_IS_HTTP2
      Src: /src/mhd2/src/mhd2/stream_process_states.c:308,1
    - Dst: finish_resume
      Src: /src/mhd2/src/mhd2/stream_process_states.c:309,1
    - Dst: mhd_C_IS_HTTP2
      Src: /src/mhd2/src/mhd2/stream_process_states.c:313,1
    - Dst: mhd_h2_conn_process_data
      Src: /src/mhd2/src/mhd2/stream_process_states.c:315,1
    - Dst: mhd_conn_event_loop_state_update
      Src: /src/mhd2/src/mhd2/stream_process_states.c:317,1
    - Dst: mhd_conn_mark_ready_update
      Src: /src/mhd2/src/mhd2/stream_process_states.c:318,1
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/stream_process_states.c:323,1
    - Dst: mhd_D_IS_HTTP1_ENABLED
      Src: /src/mhd2/src/mhd2/stream_process_states.c:323,1
    - Dst: mhd_C_IS_HTTP2
      Src: /src/mhd2/src/mhd2/stream_process_states.c:323,1
    - Dst: mhd_conn_start_closing
      Src: /src/mhd2/src/mhd2/stream_process_states.c:330,1
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/stream_process_states.c:339,1
    - Dst: mhd_SCKT_NET_ST_HAS_FLAG
      Src: /src/mhd2/src/mhd2/stream_process_states.c:339,1
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/stream_process_states.c:345,1
    - Dst: mhd_SOCKET_ERR_IS_HARD
      Src: /src/mhd2/src/mhd2/stream_process_states.c:345,1
    - Dst: mhd_conn_start_closing_skt_err
      Src: /src/mhd2/src/mhd2/stream_process_states.c:346,1
    - Dst: mhd_conn_start_closing_d_shutdown
      Src: /src/mhd2/src/mhd2/stream_process_states.c:356,1
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/stream_process_states.c:360,1
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/stream_process_states.c:365,1
    - Dst: mhd_C_HAS_TLS
      Src: /src/mhd2/src/mhd2/stream_process_states.c:365,1
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/stream_process_states.c:367,1
    - Dst: mhd_C_HAS_TLS
      Src: /src/mhd2/src/mhd2/stream_process_states.c:367,1
    - Dst: mhd_stream_get_request_line
      Src: /src/mhd2/src/mhd2/stream_process_states.c:374,1
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/stream_process_states.c:376,1
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/stream_process_states.c:377,1
    - Dst: MHD_HTTP_VERSION_IS_1X
      Src: /src/mhd2/src/mhd2/stream_process_states.c:377,1
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/stream_process_states.c:382,1
    - Dst: mhd_stream_switch_to_rq_headers_proc
      Src: /src/mhd2/src/mhd2/stream_process_states.c:385,1
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/stream_process_states.c:386,1
    - Dst: mhd_stream_get_request_headers
      Src: /src/mhd2/src/mhd2/stream_process_states.c:389,1
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/stream_process_states.c:391,1
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/stream_process_states.c:392,1
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/stream_process_states.c:396,1
    - Dst: mhd_stream_parse_request_headers
      Src: /src/mhd2/src/mhd2/stream_process_states.c:399,1
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/stream_process_states.c:400,1
    - Dst: mhd_stream_call_app_request_cb
      Src: /src/mhd2/src/mhd2/stream_process_states.c:403,1
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/stream_process_states.c:405,1
    - Dst: mhd_SSTR_LEN
      Src: /src/mhd2/src/mhd2/stream_process_states.c:412,1
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/stream_process_states.c:422,1
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/stream_process_states.c:423,1
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/stream_process_states.c:424,1
    - Dst: mhd_stream_process_request_body
      Src: /src/mhd2/src/mhd2/stream_process_states.c:428,1
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/stream_process_states.c:430,1
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/stream_process_states.c:431,1
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/stream_process_states.c:434,1
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/stream_process_states.c:435,1
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/stream_process_states.c:436,1
    - Dst: mhd_stream_reset_rq_hdr_proc_state
      Src: /src/mhd2/src/mhd2/stream_process_states.c:440,1
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/stream_process_states.c:444,1
    - Dst: mhd_stream_get_request_headers
      Src: /src/mhd2/src/mhd2/stream_process_states.c:445,1
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/stream_process_states.c:447,1
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/stream_process_states.c:448,1
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/stream_process_states.c:452,1
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/stream_process_states.c:455,1
    - Dst: mhd_stream_call_app_final_upload_cb
      Src: /src/mhd2/src/mhd2/stream_process_states.c:459,1
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/stream_process_states.c:461,1
    - Dst: mhd_stream_process_req_recv_finished
      Src: /src/mhd2/src/mhd2/stream_process_states.c:466,1
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/stream_process_states.c:471,1
    - Dst: mhd_stream_switch_from_recv_to_send
      Src: /src/mhd2/src/mhd2/stream_process_states.c:472,1
    - Dst: mhd_stream_build_header_response
      Src: /src/mhd2/src/mhd2/stream_process_states.c:473,1
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/stream_process_states.c:475,1
    - Dst: mhd_upgrade_try_start_upgrading
      Src: /src/mhd2/src/mhd2/stream_process_states.c:493,1
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/stream_process_states.c:498,1
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/stream_process_states.c:499,1
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/stream_process_states.c:503,1
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/stream_process_states.c:504,1
    - Dst: mhd_stream_prep_unchunked_body
      Src: /src/mhd2/src/mhd2/stream_process_states.c:510,1
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/stream_process_states.c:514,1
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/stream_process_states.c:515,1
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/stream_process_states.c:519,1
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/stream_process_states.c:520,1
    - Dst: mhd_stream_prep_chunked_body
      Src: /src/mhd2/src/mhd2/stream_process_states.c:528,1
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/stream_process_states.c:532,1
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/stream_process_states.c:533,1
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/stream_process_states.c:534,1
    - Dst: mhd_stream_call_dcc_cleanup_if_needed
      Src: /src/mhd2/src/mhd2/stream_process_states.c:536,1
    - Dst: mhd_stream_prep_chunked_footer
      Src: /src/mhd2/src/mhd2/stream_process_states.c:537,1
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/stream_process_states.c:541,1
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/stream_process_states.c:542,1
    - Dst: mhd_stream_finish_req_serving
      Src: /src/mhd2/src/mhd2/stream_process_states.c:548,1
    - Dst: mhd_upgrade_finish_switch_to_upgraded
      Src: /src/mhd2/src/mhd2/stream_process_states.c:556,1
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/stream_process_states.c:558,1
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/stream_process_states.c:561,1
    - Dst: mhd_UNREACHABLE
      Src: /src/mhd2/src/mhd2/stream_process_states.c:562,1
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/stream_process_states.c:565,1
    - Dst: mhd_UNREACHABLE
      Src: /src/mhd2/src/mhd2/stream_process_states.c:566,1
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/stream_process_states.c:572,1
    - Dst: mhd_UNREACHABLE
      Src: /src/mhd2/src/mhd2/stream_process_states.c:573,1
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/stream_process_states.c:576,1
    - Dst: mhd_UNREACHABLE
      Src: /src/mhd2/src/mhd2/stream_process_states.c:577,1
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/stream_process_states.c:581,1
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/stream_process_states.c:585,1
    - Dst: mhd_UNREACHABLE
      Src: /src/mhd2/src/mhd2/stream_process_states.c:586,1
    - Dst: mhd_conn_mark_unready
      Src: /src/mhd2/src/mhd2/stream_process_states.c:595,1
    - Dst: mhd_conn_deinit_activity_timeout
      Src: /src/mhd2/src/mhd2/stream_process_states.c:596,1
    - Dst: fprintf
      Src: /src/mhd2/src/mhd2/stream_process_states.c:598,1
    - Dst: mhd_conn_start_closing
      Src: /src/mhd2/src/mhd2/stream_process_states.c:607,1
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/stream_process_states.c:617,1
    - Dst: mhd_conn_start_closing_skt_err
      Src: /src/mhd2/src/mhd2/stream_process_states.c:618,1
    - Dst: mhd_conn_event_loop_state_update
      Src: /src/mhd2/src/mhd2/stream_process_states.c:622,1
    - Dst: mhd_stream_check_and_grow_read_buffer_space
      Src: /src/mhd2/src/mhd2/stream_process_states.c:627,1
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/stream_process_states.c:630,1
    - Dst: mhd_UNREACHABLE
      Src: /src/mhd2/src/mhd2/stream_process_states.c:637,1
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/stream_process_states.c:644,1
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/stream_process_states.c:647,1
    - Dst: mhd_conn_mark_ready_update
      Src: /src/mhd2/src/mhd2/stream_process_states.c:649,1
    CyclomaticComplexity: 106
    EdgeCount: 106
    ICount: 265
    argCount: 1
    argNames:
    - c
    argTypes:
    - struct MHD_Connection*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 655
      start: 279
    functionDepth: 5
    functionLinenumber: 279
    functionLinenumberEnd: 655
    functionName: mhd_conn_process_data
    functionSourceFile: /src/mhd2/src/mhd2/stream_process_states.c
    functionUses: 1
    functionsReached:
    - mhd_C_HAS_TLS
    - fprintf
    - mhd_SOCKET_ERR_IS_HARD
    - mhd_D_IS_HTTP1_ENABLED
    - mhd_SCKT_NET_ST_HAS_FLAG
    - mhd_stream_prep_chunked_footer
    - mhd_stream_prep_unchunked_body
    - mhd_stream_process_req_recv_finished
    - MHD_HTTP_VERSION_IS_1X
    - finish_resume
    - mhd_SSTR_LEN
    - mhd_stream_reset_rq_hdr_proc_state
    - mhd_stream_call_app_request_cb
    - mhd_stream_finish_req_serving
    - mhd_stream_check_and_grow_read_buffer_space
    - mhd_conn_start_closing
    - mhd_stream_switch_from_recv_to_send
    - mhd_conn_mark_ready_update
    - mhd_stream_parse_request_headers
    - mhd_conn_deinit_activity_timeout
    - mhd_stream_get_request_headers
    - mhd_stream_call_app_final_upload_cb
    - mhd_conn_event_loop_state_update
    - mhd_UNREACHABLE
    - mhd_stream_switch_to_rq_headers_proc
    - process_http_comm_layer
    - mhd_upgrade_finish_switch_to_upgraded
    - mhd_conn_mark_unready
    - mhd_conn_start_closing_skt_err
    - mhd_stream_build_header_response
    - mhd_stream_process_request_body
    - mhd_upgrade_try_start_upgrading
    - mhd_stream_call_dcc_cleanup_if_needed
    - mhd_conn_start_closing_d_shutdown
    - mhd_stream_get_request_line
    - mhd_h2_conn_process_data
    - mhd_C_IS_HTTP2
    - mhd_assert
    - mhd_stream_prep_chunked_body
    linkageType: ''
    returnType: MHD_INTERNAL
    signature: MHD_INTERNAL mhd_conn_process_data (struct MHD_Connection *restrict
      c)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: mhd_CNTNR_PTR
      Src: /src/mhd2/src/mhd2/request_resume.c:63,1
    - Dst: fprintf
      Src: /src/mhd2/src/mhd2/request_resume.c:71,1
    - Dst: fprintf
      Src: /src/mhd2/src/mhd2/request_resume.c:80,1
    - Dst: mhd_daemon_trigger_itc
      Src: /src/mhd2/src/mhd2/request_resume.c:85,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 9
    argCount: 1
    argNames:
    - request
    argTypes:
    - struct MHD_Request*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 86
      start: 60
    functionDepth: 1
    functionLinenumber: 60
    functionLinenumberEnd: 86
    functionName: MHD_request_resume
    functionSourceFile: /src/mhd2/src/mhd2/request_resume.c
    functionUses: 0
    functionsReached:
    - mhd_daemon_trigger_itc
    - mhd_CNTNR_PTR
    - fprintf
    linkageType: ''
    returnType: MHD_EXTERN_
    signature: MHD_EXTERN_ MHD_request_resume (struct MHD_Request *request)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - arr
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 54
      start: 53
    functionDepth: 0
    functionLinenumber: 53
    functionLinenumberEnd: 54
    functionName: mhd_ARR_NUM_ELEMS
    functionSourceFile: /src/mhd2/src/mhd2/mhd_arr_num_elems.h
    functionUses: 6
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: mhd_ARR_NUM_ELEMS(arr)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - daemon
    - ','
    - sc
    - ','
    - msg
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 81
      start: 80
    functionDepth: 0
    functionLinenumber: 80
    functionLinenumberEnd: 81
    functionName: mhd_LOG_MSG
    functionSourceFile: /src/mhd2/src/mhd2/daemon_logger.h
    functionUses: 62
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: mhd_LOG_MSG(daemon, sc, msg)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - msg
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 89
      start: 88
    functionDepth: 0
    functionLinenumber: 88
    functionLinenumberEnd: 89
    functionName: mhd_MSG4LOG
    functionSourceFile: /src/mhd2/src/mhd2/daemon_logger.h
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: mhd_MSG4LOG(msg)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - format_string
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 104
      start: 103
    functionDepth: 0
    functionLinenumber: 103
    functionLinenumberEnd: 104
    functionName: mhd_LOG_FMT
    functionSourceFile: /src/mhd2/src/mhd2/daemon_logger.h
    functionUses: 9
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: mhd_LOG_FMT(format_string)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - daemon
    - ','
    - sc
    - ','
    - msg
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 121
      start: 120
    functionDepth: 0
    functionLinenumber: 120
    functionLinenumberEnd: 121
    functionName: mhd_LOG_MSG
    functionSourceFile: /src/mhd2/src/mhd2/daemon_logger.h
    functionUses: 62
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: mhd_LOG_MSG(daemon, sc, msg)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 9
    argNames:
    - (
    - daemon
    - ','
    - sc
    - ','
    - fm
    - ','
    - '...'
    - )
    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: mhd_LOG_PRINT
    functionSourceFile: /src/mhd2/src/mhd2/daemon_logger.h
    functionUses: 9
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: mhd_LOG_PRINT(daemon, sc, fm, ...)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 3
    argNames:
    - daemon
    - sc
    - fm
    argTypes:
    - struct MHD_Daemon*
    - enum MHD_StatusCode
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 149
      start: 140
    functionDepth: 0
    functionLinenumber: 140
    functionLinenumberEnd: 149
    functionName: mhd_LOG_PRINT
    functionSourceFile: /src/mhd2/src/mhd2/daemon_logger.h
    functionUses: 9
    functionsReached: []
    linkageType: ''
    returnType: mhd_static_inline
    signature: "mhd_static_inline mhd_LOG_PRINT (struct MHD_Daemon *daemon,\n               enum
      MHD_StatusCode sc,\n               const char *fm,\n               ...)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - daemon
    - ','
    - sc
    - ','
    - msg
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 160
      start: 159
    functionDepth: 0
    functionLinenumber: 159
    functionLinenumberEnd: 160
    functionName: mhd_LOG_MSG
    functionSourceFile: /src/mhd2/src/mhd2/daemon_logger.h
    functionUses: 62
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: mhd_LOG_MSG(daemon, sc, msg)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - msg
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 170
      start: 169
    functionDepth: 0
    functionLinenumber: 169
    functionLinenumberEnd: 170
    functionName: mhd_MSG4LOG
    functionSourceFile: /src/mhd2/src/mhd2/daemon_logger.h
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: mhd_MSG4LOG(msg)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - format_string
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 176
      start: 175
    functionDepth: 0
    functionLinenumber: 175
    functionLinenumberEnd: 176
    functionName: mhd_LOG_FMT
    functionSourceFile: /src/mhd2/src/mhd2/daemon_logger.h
    functionUses: 9
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: mhd_LOG_FMT(format_string)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - strct
    - ','
    - membr
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 58
      start: 56
    functionDepth: 0
    functionLinenumber: 56
    functionLinenumberEnd: 58
    functionName: offsetof
    functionSourceFile: /src/mhd2/src/mhd2/sys_offsetof.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: offsetof(strct, membr)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: mhd_LOG_MSG
      Src: /src/mhd2/src/mhd2/extr_events_funcs.c:55,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - d
    argTypes:
    - struct MHD_Daemon*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 59
      start: 52
    functionDepth: 1
    functionLinenumber: 52
    functionLinenumberEnd: 59
    functionName: mhd_log_extr_event_dereg_failed
    functionSourceFile: /src/mhd2/src/mhd2/extr_events_funcs.c
    functionUses: 1
    functionsReached:
    - mhd_LOG_MSG
    linkageType: ''
    returnType: MHD_INTERNAL
    signature: MHD_INTERNAL mhd_log_extr_event_dereg_failed (struct MHD_Daemon *restrict
      d)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/respond_with_error.c:80,1
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/respond_with_error.c:81,1
    - Dst: mhd_daemon_free_lbuf
      Src: /src/mhd2/src/mhd2/respond_with_error.c:86,1
    - Dst: mhd_DLINKEDL_INIT_LIST
      Src: /src/mhd2/src/mhd2/respond_with_error.c:94,1
    - Dst: mhd_pool_deallocate
      Src: /src/mhd2/src/mhd2/respond_with_error.c:102,1
    - Dst: mhd_LOG_PRINT
      Src: /src/mhd2/src/mhd2/respond_with_error.c:117,1
    - Dst: mhd_LOG_FMT
      Src: /src/mhd2/src/mhd2/respond_with_error.c:119,1
    - Dst: mhd_response_dec_use_count
      Src: /src/mhd2/src/mhd2/respond_with_error.c:126,1
    - Dst: mhd_response_special_for_error
      Src: /src/mhd2/src/mhd2/respond_with_error.c:129,1
    - Dst: free
      Src: /src/mhd2/src/mhd2/respond_with_error.c:137,1
    - Dst: mhd_STREAM_ABORT
      Src: /src/mhd2/src/mhd2/respond_with_error.c:138,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 40
    argCount: 6
    argNames:
    - c
    - http_code
    - msg_len
    - msg
    - add_hdr_line_len
    - add_hdr_line
    argTypes:
    - struct MHD_Connection*
    - unsigned int
    - size_t
    - char*
    - size_t
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 145
      start: 70
    functionDepth: 4
    functionLinenumber: 70
    functionLinenumberEnd: 145
    functionName: respond_with_error_len
    functionSourceFile: /src/mhd2/src/mhd2/respond_with_error.c
    functionUses: 0
    functionsReached:
    - mhd_pool_deallocate
    - mhd_LOG_FMT
    - mhd_LOG_PRINT
    - mhd_STREAM_ABORT
    - mhd_daemon_free_lbuf
    - mhd_DLINKEDL_INIT_LIST
    - free
    - mhd_response_dec_use_count
    - mhd_assert
    - mhd_response_special_for_error
    linkageType: ''
    returnType: void
    signature: "void respond_with_error_len (struct MHD_Connection *c,\n                        unsigned
      int http_code,\n                        size_t msg_len,\n                        const
      char *msg,\n                        size_t add_hdr_line_len,\n                        char
      *add_hdr_line)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - m
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 188
      start: 187
    functionDepth: 0
    functionLinenumber: 187
    functionLinenumberEnd: 188
    functionName: STATUSES_BLOCK
    functionSourceFile: /src/mhd2/src/mhd2/http_status_str.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: STATUSES_BLOCK(m)
  - BBCount: 5
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 11
    argCount: 1
    argNames:
    - code
    argTypes:
    - enum MHD_HTTP_StatusCode
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 213
      start: 198
    functionDepth: 0
    functionLinenumber: 198
    functionLinenumberEnd: 213
    functionName: MHD_HTTP_status_code_to_string
    functionSourceFile: /src/mhd2/src/mhd2/http_status_str.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: struct MHD_String
    signature: 'struct MHD_String *

      MHD_HTTP_status_code_to_string (enum MHD_HTTP_StatusCode code)'
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: mhd_MSTR_INIT
      Src: /src/mhd2/src/mhd2/http_status_str.c:220,1
    - Dst: MHD_HTTP_status_code_to_string
      Src: /src/mhd2/src/mhd2/http_status_str.c:223,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - code
    argTypes:
    - uint_fast16_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 228
      start: 216
    functionDepth: 1
    functionLinenumber: 216
    functionLinenumberEnd: 228
    functionName: mhd_HTTP_status_code_to_string_int
    functionSourceFile: /src/mhd2/src/mhd2/http_status_str.c
    functionUses: 1
    functionsReached:
    - MHD_HTTP_status_code_to_string
    - mhd_MSTR_INIT
    linkageType: ''
    returnType: struct MHD_String
    signature: 'struct MHD_String *

      mhd_HTTP_status_code_to_string_int (uint_fast16_t code)'
  - BBCount: 13
    BranchProfiles: []
    Callsites:
    - Dst: mhd_T_IS_NOT_YES
      Src: /src/mhd2/src/mhd2/conn_get_info.c:74,1
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/conn_get_info.c:79,1
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/conn_get_info.c:89,1
    - Dst: mhd_daemon_get_master_daemon
      Src: /src/mhd2/src/mhd2/conn_get_info.c:95,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 35
    argCount: 4
    argNames:
    - MHD_RESTRICT
    - info_type
    - MHD_RESTRICT
    - output_buf_size
    argTypes:
    - struct MHD_Connection*
    - enum MHD_ConnectionInfoFixedType
    - union MHD_ConnectionInfoFixedData*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 108
      start: 62
    functionDepth: 2
    functionLinenumber: 62
    functionLinenumberEnd: 108
    functionName: MHD_connection_get_info_fixed_sz
    functionSourceFile: /src/mhd2/src/mhd2/conn_get_info.c
    functionUses: 0
    functionsReached:
    - mhd_daemon_get_master_daemon
    - mhd_assert
    - mhd_T_IS_NOT_YES
    linkageType: ''
    returnType: enum MHD_StatusCode
    signature: "enum MHD_StatusCode MHD_connection_get_info_fixed_sz (\n  struct MHD_Connection
      *MHD_RESTRICT connection,\n  enum MHD_ConnectionInfoFixedType info_type,\n  union
      MHD_ConnectionInfoFixedData *MHD_RESTRICT output_buf,\n  size_t output_buf_size)"
  - BBCount: 19
    BranchProfiles: []
    Callsites:
    - Dst: mhd_C_HAS_TLS
      Src: /src/mhd2/src/mhd2/conn_get_info.c:156,1
    - Dst: mhd_tls_conn_get_tls_ver
      Src: /src/mhd2/src/mhd2/conn_get_info.c:162,1
    - Dst: mhd_UNREACHABLE
      Src: /src/mhd2/src/mhd2/conn_get_info.c:167,1
    - Dst: mhd_C_HAS_TLS
      Src: /src/mhd2/src/mhd2/conn_get_info.c:172,1
    - Dst: mhd_UNREACHABLE
      Src: /src/mhd2/src/mhd2/conn_get_info.c:177,1
    - Dst: mhd_tls_conn_get_tls_sess
      Src: /src/mhd2/src/mhd2/conn_get_info.c:180,1
    CyclomaticComplexity: 15
    EdgeCount: 15
    ICount: 50
    argCount: 4
    argNames:
    - MHD_RESTRICT
    - info_type
    - MHD_RESTRICT
    - output_buf_size
    argTypes:
    - struct MHD_Connection*
    - enum MHD_ConnectionInfoDynamicType
    - union MHD_ConnectionInfoDynamicData*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 188
      start: 113
    functionDepth: 1
    functionLinenumber: 113
    functionLinenumberEnd: 188
    functionName: MHD_connection_get_info_dynamic_sz
    functionSourceFile: /src/mhd2/src/mhd2/conn_get_info.c
    functionUses: 0
    functionsReached:
    - mhd_C_HAS_TLS
    - mhd_tls_conn_get_tls_ver
    - mhd_UNREACHABLE
    - mhd_tls_conn_get_tls_sess
    linkageType: ''
    returnType: enum MHD_StatusCode
    signature: "enum MHD_StatusCode MHD_connection_get_info_dynamic_sz (\n  struct
      MHD_Connection *MHD_RESTRICT connection,\n  enum MHD_ConnectionInfoDynamicType
      info_type,\n  union MHD_ConnectionInfoDynamicData *MHD_RESTRICT output_buf,\n
      \ size_t output_buf_size)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: mhd_socket_nonblocking
      Src: /src/mhd2/src/mhd2/mhd_itc.c:58,1
    - Dst: mhd_socket_nonblocking
      Src: /src/mhd2/src/mhd2/mhd_itc.c:59,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 1
    argNames:
    - pitc
    argTypes:
    - struct mhd_itc*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 60
      start: 55
    functionDepth: 1
    functionLinenumber: 55
    functionLinenumberEnd: 60
    functionName: mhd_itc_nonblocking
    functionSourceFile: /src/mhd2/src/mhd2/mhd_itc.c
    functionUses: 0
    functionsReached:
    - mhd_socket_nonblocking
    linkageType: ''
    returnType: MHD_INTERNAL
    signature: MHD_INTERNAL mhd_itc_nonblocking (struct mhd_itc *pitc)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: UINT64_C
      Src: /src/mhd2/src/mhd2/auth_digest.c:227,1
    - Dst: UINT64_C
      Src: /src/mhd2/src/mhd2/auth_digest.c:228,1
    - Dst: UINT64_C
      Src: /src/mhd2/src/mhd2/auth_digest.c:229,1
    - Dst: UINT64_C
      Src: /src/mhd2/src/mhd2/auth_digest.c:230,1
    - Dst: UINT64_C
      Src: /src/mhd2/src/mhd2/auth_digest.c:231,1
    - Dst: UINT64_C
      Src: /src/mhd2/src/mhd2/auth_digest.c:236,1
    - Dst: memcpy
      Src: /src/mhd2/src/mhd2/auth_digest.c:243,1
    - Dst: memcpy
      Src: /src/mhd2/src/mhd2/auth_digest.c:245,1
    - Dst: mhd_ARR_NUM_ELEMS
      Src: /src/mhd2/src/mhd2/auth_digest.c:246,1
    - Dst: mhd_ROTR64
      Src: /src/mhd2/src/mhd2/auth_digest.c:247,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 16
    argCount: 2
    argNames:
    - data_size
    - data
    argTypes:
    - size_t
    - uint8_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 256
      start: 222
    functionDepth: 1
    functionLinenumber: 222
    functionLinenumberEnd: 256
    functionName: simple_hash
    functionSourceFile: /src/mhd2/src/mhd2/auth_digest.c
    functionUses: 0
    functionsReached:
    - mhd_ROTR64
    - mhd_ARR_NUM_ELEMS
    - memcpy
    - UINT64_C
    linkageType: ''
    returnType: uint_fast64_t
    signature: "uint_fast64_t simple_hash (size_t data_size,\n             const uint8_t
      *restrict data)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: simple_hash
      Src: /src/mhd2/src/mhd2/auth_digest.c:270,1
    - Dst: UINT32_C
      Src: /src/mhd2/src/mhd2/auth_digest.c:272,1
    - Dst: UINT32_C
      Src: /src/mhd2/src/mhd2/auth_digest.c:274,1
    - Dst: UINT16_C
      Src: /src/mhd2/src/mhd2/auth_digest.c:275,1
    - Dst: UINT16_C
      Src: /src/mhd2/src/mhd2/auth_digest.c:277,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 11
    argCount: 2
    argNames:
    - nonce
    - arr_size
    argTypes:
    - uint8_t[]
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 283
      start: 265
    functionDepth: 2
    functionLinenumber: 265
    functionLinenumberEnd: 283
    functionName: nonce_to_index
    functionSourceFile: /src/mhd2/src/mhd2/auth_digest.c
    functionUses: 0
    functionsReached:
    - UINT32_C
    - simple_hash
    - UINT16_C
    linkageType: ''
    returnType: MHD_FN_PAR_NONNULL_ALL_
    signature: "MHD_FN_PAR_NONNULL_ALL_ nonce_to_index (const uint8_t nonce[mhd_AUTH_DIGEST_NONCE_BIN_SIZE],\n
      \               size_t arr_size)"
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/auth_digest.c:309,1
    - Dst: mhd_D_HAS_MASTER
      Src: /src/mhd2/src/mhd2/auth_digest.c:309,1
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/auth_digest.c:310,1
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/auth_digest.c:311,1
    - Dst: mhd_monotonic_msec_counter
      Src: /src/mhd2/src/mhd2/auth_digest.c:313,1
    - Dst: mhd_rng
      Src: /src/mhd2/src/mhd2/auth_digest.c:316,1
    - Dst: mhd_atomic_counter_get_inc_wrap
      Src: /src/mhd2/src/mhd2/auth_digest.c:325,1
    - Dst: mhd_SHA512_256_init
      Src: /src/mhd2/src/mhd2/auth_digest.c:328,1
    - Dst: mhd_SHA512_256_update
      Src: /src/mhd2/src/mhd2/auth_digest.c:329,1
    - Dst: mhd_SHA512_256_update
      Src: /src/mhd2/src/mhd2/auth_digest.c:332,1
    - Dst: mhd_SHA512_256_update
      Src: /src/mhd2/src/mhd2/auth_digest.c:336,1
    - Dst: mhd_SHA512_256_update
      Src: /src/mhd2/src/mhd2/auth_digest.c:339,1
    - Dst: mhd_SHA512_256_finish_deinit
      Src: /src/mhd2/src/mhd2/auth_digest.c:342,1
    - Dst: mhd_SHA512_256_has_err
      Src: /src/mhd2/src/mhd2/auth_digest.c:344,1
    - Dst: mhd_SHA256_init
      Src: /src/mhd2/src/mhd2/auth_digest.c:347,1
    - Dst: mhd_SHA256_update
      Src: /src/mhd2/src/mhd2/auth_digest.c:348,1
    - Dst: mhd_SHA256_update
      Src: /src/mhd2/src/mhd2/auth_digest.c:351,1
    - Dst: mhd_SHA256_update
      Src: /src/mhd2/src/mhd2/auth_digest.c:355,1
    - Dst: mhd_SHA256_update
      Src: /src/mhd2/src/mhd2/auth_digest.c:358,1
    - Dst: mhd_SHA256_finish_deinit
      Src: /src/mhd2/src/mhd2/auth_digest.c:361,1
    - Dst: mhd_SHA256_has_err
      Src: /src/mhd2/src/mhd2/auth_digest.c:363,1
    - Dst: mhd_MD5_init
      Src: /src/mhd2/src/mhd2/auth_digest.c:369,1
    - Dst: mhd_MD5_update
      Src: /src/mhd2/src/mhd2/auth_digest.c:370,1
    - Dst: mhd_MD5_update
      Src: /src/mhd2/src/mhd2/auth_digest.c:373,1
    - Dst: mhd_MD5_update
      Src: /src/mhd2/src/mhd2/auth_digest.c:377,1
    - Dst: mhd_MD5_update
      Src: /src/mhd2/src/mhd2/auth_digest.c:380,1
    - Dst: mhd_MD5_finish_deinit
      Src: /src/mhd2/src/mhd2/auth_digest.c:383,1
    - Dst: mhd_MD5_has_err
      Src: /src/mhd2/src/mhd2/auth_digest.c:385,1
    - Dst: mhd_atomic_counter_get_inc_wrap
      Src: /src/mhd2/src/mhd2/auth_digest.c:389,1
    - Dst: mhd_MD5_init
      Src: /src/mhd2/src/mhd2/auth_digest.c:391,1
    - Dst: mhd_MD5_update
      Src: /src/mhd2/src/mhd2/auth_digest.c:392,1
    - Dst: mhd_MD5_update
      Src: /src/mhd2/src/mhd2/auth_digest.c:395,1
    - Dst: mhd_MD5_update
      Src: /src/mhd2/src/mhd2/auth_digest.c:399,1
    - Dst: mhd_MD5_update
      Src: /src/mhd2/src/mhd2/auth_digest.c:402,1
    - Dst: mhd_MD5_finish_deinit
      Src: /src/mhd2/src/mhd2/auth_digest.c:405,1
    - Dst: mhd_MD5_has_err
      Src: /src/mhd2/src/mhd2/auth_digest.c:407,1
    - Dst: mhd_PUT_32BIT_LE_UNALIGN
      Src: /src/mhd2/src/mhd2/auth_digest.c:414,1
    - Dst: UINT32_C
      Src: /src/mhd2/src/mhd2/auth_digest.c:415,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 48
    argCount: 4
    argNames:
    - d
    - c
    - out_buf
    - expir
    argTypes:
    - struct MHD_Daemon*
    - struct MHD_Connection*
    - uint8_t[]
    - uint_fast32_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 418
      start: 301
    functionDepth: 2
    functionLinenumber: 301
    functionLinenumberEnd: 418
    functionName: gen_new_nonce
    functionSourceFile: /src/mhd2/src/mhd2/auth_digest.c
    functionUses: 0
    functionsReached:
    - mhd_MD5_init
    - mhd_SHA512_256_has_err
    - mhd_SHA512_256_finish_deinit
    - mhd_D_HAS_MASTER
    - UINT32_C
    - mhd_SHA256_has_err
    - mhd_monotonic_msec_counter
    - mhd_MD5_update
    - mhd_SHA512_256_init
    - mhd_MD5_has_err
    - mhd_SHA256_init
    - mhd_MD5_finish_deinit
    - mhd_atomic_counter_get_inc_wrap
    - mhd_SHA512_256_update
    - mhd_rng
    - mhd_SHA256_update
    - mhd_PUT_32BIT_LE_UNALIGN
    - mhd_SHA256_finish_deinit
    - mhd_assert
    linkageType: ''
    returnType: bool
    signature: "bool gen_new_nonce (struct MHD_Daemon *restrict d,\n               struct
      MHD_Connection *restrict c,\n               uint8_t out_buf[mhd_AUTH_DIGEST_NONCE_BIN_SIZE],\n
      \              uint_fast32_t *restrict expir)"
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: mhd_daemon_get_master_daemon
      Src: /src/mhd2/src/mhd2/auth_digest.c:427,1
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/auth_digest.c:433,1
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/auth_digest.c:434,1
    - Dst: gen_new_nonce
      Src: /src/mhd2/src/mhd2/auth_digest.c:441,1
    - Dst: nonce_to_index
      Src: /src/mhd2/src/mhd2/auth_digest.c:449,1
    - Dst: mhd_mutex_lock
      Src: /src/mhd2/src/mhd2/auth_digest.c:451,1
    - Dst: memcmp
      Src: /src/mhd2/src/mhd2/auth_digest.c:454,1
    - Dst: memcpy
      Src: /src/mhd2/src/mhd2/auth_digest.c:459,1
    - Dst: mhd_mutex_unlock_chk
      Src: /src/mhd2/src/mhd2/auth_digest.c:472,1
    - Dst: mhd_bin_to_hex
      Src: /src/mhd2/src/mhd2/auth_digest.c:482,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 28
    argCount: 2
    argNames:
    - c
    - out_buf
    argTypes:
    - struct MHD_Connection*
    - char[]
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 486
      start: 422
    functionDepth: 3
    functionLinenumber: 422
    functionLinenumberEnd: 486
    functionName: mhd_auth_digest_get_new_nonce
    functionSourceFile: /src/mhd2/src/mhd2/auth_digest.c
    functionUses: 1
    functionsReached:
    - nonce_to_index
    - mhd_daemon_get_master_daemon
    - mhd_mutex_lock
    - mhd_bin_to_hex
    - memcpy
    - mhd_mutex_unlock_chk
    - gen_new_nonce
    - mhd_assert
    - memcmp
    linkageType: ''
    returnType: bool
    signature: "bool mhd_auth_digest_get_new_nonce (struct MHD_Connection *restrict
      c,\n                               char out_buf[mhd_AUTH_DIGEST_NONCE_LEN])"
  - BBCount: 15
    BranchProfiles: []
    Callsites:
    - Dst: mhd_str_equal_caseless_quoted_s_bin_n
      Src: /src/mhd2/src/mhd2/auth_digest.c:503,1
    - Dst: mhd_str_equal_caseless_quoted_s_bin_n
      Src: /src/mhd2/src/mhd2/auth_digest.c:507,1
    - Dst: mhd_str_equal_caseless_quoted_s_bin_n
      Src: /src/mhd2/src/mhd2/auth_digest.c:511,1
    - Dst: mhd_str_equal_caseless_quoted_s_bin_n
      Src: /src/mhd2/src/mhd2/auth_digest.c:518,1
    - Dst: mhd_str_equal_caseless_quoted_s_bin_n
      Src: /src/mhd2/src/mhd2/auth_digest.c:522,1
    - Dst: mhd_str_equal_caseless_quoted_s_bin_n
      Src: /src/mhd2/src/mhd2/auth_digest.c:527,1
    - Dst: mhd_str_equal_caseless_n_st
      Src: /src/mhd2/src/mhd2/auth_digest.c:537,1
    - Dst: mhd_str_equal_caseless_n_st
      Src: /src/mhd2/src/mhd2/auth_digest.c:541,1
    - Dst: mhd_str_equal_caseless_n_st
      Src: /src/mhd2/src/mhd2/auth_digest.c:545,1
    - Dst: mhd_str_equal_caseless_n_st
      Src: /src/mhd2/src/mhd2/auth_digest.c:552,1
    - Dst: mhd_str_equal_caseless_n_st
      Src: /src/mhd2/src/mhd2/auth_digest.c:556,1
    - Dst: mhd_str_equal_caseless_n_st
      Src: /src/mhd2/src/mhd2/auth_digest.c:560,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 31
    argCount: 1
    argNames:
    - algo_param
    argTypes:
    - struct mhd_RqDAuthParam*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 567
      start: 495
    functionDepth: 1
    functionLinenumber: 495
    functionLinenumberEnd: 567
    functionName: get_rq_dauth_algo
    functionSourceFile: /src/mhd2/src/mhd2/auth_digest.c
    functionUses: 0
    functionsReached:
    - mhd_str_equal_caseless_n_st
    - mhd_str_equal_caseless_quoted_s_bin_n
    linkageType: ''
    returnType: enum MHD_DigestAuthAlgo
    signature: enum MHD_DigestAuthAlgo get_rq_dauth_algo (const struct mhd_RqDAuthParam
      *const algo_param)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: mhd_str_equal_caseless_quoted_s_bin_n
      Src: /src/mhd2/src/mhd2/auth_digest.c:582,1
    - Dst: mhd_str_equal_caseless_quoted_s_bin_n
      Src: /src/mhd2/src/mhd2/auth_digest.c:586,1
    - Dst: mhd_str_equal_caseless_n_st
      Src: /src/mhd2/src/mhd2/auth_digest.c:593,1
    - Dst: mhd_str_equal_caseless_n_st
      Src: /src/mhd2/src/mhd2/auth_digest.c:597,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 15
    argCount: 1
    argNames:
    - qop_param
    argTypes:
    - struct mhd_RqDAuthParam*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 604
      start: 575
    functionDepth: 1
    functionLinenumber: 575
    functionLinenumberEnd: 604
    functionName: get_rq_dauth_qop
    functionSourceFile: /src/mhd2/src/mhd2/auth_digest.c
    functionUses: 0
    functionsReached:
    - mhd_str_equal_caseless_n_st
    - mhd_str_equal_caseless_quoted_s_bin_n
    linkageType: ''
    returnType: enum MHD_DigestAuthQOP
    signature: enum MHD_DigestAuthQOP get_rq_dauth_qop (const struct mhd_RqDAuthParam
      *const qop_param)
  - BBCount: 21
    BranchProfiles: []
    Callsites:
    - Dst: mhd_MSTR_INIT
      Src: /src/mhd2/src/mhd2/auth_digest.c:621,1
    - Dst: mhd_MSTR_INIT
      Src: /src/mhd2/src/mhd2/auth_digest.c:622,1
    - Dst: mhd_MSTR_INIT
      Src: /src/mhd2/src/mhd2/auth_digest.c:623,1
    - Dst: mhd_MSTR_INIT
      Src: /src/mhd2/src/mhd2/auth_digest.c:624,1
    - Dst: mhd_MSTR_INIT
      Src: /src/mhd2/src/mhd2/auth_digest.c:625,1
    - Dst: mhd_MSTR_INIT
      Src: /src/mhd2/src/mhd2/auth_digest.c:626,1
    - Dst: mhd_MSTR_INIT
      Src: /src/mhd2/src/mhd2/auth_digest.c:627,1
    - Dst: mhd_MSTR_INIT
      Src: /src/mhd2/src/mhd2/auth_digest.c:628,1
    - Dst: mhd_MSTR_INIT
      Src: /src/mhd2/src/mhd2/auth_digest.c:629,1
    - Dst: mhd_MSTR_INIT
      Src: /src/mhd2/src/mhd2/auth_digest.c:630,1
    - Dst: mhd_MSTR_INIT
      Src: /src/mhd2/src/mhd2/auth_digest.c:631,1
    - Dst: mhd_MSTR_INIT
      Src: /src/mhd2/src/mhd2/auth_digest.c:632,1
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/auth_digest.c:672,1
    - Dst: mhd_ARR_NUM_ELEMS
      Src: /src/mhd2/src/mhd2/auth_digest.c:672,1
    - Dst: mhd_ARR_NUM_ELEMS
      Src: /src/mhd2/src/mhd2/auth_digest.c:673,1
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/auth_digest.c:676,1
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/auth_digest.c:677,1
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/auth_digest.c:682,1
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/auth_digest.c:683,1
    - Dst: mhd_ARR_NUM_ELEMS
      Src: /src/mhd2/src/mhd2/auth_digest.c:688,1
    - Dst: mhd_str_equal_caseless_bin_n
      Src: /src/mhd2/src/mhd2/auth_digest.c:693,1
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/auth_digest.c:737,1
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/auth_digest.c:763,1
    - Dst: mhd_ARR_NUM_ELEMS
      Src: /src/mhd2/src/mhd2/auth_digest.c:771,1
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/auth_digest.c:791,1
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/auth_digest.c:796,1
    - Dst: mhd_str_equal_caseless_quoted_s_bin_n
      Src: /src/mhd2/src/mhd2/auth_digest.c:810,1
    - Dst: mhd_str_equal_caseless_n_st
      Src: /src/mhd2/src/mhd2/auth_digest.c:815,1
    - Dst: get_rq_dauth_algo
      Src: /src/mhd2/src/mhd2/auth_digest.c:822,1
    - Dst: get_rq_dauth_qop
      Src: /src/mhd2/src/mhd2/auth_digest.c:823,1
    CyclomaticComplexity: 59
    EdgeCount: 59
    ICount: 110
    argCount: 2
    argNames:
    - val
    - pdauth
    argTypes:
    - struct MHD_String*
    - struct mhd_AuthDigesReqParams*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 826
      start: 616
    functionDepth: 3
    functionLinenumber: 616
    functionLinenumberEnd: 826
    functionName: parse_dauth_params
    functionSourceFile: /src/mhd2/src/mhd2/auth_digest.c
    functionUses: 0
    functionsReached:
    - mhd_str_equal_caseless_bin_n
    - mhd_str_equal_caseless_n_st
    - mhd_str_equal_caseless_quoted_s_bin_n
    - get_rq_dauth_qop
    - mhd_ARR_NUM_ELEMS
    - mhd_MSTR_INIT
    - mhd_assert
    - get_rq_dauth_algo
    linkageType: ''
    returnType: bool
    signature: "bool parse_dauth_params (const struct MHD_String *restrict val,\n
      \                   struct mhd_AuthDigesReqParams *restrict pdauth)"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/auth_digest.c:847,1
    - Dst: mhd_CNTNR_CPTR
      Src: /src/mhd2/src/mhd2/auth_digest.c:848,1
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/auth_digest.c:849,1
    - Dst: mhd_CNTNR_CPTR
      Src: /src/mhd2/src/mhd2/auth_digest.c:850,1
    - Dst: mhd_request_get_auth_header_value
      Src: /src/mhd2/src/mhd2/auth_digest.c:855,1
    - Dst: mhd_stream_alloc_memory
      Src: /src/mhd2/src/mhd2/auth_digest.c:862,1
    - Dst: mhd_CNTNR_PTR
      Src: /src/mhd2/src/mhd2/auth_digest.c:862,1
    - Dst: memset
      Src: /src/mhd2/src/mhd2/auth_digest.c:870,1
    - Dst: parse_dauth_params
      Src: /src/mhd2/src/mhd2/auth_digest.c:871,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 15
    argCount: 1
    argNames:
    - req
    argTypes:
    - struct MHD_Request*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 878
      start: 841
    functionDepth: 4
    functionLinenumber: 841
    functionLinenumberEnd: 878
    functionName: get_rq_auth_digest_params
    functionSourceFile: /src/mhd2/src/mhd2/auth_digest.c
    functionUses: 0
    functionsReached:
    - parse_dauth_params
    - memset
    - mhd_stream_alloc_memory
    - mhd_CNTNR_PTR
    - mhd_request_get_auth_header_value
    - mhd_assert
    - mhd_CNTNR_CPTR
    linkageType: ''
    returnType: MHD_FN_PAR_NONNULL_ALL_
    signature: MHD_FN_PAR_NONNULL_ALL_ get_rq_auth_digest_params (struct MHD_Request
      *restrict req)
  - BBCount: 5
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 12
    argCount: 1
    argNames:
    - params
    argTypes:
    - struct mhd_AuthDigesReqParams*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 910
      start: 888
    functionDepth: 0
    functionLinenumber: 888
    functionLinenumberEnd: 910
    functionName: get_rq_uname_type
    functionSourceFile: /src/mhd2/src/mhd2/auth_digest.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: mhd_static_inline
    signature: mhd_static_inline get_rq_uname_type (const struct mhd_AuthDigesReqParams
      *params)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/auth_digest.c:926,1
    - Dst: get_rq_uname_type
      Src: /src/mhd2/src/mhd2/auth_digest.c:926,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 11
    argCount: 2
    argNames:
    - params
    - uname_type
    argTypes:
    - struct mhd_AuthDigesReqParams*
    - enum MHD_DigestAuthUsernameType
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 939
      start: 920
    functionDepth: 1
    functionLinenumber: 920
    functionLinenumberEnd: 939
    functionName: get_rq_unames_size
    functionSourceFile: /src/mhd2/src/mhd2/auth_digest.c
    functionUses: 0
    functionsReached:
    - mhd_assert
    - get_rq_uname_type
    linkageType: ''
    returnType: mhd_static_inline
    signature: "mhd_static_inline get_rq_unames_size (const struct mhd_AuthDigesReqParams
      *params,\n                    enum MHD_DigestAuthUsernameType uname_type)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/auth_digest.c:956,1
    - Dst: memcpy
      Src: /src/mhd2/src/mhd2/auth_digest.c:959,1
    - Dst: mhd_str_unquote
      Src: /src/mhd2/src/mhd2/auth_digest.c:964,1
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/auth_digest.c:965,1
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/auth_digest.c:966,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 12
    argCount: 2
    argNames:
    - param
    - buf
    argTypes:
    - struct mhd_RqDAuthParam*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 969
      start: 951
    functionDepth: 1
    functionLinenumber: 951
    functionLinenumberEnd: 969
    functionName: get_rq_param_unquoted_copy_z
    functionSourceFile: /src/mhd2/src/mhd2/auth_digest.c
    functionUses: 0
    functionsReached:
    - mhd_assert
    - mhd_str_unquote
    - memcpy
    linkageType: ''
    returnType: size_t
    signature: "size_t get_rq_param_unquoted_copy_z (const struct mhd_RqDAuthParam
      *restrict param,\n                              char *restrict buf)"
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: mhd_str_equal_caseless_bin_n
      Src: /src/mhd2/src/mhd2/auth_digest.c:998,1
    - Dst: mhd_SSTR_LEN
      Src: /src/mhd2/src/mhd2/auth_digest.c:1001,1
    - Dst: mhd_SSTR_LEN
      Src: /src/mhd2/src/mhd2/auth_digest.c:1004,1
    - Dst: mhd_str_pct_decode_strict_n
      Src: /src/mhd2/src/mhd2/auth_digest.c:1018,1
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/auth_digest.c:1023,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 22
    argCount: 4
    argNames:
    - uname_ext
    - uname_ext_len
    - buf
    - buf_size
    argTypes:
    - char*
    - size_t
    - char*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1025
      start: 984
    functionDepth: 3
    functionLinenumber: 984
    functionLinenumberEnd: 1025
    functionName: get_rq_extended_uname_copy_z
    functionSourceFile: /src/mhd2/src/mhd2/auth_digest.c
    functionUses: 0
    functionsReached:
    - mhd_str_pct_decode_strict_n
    - mhd_assert
    - mhd_str_equal_caseless_bin_n
    - mhd_SSTR_LEN
    linkageType: ''
    returnType: ssize_t
    signature: "ssize_t get_rq_extended_uname_copy_z (const char *restrict uname_ext,\n
      \                             size_t uname_ext_len,\n                              char
      *restrict buf,\n                              size_t buf_size)"
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/auth_digest.c:1047,1
    - Dst: get_rq_uname_type
      Src: /src/mhd2/src/mhd2/auth_digest.c:1047,1
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/auth_digest.c:1048,1
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/auth_digest.c:1049,1
    - Dst: get_rq_param_unquoted_copy_z
      Src: /src/mhd2/src/mhd2/auth_digest.c:1062,1
    - Dst: get_rq_param_unquoted_copy_z
      Src: /src/mhd2/src/mhd2/auth_digest.c:1073,1
    - Dst: mhd_hex_to_bin
      Src: /src/mhd2/src/mhd2/auth_digest.c:1077,1
    - Dst: get_rq_extended_uname_copy_z
      Src: /src/mhd2/src/mhd2/auth_digest.c:1097,1
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/auth_digest.c:1113,1
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/auth_digest.c:1116,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 47
    argCount: 5
    argNames:
    - params
    - uname_type
    - uname_info
    - buf
    - buf_size
    argTypes:
    - struct mhd_AuthDigesReqParams*
    - enum MHD_DigestAuthUsernameType
    - struct MHD_AuthDigestInfo*
    - uint8_t*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1118
      start: 1037
    functionDepth: 4
    functionLinenumber: 1037
    functionLinenumberEnd: 1118
    functionName: get_rq_uname
    functionSourceFile: /src/mhd2/src/mhd2/auth_digest.c
    functionUses: 0
    functionsReached:
    - get_rq_param_unquoted_copy_z
    - get_rq_extended_uname_copy_z
    - mhd_assert
    - mhd_hex_to_bin
    - get_rq_uname_type
    linkageType: ''
    returnType: size_t
    signature: "size_t get_rq_uname (const struct mhd_AuthDigesReqParams *restrict
      params,\n              enum MHD_DigestAuthUsernameType uname_type,\n              struct
      MHD_AuthDigestInfo *restrict uname_info,\n              uint8_t *restrict buf,\n
      \             size_t buf_size)"
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: mhd_str_unquote
      Src: /src/mhd2/src/mhd2/auth_digest.c:1168,1
    - Dst: mhd_strx_to_uint64_n
      Src: /src/mhd2/src/mhd2/auth_digest.c:1174,1
    - Dst: UINT64_C
      Src: /src/mhd2/src/mhd2/auth_digest.c:1189,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 28
    argCount: 2
    argNames:
    - params
    - nc
    argTypes:
    - struct mhd_AuthDigesReqParams*
    - uint_fast32_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1193
      start: 1140
    functionDepth: 1
    functionLinenumber: 1140
    functionLinenumberEnd: 1193
    functionName: get_rq_nc
    functionSourceFile: /src/mhd2/src/mhd2/auth_digest.c
    functionUses: 0
    functionsReached:
    - UINT64_C
    - mhd_str_unquote
    - mhd_strx_to_uint64_n
    linkageType: ''
    returnType: enum mhd_GetRqNCResult
    signature: "enum mhd_GetRqNCResult get_rq_nc (const struct mhd_AuthDigesReqParams
      *params,\n           uint_fast32_t *nc)"
  - BBCount: 13
    BranchProfiles: []
    Callsites:
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/auth_digest.c:1208,1
    - Dst: get_rq_auth_digest_params
      Src: /src/mhd2/src/mhd2/auth_digest.c:1210,1
    - Dst: get_rq_uname_type
      Src: /src/mhd2/src/mhd2/auth_digest.c:1216,1
    - Dst: get_rq_unames_size
      Src: /src/mhd2/src/mhd2/auth_digest.c:1218,1
    - Dst: mhd_stream_alloc_memory
      Src: /src/mhd2/src/mhd2/auth_digest.c:1227,1
    - Dst: mhd_CNTNR_PTR
      Src: /src/mhd2/src/mhd2/auth_digest.c:1227,1
    - Dst: memset
      Src: /src/mhd2/src/mhd2/auth_digest.c:1233,1
    - Dst: get_rq_uname
      Src: /src/mhd2/src/mhd2/auth_digest.c:1252,1
    - Dst: get_rq_param_unquoted_copy_z
      Src: /src/mhd2/src/mhd2/auth_digest.c:1262,1
    - Dst: get_rq_param_unquoted_copy_z
      Src: /src/mhd2/src/mhd2/auth_digest.c:1270,1
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/auth_digest.c:1275,1
    - Dst: get_rq_nc
      Src: /src/mhd2/src/mhd2/auth_digest.c:1284,1
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/auth_digest.c:1303,1
    CyclomaticComplexity: 15
    EdgeCount: 15
    ICount: 58
    argCount: 1
    argNames:
    - req
    argTypes:
    - struct MHD_Request*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1311
      start: 1196
    functionDepth: 5
    functionLinenumber: 1196
    functionLinenumberEnd: 1311
    functionName: find_and_parse_auth_digest_info
    functionSourceFile: /src/mhd2/src/mhd2/auth_digest.c
    functionUses: 0
    functionsReached:
    - memset
    - mhd_CNTNR_PTR
    - get_rq_param_unquoted_copy_z
    - get_rq_nc
    - mhd_assert
    - get_rq_unames_size
    - mhd_stream_alloc_memory
    - get_rq_uname
    - get_rq_auth_digest_params
    - get_rq_uname_type
    linkageType: ''
    returnType: MHD_FN_MUST_CHECK_RESULT_
    signature: MHD_FN_MUST_CHECK_RESULT_ find_and_parse_auth_digest_info (struct MHD_Request
      *restrict req)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/auth_digest.c:1320,1
    - Dst: mhd_CNTNR_CPTR
      Src: /src/mhd2/src/mhd2/auth_digest.c:1321,1
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/auth_digest.c:1322,1
    - Dst: mhd_CNTNR_CPTR
      Src: /src/mhd2/src/mhd2/auth_digest.c:1323,1
    - Dst: find_and_parse_auth_digest_info
      Src: /src/mhd2/src/mhd2/auth_digest.c:1329,1
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/auth_digest.c:1334,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 12
    argCount: 2
    argNames:
    - req
    - v_auth_digest_info
    argTypes:
    - struct MHD_Request*
    - struct MHD_AuthDigestInfo**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1338
      start: 1315
    functionDepth: 6
    functionLinenumber: 1315
    functionLinenumberEnd: 1338
    functionName: mhd_request_get_auth_digest_info
    functionSourceFile: /src/mhd2/src/mhd2/auth_digest.c
    functionUses: 1
    functionsReached:
    - mhd_assert
    - find_and_parse_auth_digest_info
    - mhd_CNTNR_CPTR
    linkageType: ''
    returnType: enum MHD_StatusCode
    signature: "enum MHD_StatusCode mhd_request_get_auth_digest_info (\n  struct MHD_Request
      *restrict req,\n  const struct MHD_AuthDigestInfo **restrict v_auth_digest_info)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - algo
    argTypes:
    - enum MHD_DigestAuthAlgo
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1357
      start: 1346
    functionDepth: 0
    functionLinenumber: 1346
    functionLinenumberEnd: 1357
    functionName: get_base_digest_algo
    functionSourceFile: /src/mhd2/src/mhd2/auth_digest.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: mhd_static_inline
    signature: mhd_static_inline get_base_digest_algo (enum MHD_DigestAuthAlgo algo)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/auth_digest.c:1372,1
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/auth_digest.c:1375,1
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/auth_digest.c:1378,1
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/auth_digest.c:1380,1
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/auth_digest.c:1384,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 16
    argCount: 1
    argNames:
    - algo
    argTypes:
    - enum MHD_DigestAuthAlgo
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1417
      start: 1368
    functionDepth: 1
    functionLinenumber: 1368
    functionLinenumberEnd: 1417
    functionName: digest_get_hash_size
    functionSourceFile: /src/mhd2/src/mhd2/auth_digest.c
    functionUses: 3
    functionsReached:
    - mhd_assert
    linkageType: ''
    returnType: mhd_static_inline
    signature: mhd_static_inline digest_get_hash_size (enum MHD_DigestAuthAlgo algo)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: digest_get_hash_size
      Src: /src/mhd2/src/mhd2/auth_digest.c:1437,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - algo
    argTypes:
    - enum MHD_DigestAuthAlgo
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1438
      start: 1434
    functionDepth: 2
    functionLinenumber: 1434
    functionLinenumberEnd: 1438
    functionName: MHD_digest_get_hash_size
    functionSourceFile: /src/mhd2/src/mhd2/auth_digest.c
    functionUses: 3
    functionsReached:
    - digest_get_hash_size
    linkageType: ''
    returnType: MHD_EXTERN_
    signature: MHD_EXTERN_ MHD_digest_get_hash_size (enum MHD_DigestAuthAlgo algo)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/auth_digest.c:1477,1
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/auth_digest.c:1478,1
    - Dst: mhd_UNREACHABLE
      Src: /src/mhd2/src/mhd2/auth_digest.c:1491,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 11
    argCount: 1
    argNames:
    - da
    argTypes:
    - struct DigestAlgorithm*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1493
      start: 1474
    functionDepth: 1
    functionLinenumber: 1474
    functionLinenumberEnd: 1493
    functionName: digest_get_size
    functionSourceFile: /src/mhd2/src/mhd2/auth_digest.c
    functionUses: 0
    functionsReached:
    - mhd_UNREACHABLE
    - mhd_assert
    linkageType: ''
    returnType: mhd_static_inline
    signature: mhd_static_inline digest_get_size (struct DigestAlgorithm *da)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 1
    argNames:
    - da
    argTypes:
    - struct DigestAlgorithm*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1523
      start: 1513
    functionDepth: 0
    functionLinenumber: 1513
    functionLinenumberEnd: 1523
    functionName: digest_setup_zero
    functionSourceFile: /src/mhd2/src/mhd2/auth_digest.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: mhd_static_inline
    signature: mhd_static_inline digest_setup_zero (struct DigestAlgorithm *da)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/auth_digest.c:1538,1
    - Dst: mhd_MD5_deinit
      Src: /src/mhd2/src/mhd2/auth_digest.c:1541,1
    - Dst: mhd_SHA256_deinit
      Src: /src/mhd2/src/mhd2/auth_digest.c:1546,1
    - Dst: mhd_SHA512_256_deinit
      Src: /src/mhd2/src/mhd2/auth_digest.c:1551,1
    - Dst: digest_setup_zero
      Src: /src/mhd2/src/mhd2/auth_digest.c:1555,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 10
    argCount: 1
    argNames:
    - da
    argTypes:
    - struct DigestAlgorithm*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1556
      start: 1535
    functionDepth: 1
    functionLinenumber: 1535
    functionLinenumberEnd: 1556
    functionName: digest_deinit
    functionSourceFile: /src/mhd2/src/mhd2/auth_digest.c
    functionUses: 0
    functionsReached:
    - digest_setup_zero
    - mhd_MD5_deinit
    - mhd_SHA256_deinit
    - mhd_SHA512_256_deinit
    - mhd_assert
    linkageType: ''
    returnType: mhd_static_inline
    signature: mhd_static_inline digest_deinit (struct DigestAlgorithm *da)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - da
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1561
      start: 1560
    functionDepth: 0
    functionLinenumber: 1560
    functionLinenumberEnd: 1561
    functionName: digest_setup_zero
    functionSourceFile: /src/mhd2/src/mhd2/auth_digest.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: digest_setup_zero(da)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - da
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1562
      start: 1561
    functionDepth: 0
    functionLinenumber: 1561
    functionLinenumberEnd: 1562
    functionName: digest_deinit
    functionSourceFile: /src/mhd2/src/mhd2/auth_digest.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: digest_deinit(da)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: mhd_MD5_init
      Src: /src/mhd2/src/mhd2/auth_digest.c:1596,1
    - Dst: mhd_SHA256_init
      Src: /src/mhd2/src/mhd2/auth_digest.c:1610,1
    - Dst: mhd_SHA512_256_init
      Src: /src/mhd2/src/mhd2/auth_digest.c:1624,1
    - Dst: mhd_UNREACHABLE
      Src: /src/mhd2/src/mhd2/auth_digest.c:1634,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 34
    argCount: 2
    argNames:
    - da
    - algo
    argTypes:
    - struct DigestAlgorithm*
    - enum MHD_DigestBaseAlgo
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1639
      start: 1578
    functionDepth: 1
    functionLinenumber: 1578
    functionLinenumberEnd: 1639
    functionName: digest_init_one_time
    functionSourceFile: /src/mhd2/src/mhd2/auth_digest.c
    functionUses: 0
    functionsReached:
    - mhd_SHA512_256_init
    - mhd_SHA256_init
    - mhd_UNREACHABLE
    - mhd_MD5_init
    linkageType: ''
    returnType: mhd_static_inline
    signature: "mhd_static_inline digest_init_one_time (struct DigestAlgorithm *da,\n
      \                     enum MHD_DigestBaseAlgo algo)"
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/auth_digest.c:1654,1
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/auth_digest.c:1655,1
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/auth_digest.c:1656,1
    - Dst: mhd_MD5_update
      Src: /src/mhd2/src/mhd2/auth_digest.c:1661,1
    - Dst: mhd_UNREACHABLE
      Src: /src/mhd2/src/mhd2/auth_digest.c:1665,1
    - Dst: mhd_SHA256_update
      Src: /src/mhd2/src/mhd2/auth_digest.c:1670,1
    - Dst: mhd_UNREACHABLE
      Src: /src/mhd2/src/mhd2/auth_digest.c:1674,1
    - Dst: mhd_SHA512_256_update
      Src: /src/mhd2/src/mhd2/auth_digest.c:1679,1
    - Dst: mhd_UNREACHABLE
      Src: /src/mhd2/src/mhd2/auth_digest.c:1683,1
    - Dst: mhd_UNREACHABLE
      Src: /src/mhd2/src/mhd2/auth_digest.c:1688,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 23
    argCount: 3
    argNames:
    - da
    - size
    - data
    argTypes:
    - struct DigestAlgorithm*
    - size_t
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1694
      start: 1649
    functionDepth: 1
    functionLinenumber: 1649
    functionLinenumberEnd: 1694
    functionName: digest_update
    functionSourceFile: /src/mhd2/src/mhd2/auth_digest.c
    functionUses: 0
    functionsReached:
    - mhd_SHA256_update
    - mhd_MD5_update
    - mhd_UNREACHABLE
    - mhd_SHA512_256_update
    - mhd_assert
    linkageType: ''
    returnType: void
    signature: "void digest_update (struct DigestAlgorithm *restrict da,\n               size_t
      size,\n               const void *restrict data)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: digest_update
      Src: /src/mhd2/src/mhd2/auth_digest.c:1707,1
    - Dst: strlen
      Src: /src/mhd2/src/mhd2/auth_digest.c:1708,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - da
    - str
    argTypes:
    - struct DigestAlgorithm*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1710
      start: 1703
    functionDepth: 2
    functionLinenumber: 1703
    functionLinenumberEnd: 1710
    functionName: digest_update_str
    functionSourceFile: /src/mhd2/src/mhd2/auth_digest.c
    functionUses: 0
    functionsReached:
    - strlen
    - digest_update
    linkageType: ''
    returnType: void
    signature: "void digest_update_str (struct DigestAlgorithm *restrict da,\n                   const
      char *restrict str)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: digest_update
      Src: /src/mhd2/src/mhd2/auth_digest.c:1723,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - da
    - buf
    argTypes:
    - struct DigestAlgorithm*
    - struct mhd_BufferConst*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1726
      start: 1719
    functionDepth: 2
    functionLinenumber: 1719
    functionLinenumberEnd: 1726
    functionName: digest_update_cbuf
    functionSourceFile: /src/mhd2/src/mhd2/auth_digest.c
    functionUses: 0
    functionsReached:
    - digest_update
    linkageType: ''
    returnType: void
    signature: "void digest_update_cbuf (struct DigestAlgorithm *restrict da,\n                    const
      struct mhd_BufferConst *restrict buf)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: digest_update
      Src: /src/mhd2/src/mhd2/auth_digest.c:1739,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - da
    - buf
    argTypes:
    - struct DigestAlgorithm*
    - struct mhd_Buffer*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1742
      start: 1735
    functionDepth: 2
    functionLinenumber: 1735
    functionLinenumberEnd: 1742
    functionName: digest_update_buf
    functionSourceFile: /src/mhd2/src/mhd2/auth_digest.c
    functionUses: 0
    functionsReached:
    - digest_update
    linkageType: ''
    returnType: void
    signature: "void digest_update_buf (struct DigestAlgorithm *restrict da,\n                   const
      struct mhd_Buffer *restrict buf)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: digest_update
      Src: /src/mhd2/src/mhd2/auth_digest.c:1753,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - da
    argTypes:
    - struct DigestAlgorithm*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1756
      start: 1749
    functionDepth: 2
    functionLinenumber: 1749
    functionLinenumberEnd: 1756
    functionName: digest_update_with_colon
    functionSourceFile: /src/mhd2/src/mhd2/auth_digest.c
    functionUses: 0
    functionsReached:
    - digest_update
    linkageType: ''
    returnType: mhd_static_inline
    signature: mhd_static_inline digest_update_with_colon (struct DigestAlgorithm
      *da)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/auth_digest.c:1770,1
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/auth_digest.c:1771,1
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/auth_digest.c:1772,1
    - Dst: mhd_MD5_finish
      Src: /src/mhd2/src/mhd2/auth_digest.c:1777,1
    - Dst: mhd_UNREACHABLE
      Src: /src/mhd2/src/mhd2/auth_digest.c:1782,1
    - Dst: mhd_SHA256_finish
      Src: /src/mhd2/src/mhd2/auth_digest.c:1788,1
    - Dst: mhd_UNREACHABLE
      Src: /src/mhd2/src/mhd2/auth_digest.c:1793,1
    - Dst: mhd_SHA512_256_finish
      Src: /src/mhd2/src/mhd2/auth_digest.c:1799,1
    - Dst: mhd_UNREACHABLE
      Src: /src/mhd2/src/mhd2/auth_digest.c:1804,1
    - Dst: mhd_UNREACHABLE
      Src: /src/mhd2/src/mhd2/auth_digest.c:1810,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 26
    argCount: 2
    argNames:
    - da
    - digest
    argTypes:
    - struct DigestAlgorithm*
    - uint8_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1816
      start: 1766
    functionDepth: 1
    functionLinenumber: 1766
    functionLinenumberEnd: 1816
    functionName: digest_calc_hash
    functionSourceFile: /src/mhd2/src/mhd2/auth_digest.c
    functionUses: 0
    functionsReached:
    - mhd_SHA256_finish
    - mhd_MD5_finish
    - mhd_UNREACHABLE
    - mhd_assert
    - mhd_SHA512_256_finish
    linkageType: ''
    returnType: void
    signature: "void digest_calc_hash (struct DigestAlgorithm *da,\n                  uint8_t
      *digest)"
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/auth_digest.c:1827,1
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/auth_digest.c:1828,1
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/auth_digest.c:1829,1
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/auth_digest.c:1834,1
    - Dst: mhd_MD5_reset
      Src: /src/mhd2/src/mhd2/auth_digest.c:1835,1
    - Dst: mhd_UNREACHABLE
      Src: /src/mhd2/src/mhd2/auth_digest.c:1840,1
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/auth_digest.c:1846,1
    - Dst: mhd_SHA256_reset
      Src: /src/mhd2/src/mhd2/auth_digest.c:1847,1
    - Dst: mhd_UNREACHABLE
      Src: /src/mhd2/src/mhd2/auth_digest.c:1852,1
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/auth_digest.c:1858,1
    - Dst: mhd_SHA512_256_reset
      Src: /src/mhd2/src/mhd2/auth_digest.c:1859,1
    - Dst: mhd_UNREACHABLE
      Src: /src/mhd2/src/mhd2/auth_digest.c:1864,1
    - Dst: mhd_UNREACHABLE
      Src: /src/mhd2/src/mhd2/auth_digest.c:1873,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 29
    argCount: 1
    argNames:
    - da
    argTypes:
    - struct DigestAlgorithm*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1876
      start: 1824
    functionDepth: 1
    functionLinenumber: 1824
    functionLinenumberEnd: 1876
    functionName: digest_reset
    functionSourceFile: /src/mhd2/src/mhd2/auth_digest.c
    functionUses: 0
    functionsReached:
    - mhd_SHA512_256_reset
    - mhd_MD5_reset
    - mhd_UNREACHABLE
    - mhd_assert
    - mhd_SHA256_reset
    linkageType: ''
    returnType: mhd_static_inline
    signature: mhd_static_inline digest_reset (struct DigestAlgorithm *da)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/auth_digest.c:1903,1
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/auth_digest.c:1904,1
    - Dst: mhd_MD5_has_err
      Src: /src/mhd2/src/mhd2/auth_digest.c:1909,1
    - Dst: mhd_UNREACHABLE
      Src: /src/mhd2/src/mhd2/auth_digest.c:1911,1
    - Dst: mhd_SHA256_has_err
      Src: /src/mhd2/src/mhd2/auth_digest.c:1917,1
    - Dst: mhd_UNREACHABLE
      Src: /src/mhd2/src/mhd2/auth_digest.c:1919,1
    - Dst: mhd_SHA512_256_has_err
      Src: /src/mhd2/src/mhd2/auth_digest.c:1925,1
    - Dst: mhd_UNREACHABLE
      Src: /src/mhd2/src/mhd2/auth_digest.c:1927,1
    - Dst: mhd_UNREACHABLE
      Src: /src/mhd2/src/mhd2/auth_digest.c:1935,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 22
    argCount: 1
    argNames:
    - da
    argTypes:
    - struct DigestAlgorithm*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1937
      start: 1900
    functionDepth: 1
    functionLinenumber: 1900
    functionLinenumberEnd: 1937
    functionName: digest_has_error
    functionSourceFile: /src/mhd2/src/mhd2/auth_digest.c
    functionUses: 0
    functionsReached:
    - mhd_SHA512_256_has_err
    - mhd_UNREACHABLE
    - mhd_MD5_has_err
    - mhd_SHA256_has_err
    - mhd_assert
    linkageType: ''
    returnType: mhd_static_inline
    signature: mhd_static_inline digest_has_error (struct DigestAlgorithm *da)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - da
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1942
      start: 1941
    functionDepth: 0
    functionLinenumber: 1941
    functionLinenumberEnd: 1942
    functionName: digest_has_error
    functionSourceFile: /src/mhd2/src/mhd2/auth_digest.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: digest_has_error(da)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/auth_digest.c:1970,1
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/auth_digest.c:1971,1
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/auth_digest.c:1972,1
    - Dst: digest_update
      Src: /src/mhd2/src/mhd2/auth_digest.c:1973,1
    - Dst: digest_update_with_colon
      Src: /src/mhd2/src/mhd2/auth_digest.c:1974,1
    - Dst: digest_update
      Src: /src/mhd2/src/mhd2/auth_digest.c:1975,1
    - Dst: digest_update_with_colon
      Src: /src/mhd2/src/mhd2/auth_digest.c:1976,1
    - Dst: digest_update_str
      Src: /src/mhd2/src/mhd2/auth_digest.c:1977,1
    - Dst: digest_calc_hash
      Src: /src/mhd2/src/mhd2/auth_digest.c:1978,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 10
    argCount: 7
    argNames:
    - da
    - username
    - username_len
    - realm
    - realm_len
    - password
    - ha1_bin
    argTypes:
    - struct DigestAlgorithm*
    - char*
    - size_t
    - char*
    - size_t
    - char*
    - uint8_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1979
      start: 1963
    functionDepth: 3
    functionLinenumber: 1963
    functionLinenumberEnd: 1979
    functionName: calc_userdigest
    functionSourceFile: /src/mhd2/src/mhd2/auth_digest.c
    functionUses: 3
    functionsReached:
    - digest_update_str
    - digest_update
    - digest_calc_hash
    - mhd_assert
    - digest_update_with_colon
    linkageType: ''
    returnType: void
    signature: "void calc_userdigest (struct DigestAlgorithm *restrict da,\n                 const
      char *restrict username, const size_t username_len,\n                 const
      char *restrict realm, const size_t realm_len,\n                 const char *restrict
      password,\n                 uint8_t *ha1_bin)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: digest_init_one_time
      Src: /src/mhd2/src/mhd2/auth_digest.c:1994,1
    - Dst: get_base_digest_algo
      Src: /src/mhd2/src/mhd2/auth_digest.c:1994,1
    - Dst: digest_get_size
      Src: /src/mhd2/src/mhd2/auth_digest.c:1997,1
    - Dst: calc_userdigest
      Src: /src/mhd2/src/mhd2/auth_digest.c:2001,1
    - Dst: strlen
      Src: /src/mhd2/src/mhd2/auth_digest.c:2003,1
    - Dst: strlen
      Src: /src/mhd2/src/mhd2/auth_digest.c:2005,1
    - Dst: digest_has_error
      Src: /src/mhd2/src/mhd2/auth_digest.c:2008,1
    - Dst: digest_deinit
      Src: /src/mhd2/src/mhd2/auth_digest.c:2010,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 6
    argNames:
    - algo
    - MHD_RESTRICT
    - MHD_RESTRICT
    - MHD_RESTRICT
    - bin_buf_size
    - MHD_RESTRICT userdigest_bin
    argTypes:
    - enum MHD_DigestAuthAlgo
    - char*
    - char*
    - char*
    - size_t
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2013
      start: 1984
    functionDepth: 4
    functionLinenumber: 1984
    functionLinenumberEnd: 2013
    functionName: MHD_digest_auth_calc_userdigest
    functionSourceFile: /src/mhd2/src/mhd2/auth_digest.c
    functionUses: 3
    functionsReached:
    - get_base_digest_algo
    - digest_get_size
    - digest_deinit
    - digest_has_error
    - strlen
    - digest_init_one_time
    - calc_userdigest
    linkageType: ''
    returnType: enum MHD_StatusCode
    signature: "enum MHD_StatusCode MHD_digest_auth_calc_userdigest (enum MHD_DigestAuthAlgo
      algo,\n                                 const char *MHD_RESTRICT username,\n
      \                                const char *MHD_RESTRICT realm,\n                                 const
      char *MHD_RESTRICT password,\n                                 size_t bin_buf_size,\n
      \                                void *MHD_RESTRICT userdigest_bin)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/auth_digest.c:2038,1
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/auth_digest.c:2039,1
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/auth_digest.c:2040,1
    - Dst: digest_update
      Src: /src/mhd2/src/mhd2/auth_digest.c:2041,1
    - Dst: digest_update_with_colon
      Src: /src/mhd2/src/mhd2/auth_digest.c:2042,1
    - Dst: digest_update
      Src: /src/mhd2/src/mhd2/auth_digest.c:2043,1
    - Dst: digest_calc_hash
      Src: /src/mhd2/src/mhd2/auth_digest.c:2044,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    argCount: 6
    argNames:
    - da
    - username_len
    - username
    - realm_len
    - realm
    - digest_bin
    argTypes:
    - struct DigestAlgorithm*
    - size_t
    - char*
    - size_t
    - char*
    - uint8_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2045
      start: 2030
    functionDepth: 3
    functionLinenumber: 2030
    functionLinenumberEnd: 2045
    functionName: calc_userhash
    functionSourceFile: /src/mhd2/src/mhd2/auth_digest.c
    functionUses: 1
    functionsReached:
    - digest_update
    - digest_calc_hash
    - mhd_assert
    - digest_update_with_colon
    linkageType: ''
    returnType: void
    signature: "void calc_userhash (struct DigestAlgorithm *da,\n               const
      size_t username_len,\n               const char *username,\n               const
      size_t realm_len,\n               const char *realm,\n               uint8_t
      *digest_bin)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: digest_init_one_time
      Src: /src/mhd2/src/mhd2/auth_digest.c:2060,1
    - Dst: get_base_digest_algo
      Src: /src/mhd2/src/mhd2/auth_digest.c:2060,1
    - Dst: digest_get_size
      Src: /src/mhd2/src/mhd2/auth_digest.c:2062,1
    - Dst: calc_userhash
      Src: /src/mhd2/src/mhd2/auth_digest.c:2066,1
    - Dst: strlen
      Src: /src/mhd2/src/mhd2/auth_digest.c:2067,1
    - Dst: strlen
      Src: /src/mhd2/src/mhd2/auth_digest.c:2069,1
    - Dst: digest_has_error
      Src: /src/mhd2/src/mhd2/auth_digest.c:2073,1
    - Dst: digest_deinit
      Src: /src/mhd2/src/mhd2/auth_digest.c:2075,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 5
    argNames:
    - algo
    - MHD_RESTRICT
    - MHD_RESTRICT
    - bin_buf_size
    - MHD_RESTRICT userhash_bin
    argTypes:
    - enum MHD_DigestAuthAlgo
    - char*
    - char*
    - size_t
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2078
      start: 2050
    functionDepth: 4
    functionLinenumber: 2050
    functionLinenumberEnd: 2078
    functionName: MHD_digest_auth_calc_userhash
    functionSourceFile: /src/mhd2/src/mhd2/auth_digest.c
    functionUses: 1
    functionsReached:
    - get_base_digest_algo
    - digest_get_size
    - digest_deinit
    - calc_userhash
    - digest_has_error
    - strlen
    - digest_init_one_time
    linkageType: ''
    returnType: enum MHD_StatusCode
    signature: "enum MHD_StatusCode MHD_digest_auth_calc_userhash (enum MHD_DigestAuthAlgo
      algo,\n                               const char *MHD_RESTRICT username,\n                               const
      char *MHD_RESTRICT realm,\n                               size_t bin_buf_size,\n
      \                              void *MHD_RESTRICT userhash_bin)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: MHD_FN_PAR_DYN_ARR_SIZE_
      Src: /src/mhd2/src/mhd2/auth_digest.c:2089,1
    - Dst: digest_get_hash_size
      Src: /src/mhd2/src/mhd2/auth_digest.c:2095,1
    - Dst: MHD_digest_auth_calc_userhash
      Src: /src/mhd2/src/mhd2/auth_digest.c:2098,1
    - Dst: mhd_bin_to_hex_z
      Src: /src/mhd2/src/mhd2/auth_digest.c:2106,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 5
    argNames:
    - algo
    - MHD_RESTRICT
    - MHD_RESTRICT
    - hex_buf_size
    - userhash_hex
    argTypes:
    - enum MHD_DigestAuthAlgo
    - char*
    - char*
    - size_t
    - char[]
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2110
      start: 2083
    functionDepth: 5
    functionLinenumber: 2083
    functionLinenumberEnd: 2110
    functionName: MHD_digest_auth_calc_userhash_hex
    functionSourceFile: /src/mhd2/src/mhd2/auth_digest.c
    functionUses: 1
    functionsReached:
    - mhd_bin_to_hex_z
    - MHD_digest_auth_calc_userhash
    - MHD_FN_PAR_DYN_ARR_SIZE_
    - digest_get_hash_size
    linkageType: ''
    returnType: enum MHD_StatusCode
    signature: "enum MHD_StatusCode MHD_digest_auth_calc_userhash_hex (\n  enum MHD_DigestAuthAlgo
      algo,\n  const char *MHD_RESTRICT username,\n  const char *MHD_RESTRICT realm,\n
      \ size_t hex_buf_size,\n  char userhash_hex[MHD_FN_PAR_DYN_ARR_SIZE_ (hex_buf_size)])"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: mhd_GET_32BIT_LE_UNALIGN
      Src: /src/mhd2/src/mhd2/auth_digest.c:2123,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - nonce
    argTypes:
    - uint8_t[]
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2124
      start: 2119
    functionDepth: 1
    functionLinenumber: 2119
    functionLinenumberEnd: 2124
    functionName: uint_fast32_t::get_nonce_timestamp
    functionSourceFile: /src/mhd2/src/mhd2/auth_digest.c
    functionUses: 0
    functionsReached:
    - mhd_GET_32BIT_LE_UNALIGN
    linkageType: ''
    returnType: mhd_static_inline
    signature: 'mhd_static_inline uint_fast32_t

      get_nonce_timestamp (const uint8_t nonce[mhd_AUTH_DIGEST_NONCE_BIN_SIZE])'
  - BBCount: 13
    BranchProfiles: []
    Callsites:
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/auth_digest.c:2180,1
    - Dst: mhd_D_HAS_MASTER
      Src: /src/mhd2/src/mhd2/auth_digest.c:2180,1
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/auth_digest.c:2181,1
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/auth_digest.c:2182,1
    - Dst: mhd_hex_to_bin
      Src: /src/mhd2/src/mhd2/auth_digest.c:2187,1
    - Dst: memchr
      Src: /src/mhd2/src/mhd2/auth_digest.c:2192,1
    - Dst: memchr
      Src: /src/mhd2/src/mhd2/auth_digest.c:2193,1
    - Dst: memchr
      Src: /src/mhd2/src/mhd2/auth_digest.c:2194,1
    - Dst: memchr
      Src: /src/mhd2/src/mhd2/auth_digest.c:2195,1
    - Dst: memchr
      Src: /src/mhd2/src/mhd2/auth_digest.c:2196,1
    - Dst: memchr
      Src: /src/mhd2/src/mhd2/auth_digest.c:2197,1
    - Dst: get_nonce_timestamp
      Src: /src/mhd2/src/mhd2/auth_digest.c:2200,1
    - Dst: nonce_to_index
      Src: /src/mhd2/src/mhd2/auth_digest.c:2203,1
    - Dst: mhd_mutex_lock_chk
      Src: /src/mhd2/src/mhd2/auth_digest.c:2206,1
    - Dst: memcmp
      Src: /src/mhd2/src/mhd2/auth_digest.c:2209,1
    - Dst: UINT64_C
      Src: /src/mhd2/src/mhd2/auth_digest.c:2225,1
    - Dst: UINT64_C
      Src: /src/mhd2/src/mhd2/auth_digest.c:2228,1
    - Dst: mhd_ASSUME
      Src: /src/mhd2/src/mhd2/auth_digest.c:2242,1
    - Dst: UINT64_C
      Src: /src/mhd2/src/mhd2/auth_digest.c:2246,1
    - Dst: mhd_ASSUME
      Src: /src/mhd2/src/mhd2/auth_digest.c:2248,1
    - Dst: mhd_ASSUME
      Src: /src/mhd2/src/mhd2/auth_digest.c:2249,1
    - Dst: UINT64_C
      Src: /src/mhd2/src/mhd2/auth_digest.c:2249,1
    - Dst: UINT32_C
      Src: /src/mhd2/src/mhd2/auth_digest.c:2267,1
    - Dst: UINT32_C
      Src: /src/mhd2/src/mhd2/auth_digest.c:2268,1
    - Dst: UINT32_C
      Src: /src/mhd2/src/mhd2/auth_digest.c:2277,1
    - Dst: UINT32_C
      Src: /src/mhd2/src/mhd2/auth_digest.c:2278,1
    - Dst: UINT32_C
      Src: /src/mhd2/src/mhd2/auth_digest.c:2279,1
    - Dst: mhd_mutex_unlock_chk
      Src: /src/mhd2/src/mhd2/auth_digest.c:2287,1
    CyclomaticComplexity: 18
    EdgeCount: 18
    ICount: 51
    argCount: 5
    argNames:
    - d
    - noncelen
    - nonce
    - nc
    - time_now
    argTypes:
    - struct MHD_Daemon*
    - size_t
    - char*
    - uint_fast32_t
    - uint_fast32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2290
      start: 2167
    functionDepth: 3
    functionLinenumber: 2167
    functionLinenumberEnd: 2290
    functionName: check_nonce_nc
    functionSourceFile: /src/mhd2/src/mhd2/auth_digest.c
    functionUses: 0
    functionsReached:
    - nonce_to_index
    - UINT64_C
    - memchr
    - mhd_ASSUME
    - memcmp
    - mhd_mutex_unlock_chk
    - mhd_D_HAS_MASTER
    - mhd_mutex_lock_chk
    - UINT32_C
    - get_nonce_timestamp
    - mhd_assert
    - mhd_hex_to_bin
    linkageType: ''
    returnType: enum mhd_CheckNonceNC
    signature: "enum mhd_CheckNonceNC check_nonce_nc (struct MHD_Daemon *restrict
      d,\n                size_t noncelen,\n                const char *restrict nonce,\n
      \               uint_fast32_t nc,\n                uint_fast32_t time_now)"
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: mhd_DLINKEDL_GET_FIRST
      Src: /src/mhd2/src/mhd2/auth_digest.c:2321,1
    - Dst: mhd_DLINKEDL_GET_NEXT
      Src: /src/mhd2/src/mhd2/auth_digest.c:2323,1
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/auth_digest.c:2335,1
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/auth_digest.c:2336,1
    - Dst: memcmp
      Src: /src/mhd2/src/mhd2/auth_digest.c:2337,1
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/auth_digest.c:2344,1
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/auth_digest.c:2345,1
    - Dst: memcmp
      Src: /src/mhd2/src/mhd2/auth_digest.c:2346,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 27
    argCount: 3
    argNames:
    - cls
    - name
    - value
    argTypes:
    - void*
    - struct MHD_String*
    - struct MHD_StringNullable*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2355
      start: 2309
    functionDepth: 1
    functionLinenumber: 2309
    functionLinenumberEnd: 2355
    functionName: "(2) MHD_FN_PAR_NONNULL_ (3) bool\ntest_header (void *restrict cls,\n
      \            const struct MHD_String *restrict name,\n             const struct
      MHD_StringNullable *restrict value)"
    functionSourceFile: /src/mhd2/src/mhd2/auth_digest.c
    functionUses: 0
    functionsReached:
    - mhd_DLINKEDL_GET_NEXT
    - mhd_assert
    - memcmp
    - mhd_DLINKEDL_GET_FIRST
    linkageType: ''
    returnType: MHD_FN_PAR_NONNULL_
    signature: "MHD_FN_PAR_NONNULL_ (2) MHD_FN_PAR_NONNULL_ (3) bool\ntest_header
      (void *restrict cls,\n             const struct MHD_String *restrict name,\n
      \            const struct MHD_StringNullable *restrict value)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: mhd_parse_uri_args
      Src: /src/mhd2/src/mhd2/auth_digest.c:2381,1
    - Dst: mhd_DLINKEDL_GET_FIRST
      Src: /src/mhd2/src/mhd2/auth_digest.c:2388,1
    - Dst: mhd_DLINKEDL_GET_NEXT
      Src: /src/mhd2/src/mhd2/auth_digest.c:2390,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 13
    argCount: 3
    argNames:
    - req
    - args_len
    - args
    argTypes:
    - struct MHD_Request*
    - size_t
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2401
      start: 2371
    functionDepth: 2
    functionLinenumber: 2371
    functionLinenumberEnd: 2401
    functionName: check_argument_match
    functionSourceFile: /src/mhd2/src/mhd2/auth_digest.c
    functionUses: 0
    functionsReached:
    - mhd_DLINKEDL_GET_NEXT
    - mhd_parse_uri_args
    - mhd_DLINKEDL_GET_FIRST
    linkageType: ''
    returnType: bool
    signature: "bool check_argument_match (struct MHD_Request *restrict req,\n                      size_t
      args_len,\n                      char *restrict args)"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: memchr
      Src: /src/mhd2/src/mhd2/auth_digest.c:2431,1
    - Dst: mhd_str_pct_decode_lenient_n
      Src: /src/mhd2/src/mhd2/auth_digest.c:2443,1
    - Dst: memcmp
      Src: /src/mhd2/src/mhd2/auth_digest.c:2449,1
    - Dst: check_argument_match
      Src: /src/mhd2/src/mhd2/auth_digest.c:2457,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 18
    argCount: 3
    argNames:
    - req
    - uri_len
    - uri
    argTypes:
    - struct MHD_Request*
    - size_t
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2463
      start: 2417
    functionDepth: 3
    functionLinenumber: 2417
    functionLinenumberEnd: 2463
    functionName: check_uri_match
    functionSourceFile: /src/mhd2/src/mhd2/auth_digest.c
    functionUses: 0
    functionsReached:
    - memchr
    - mhd_str_pct_decode_lenient_n
    - memcmp
    - check_argument_match
    linkageType: ''
    returnType: bool
    signature: "bool check_uri_match (struct MHD_Request *restrict req,\n                 const
      size_t uri_len,\n                 char *restrict uri)"
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/auth_digest.c:2488,1
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/auth_digest.c:2489,1
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/auth_digest.c:2490,1
    - Dst: free
      Src: /src/mhd2/src/mhd2/auth_digest.c:2502,1
    - Dst: malloc
      Src: /src/mhd2/src/mhd2/auth_digest.c:2503,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 17
    argCount: 4
    argNames:
    - tmp1
    - ptmp2
    - ptmp2_size
    - required_size
    argTypes:
    - char[]
    - char**
    - size_t*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2509
      start: 2482
    functionDepth: 1
    functionLinenumber: 2482
    functionLinenumberEnd: 2509
    functionName: get_buffer_for_size
    functionSourceFile: /src/mhd2/src/mhd2/auth_digest.c
    functionUses: 0
    functionsReached:
    - free
    - malloc
    - mhd_assert
    linkageType: ''
    returnType: char
    signature: "char *\nget_buffer_for_size (char tmp1[mhd_STATIC_UNQ_BUFFER_SIZE],\n
      \                    char **restrict ptmp2,\n                     size_t *restrict
      ptmp2_size,\n                     size_t required_size)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/auth_digest.c:2542,1
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/auth_digest.c:2543,1
    - Dst: get_buffer_for_size
      Src: /src/mhd2/src/mhd2/auth_digest.c:2552,1
    - Dst: mhd_str_unquote
      Src: /src/mhd2/src/mhd2/auth_digest.c:2560,1
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/auth_digest.c:2565,1
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/auth_digest.c:2566,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 17
    argCount: 5
    argNames:
    - param
    - tmp1
    - ptmp2
    - ptmp2_size
    - unquoted
    argTypes:
    - struct mhd_RqDAuthParam*
    - char[]
    - char**
    - size_t*
    - struct mhd_BufferConst*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2568
      start: 2533
    functionDepth: 2
    functionLinenumber: 2533
    functionLinenumberEnd: 2568
    functionName: get_unquoted_param
    functionSourceFile: /src/mhd2/src/mhd2/auth_digest.c
    functionUses: 0
    functionsReached:
    - mhd_assert
    - mhd_str_unquote
    - get_buffer_for_size
    linkageType: ''
    returnType: enum mhd_GetUnqResult
    signature: "enum mhd_GetUnqResult get_unquoted_param (const struct mhd_RqDAuthParam
      *param,\n                    char tmp1[mhd_STATIC_UNQ_BUFFER_SIZE],\n                    char
      **restrict ptmp2,\n                    size_t *restrict ptmp2_size,\n                    struct
      mhd_BufferConst *restrict unquoted)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/auth_digest.c:2590,1
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/auth_digest.c:2591,1
    - Dst: get_buffer_for_size
      Src: /src/mhd2/src/mhd2/auth_digest.c:2596,1
    - Dst: memcpy
      Src: /src/mhd2/src/mhd2/auth_digest.c:2607,1
    - Dst: mhd_str_unquote
      Src: /src/mhd2/src/mhd2/auth_digest.c:2615,1
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/auth_digest.c:2618,1
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/auth_digest.c:2619,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 15
    argCount: 5
    argNames:
    - param
    - tmp1
    - ptmp2
    - ptmp2_size
    - unquoted
    argTypes:
    - struct mhd_RqDAuthParam*
    - char[]
    - char**
    - size_t*
    - struct mhd_Buffer*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2621
      start: 2583
    functionDepth: 2
    functionLinenumber: 2583
    functionLinenumberEnd: 2621
    functionName: get_unquoted_param_copy
    functionSourceFile: /src/mhd2/src/mhd2/auth_digest.c
    functionUses: 0
    functionsReached:
    - memcpy
    - mhd_assert
    - mhd_str_unquote
    - get_buffer_for_size
    linkageType: ''
    returnType: enum mhd_GetUnqResult
    signature: "enum mhd_GetUnqResult get_unquoted_param_copy (const struct mhd_RqDAuthParam
      *param,\n                         char tmp1[mhd_STATIC_UNQ_BUFFER_SIZE],\n                         char
      **restrict ptmp2,\n                         size_t *restrict ptmp2_size,\n                         struct
      mhd_Buffer *restrict unquoted)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/auth_digest.c:2638,1
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/auth_digest.c:2639,1
    - Dst: mhd_str_equal_quoted_bin_n
      Src: /src/mhd2/src/mhd2/auth_digest.c:2641,1
    - Dst: memcmp
      Src: /src/mhd2/src/mhd2/auth_digest.c:2646,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 3
    argNames:
    - param
    - str_len
    - str
    argTypes:
    - struct mhd_RqDAuthParam*
    - size_t
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2647
      start: 2632
    functionDepth: 1
    functionLinenumber: 2632
    functionLinenumberEnd: 2647
    functionName: is_param_equal
    functionSourceFile: /src/mhd2/src/mhd2/auth_digest.c
    functionUses: 0
    functionsReached:
    - memcmp
    - mhd_assert
    - mhd_str_equal_quoted_bin_n
    linkageType: ''
    returnType: mhd_static_inline
    signature: "mhd_static_inline is_param_equal (const struct mhd_RqDAuthParam *restrict
      param,\n                const size_t str_len,\n                const char *restrict
      str)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/auth_digest.c:2664,1
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/auth_digest.c:2665,1
    - Dst: mhd_str_equal_caseless_quoted_bin_n
      Src: /src/mhd2/src/mhd2/auth_digest.c:2667,1
    - Dst: mhd_str_equal_caseless_bin_n
      Src: /src/mhd2/src/mhd2/auth_digest.c:2672,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 3
    argNames:
    - param
    - str_len
    - str
    argTypes:
    - struct mhd_RqDAuthParam*
    - size_t
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2673
      start: 2658
    functionDepth: 3
    functionLinenumber: 2658
    functionLinenumberEnd: 2673
    functionName: is_param_equal_caseless
    functionSourceFile: /src/mhd2/src/mhd2/auth_digest.c
    functionUses: 0
    functionsReached:
    - mhd_str_equal_caseless_quoted_bin_n
    - mhd_assert
    - mhd_str_equal_caseless_bin_n
    linkageType: ''
    returnType: mhd_static_inline
    signature: "mhd_static_inline is_param_equal_caseless (const struct mhd_RqDAuthParam
      *restrict param,\n                         const size_t str_len,\n                         const
      char *restrict str)"
  - BBCount: 84
    BranchProfiles: []
    Callsites:
    - Dst: mhd_daemon_get_master_daemon
      Src: /src/mhd2/src/mhd2/auth_digest.c:2727,1
    - Dst: mhd_CNTNR_PTR
      Src: /src/mhd2/src/mhd2/auth_digest.c:2728,1
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/auth_digest.c:2748,1
    - Dst: get_rq_auth_digest_params
      Src: /src/mhd2/src/mhd2/auth_digest.c:2756,1
    - Dst: mhd_UNREACHABLE
      Src: /src/mhd2/src/mhd2/auth_digest.c:2766,1
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/auth_digest.c:2770,1
    - Dst: digest_init_one_time
      Src: /src/mhd2/src/mhd2/auth_digest.c:2794,1
    - Dst: get_base_digest_algo
      Src: /src/mhd2/src/mhd2/auth_digest.c:2794,1
    - Dst: mhd_UNREACHABLE
      Src: /src/mhd2/src/mhd2/auth_digest.c:2795,1
    - Dst: digest_get_size
      Src: /src/mhd2/src/mhd2/auth_digest.c:2805,1
    - Dst: strlen
      Src: /src/mhd2/src/mhd2/auth_digest.c:2882,1
    - Dst: is_param_equal
      Src: /src/mhd2/src/mhd2/auth_digest.c:2883,1
    - Dst: strlen
      Src: /src/mhd2/src/mhd2/auth_digest.c:2890,1
    - Dst: is_param_equal
      Src: /src/mhd2/src/mhd2/auth_digest.c:2895,1
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/auth_digest.c:2904,1
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/auth_digest.c:2905,1
    - Dst: get_buffer_for_size
      Src: /src/mhd2/src/mhd2/auth_digest.c:2908,1
    - Dst: get_rq_extended_uname_copy_z
      Src: /src/mhd2/src/mhd2/auth_digest.c:2912,1
    - Dst: memcmp
      Src: /src/mhd2/src/mhd2/auth_digest.c:2918,1
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/auth_digest.c:2924,1
    - Dst: calc_userhash
      Src: /src/mhd2/src/mhd2/auth_digest.c:2925,1
    - Dst: digest_has_error
      Src: /src/mhd2/src/mhd2/auth_digest.c:2931,1
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/auth_digest.c:2933,1
    - Dst: mhd_bin_to_hex
      Src: /src/mhd2/src/mhd2/auth_digest.c:2934,1
    - Dst: is_param_equal_caseless
      Src: /src/mhd2/src/mhd2/auth_digest.c:2935,1
    - Dst: digest_reset
      Src: /src/mhd2/src/mhd2/auth_digest.c:2939,1
    - Dst: get_rq_nc
      Src: /src/mhd2/src/mhd2/auth_digest.c:2947,1
    - Dst: mhd_UNREACHABLE
      Src: /src/mhd2/src/mhd2/auth_digest.c:2967,1
    - Dst: get_unquoted_param
      Src: /src/mhd2/src/mhd2/auth_digest.c:2979,1
    - Dst: check_nonce_nc
      Src: /src/mhd2/src/mhd2/auth_digest.c:2987,1
    - Dst: mhd_monotonic_msec_counter
      Src: /src/mhd2/src/mhd2/auth_digest.c:2992,1
    - Dst: UINT32_C
      Src: /src/mhd2/src/mhd2/auth_digest.c:2993,1
    - Dst: mhd_UNREACHABLE
      Src: /src/mhd2/src/mhd2/auth_digest.c:3002,1
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/auth_digest.c:3011,1
    - Dst: digest_update
      Src: /src/mhd2/src/mhd2/auth_digest.c:3012,1
    - Dst: digest_update_with_colon
      Src: /src/mhd2/src/mhd2/auth_digest.c:3013,1
    - Dst: digest_update_str
      Src: /src/mhd2/src/mhd2/auth_digest.c:3016,1
    - Dst: digest_update_with_colon
      Src: /src/mhd2/src/mhd2/auth_digest.c:3017,1
    - Dst: get_unquoted_param_copy
      Src: /src/mhd2/src/mhd2/auth_digest.c:3019,1
    - Dst: digest_update_buf
      Src: /src/mhd2/src/mhd2/auth_digest.c:3026,1
    - Dst: check_uri_match
      Src: /src/mhd2/src/mhd2/auth_digest.c:3028,1
    - Dst: digest_calc_hash
      Src: /src/mhd2/src/mhd2/auth_digest.c:3030,1
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/auth_digest.c:3039,1
    - Dst: digest_reset
      Src: /src/mhd2/src/mhd2/auth_digest.c:3040,1
    - Dst: calc_userdigest
      Src: /src/mhd2/src/mhd2/auth_digest.c:3041,1
    - Dst: digest_has_error
      Src: /src/mhd2/src/mhd2/auth_digest.c:3049,1
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/auth_digest.c:3056,1
    - Dst: digest_reset
      Src: /src/mhd2/src/mhd2/auth_digest.c:3057,1
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/auth_digest.c:3059,1
    - Dst: mhd_bin_to_hex
      Src: /src/mhd2/src/mhd2/auth_digest.c:3061,1
    - Dst: mhd_bin_to_hex
      Src: /src/mhd2/src/mhd2/auth_digest.c:3063,1
    - Dst: digest_update
      Src: /src/mhd2/src/mhd2/auth_digest.c:3064,1
    - Dst: get_unquoted_param
      Src: /src/mhd2/src/mhd2/auth_digest.c:3068,1
    - Dst: mhd_hex_to_bin
      Src: /src/mhd2/src/mhd2/auth_digest.c:3074,1
    - Dst: digest_update_with_colon
      Src: /src/mhd2/src/mhd2/auth_digest.c:3078,1
    - Dst: get_unquoted_param
      Src: /src/mhd2/src/mhd2/auth_digest.c:3080,1
    - Dst: digest_update_cbuf
      Src: /src/mhd2/src/mhd2/auth_digest.c:3086,1
    - Dst: digest_update_with_colon
      Src: /src/mhd2/src/mhd2/auth_digest.c:3088,1
    - Dst: get_unquoted_param
      Src: /src/mhd2/src/mhd2/auth_digest.c:3092,1
    - Dst: digest_update_cbuf
      Src: /src/mhd2/src/mhd2/auth_digest.c:3098,1
    - Dst: digest_update_with_colon
      Src: /src/mhd2/src/mhd2/auth_digest.c:3100,1
    - Dst: get_unquoted_param
      Src: /src/mhd2/src/mhd2/auth_digest.c:3102,1
    - Dst: digest_update_cbuf
      Src: /src/mhd2/src/mhd2/auth_digest.c:3108,1
    - Dst: digest_update_with_colon
      Src: /src/mhd2/src/mhd2/auth_digest.c:3110,1
    - Dst: get_unquoted_param
      Src: /src/mhd2/src/mhd2/auth_digest.c:3112,1
    - Dst: digest_update_cbuf
      Src: /src/mhd2/src/mhd2/auth_digest.c:3118,1
    - Dst: digest_update_with_colon
      Src: /src/mhd2/src/mhd2/auth_digest.c:3120,1
    - Dst: mhd_bin_to_hex
      Src: /src/mhd2/src/mhd2/auth_digest.c:3123,1
    - Dst: digest_update
      Src: /src/mhd2/src/mhd2/auth_digest.c:3124,1
    - Dst: digest_calc_hash
      Src: /src/mhd2/src/mhd2/auth_digest.c:3128,1
    - Dst: digest_has_error
      Src: /src/mhd2/src/mhd2/auth_digest.c:3130,1
    - Dst: memcmp
      Src: /src/mhd2/src/mhd2/auth_digest.c:3134,1
    CyclomaticComplexity: 91
    EdgeCount: 91
    ICount: 235
    argCount: 10
    argNames:
    - req
    - realm
    - username
    - password
    - userdigest
    - max_nc
    - mqop
    - malgo
    - pbuf
    - da
    argTypes:
    - struct MHD_Request*
    - char*
    - char*
    - char*
    - uint8_t*
    - uint_fast32_t
    - enum MHD_DigestAuthMultiQOP
    - enum MHD_DigestAuthMultiAlgo
    - char**
    - struct DigestAlgorithm*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3138
      start: 2714
    functionDepth: 5
    functionLinenumber: 2714
    functionLinenumberEnd: 3138
    functionName: digest_auth_check_all_inner
    functionSourceFile: /src/mhd2/src/mhd2/auth_digest.c
    functionUses: 0
    functionsReached:
    - get_rq_nc
    - digest_calc_hash
    - digest_reset
    - UINT32_C
    - strlen
    - digest_init_one_time
    - memcmp
    - mhd_monotonic_msec_counter
    - get_base_digest_algo
    - digest_update_str
    - get_buffer_for_size
    - get_unquoted_param_copy
    - digest_has_error
    - check_uri_match
    - digest_update_cbuf
    - mhd_CNTNR_PTR
    - get_rq_auth_digest_params
    - get_unquoted_param
    - calc_userdigest
    - is_param_equal
    - digest_get_size
    - calc_userhash
    - mhd_UNREACHABLE
    - get_rq_extended_uname_copy_z
    - mhd_hex_to_bin
    - is_param_equal_caseless
    - digest_update_with_colon
    - mhd_daemon_get_master_daemon
    - mhd_bin_to_hex
    - digest_update_buf
    - digest_update
    - check_nonce_nc
    - mhd_assert
    linkageType: ''
    returnType: enum MHD_DigestAuthResult
    signature: "enum MHD_DigestAuthResult digest_auth_check_all_inner (struct MHD_Request
      *restrict req,\n                             const char *restrict realm,\n                             const
      char *restrict username,\n                             const char *restrict
      password,\n                             const uint8_t *restrict userdigest,\n
      \                            uint_fast32_t max_nc,\n                             enum
      MHD_DigestAuthMultiQOP mqop,\n                             enum MHD_DigestAuthMultiAlgo
      malgo,\n                             char **pbuf,\n                             struct
      DigestAlgorithm *da)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: digest_setup_zero
      Src: /src/mhd2/src/mhd2/auth_digest.c:3187,1
    - Dst: digest_auth_check_all_inner
      Src: /src/mhd2/src/mhd2/auth_digest.c:3188,1
    - Dst: digest_deinit
      Src: /src/mhd2/src/mhd2/auth_digest.c:3198,1
    - Dst: free
      Src: /src/mhd2/src/mhd2/auth_digest.c:3200,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 8
    argNames:
    - req
    - realm
    - username
    - password
    - userdigest
    - max_nc
    - mqop
    - malgo
    argTypes:
    - struct MHD_Request*
    - char*
    - char*
    - char*
    - uint8_t*
    - uint_fast32_t
    - enum MHD_DigestAuthMultiQOP
    - enum MHD_DigestAuthMultiAlgo
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3203
      start: 3172
    functionDepth: 6
    functionLinenumber: 3172
    functionLinenumberEnd: 3203
    functionName: digest_auth_check_all
    functionSourceFile: /src/mhd2/src/mhd2/auth_digest.c
    functionUses: 0
    functionsReached:
    - digest_setup_zero
    - digest_auth_check_all_inner
    - free
    - digest_deinit
    linkageType: ''
    returnType: enum MHD_DigestAuthResult
    signature: "enum MHD_DigestAuthResult digest_auth_check_all (struct MHD_Request
      *restrict req,\n                       const char *restrict realm,\n                       const
      char *restrict username,\n                       const char *restrict password,\n
      \                      const uint8_t *restrict userdigest,\n                       uint_fast32_t
      max_nc,\n                       enum MHD_DigestAuthMultiQOP mqop,\n                       enum
      MHD_DigestAuthMultiAlgo malgo)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: digest_auth_check_all
      Src: /src/mhd2/src/mhd2/auth_digest.c:3244,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 7
    argNames:
    - MHD_RESTRICT
    - MHD_RESTRICT
    - MHD_RESTRICT
    - MHD_RESTRICT
    - max_nc
    - mqop
    - malgo
    argTypes:
    - struct MHD_Request*
    - char*
    - char*
    - char*
    - uint_fast32_t
    - enum MHD_DigestAuthMultiQOP
    - enum MHD_DigestAuthMultiAlgo
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3252
      start: 3235
    functionDepth: 7
    functionLinenumber: 3235
    functionLinenumberEnd: 3252
    functionName: MHD_digest_auth_check
    functionSourceFile: /src/mhd2/src/mhd2/auth_digest.c
    functionUses: 1
    functionsReached:
    - digest_auth_check_all
    linkageType: ''
    returnType: enum MHD_DigestAuthResult
    signature: "enum MHD_DigestAuthResult MHD_digest_auth_check (struct MHD_Request
      *MHD_RESTRICT request,\n                       const char *MHD_RESTRICT realm,\n
      \                      const char *MHD_RESTRICT username,\n                       const
      char *MHD_RESTRICT password,\n                       uint_fast32_t max_nc,\n
      \                      enum MHD_DigestAuthMultiQOP mqop,\n                       enum
      MHD_DigestAuthMultiAlgo malgo)"
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: digest_get_hash_size
      Src: /src/mhd2/src/mhd2/auth_digest.c:3289,1
    - Dst: digest_auth_check_all
      Src: /src/mhd2/src/mhd2/auth_digest.c:3293,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 12
    argCount: 8
    argNames:
    - MHD_RESTRICT
    - MHD_RESTRICT
    - MHD_RESTRICT
    - userdigest_size
    - MHD_RESTRICT
    - max_nc
    - mqop
    - malgo
    argTypes:
    - struct MHD_Request*
    - char*
    - char*
    - size_t
    - void*
    - uint_fast32_t
    - enum MHD_DigestAuthMultiQOP
    - enum MHD_DigestAuthMultiAlgo
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3301
      start: 3258
    functionDepth: 7
    functionLinenumber: 3258
    functionLinenumberEnd: 3301
    functionName: MHD_digest_auth_check_digest
    functionSourceFile: /src/mhd2/src/mhd2/auth_digest.c
    functionUses: 2
    functionsReached:
    - digest_auth_check_all
    - digest_get_hash_size
    linkageType: ''
    returnType: enum MHD_DigestAuthResult
    signature: "enum MHD_DigestAuthResult MHD_digest_auth_check_digest (struct MHD_Request
      *MHD_RESTRICT request,\n                              const char *MHD_RESTRICT
      realm,\n                              const char *MHD_RESTRICT username,\n                              size_t
      userdigest_size,\n                              const void *MHD_RESTRICT userdigest,\n
      \                             uint_fast32_t max_nc,\n                              enum
      MHD_DigestAuthMultiQOP mqop,\n                              enum MHD_DigestAuthMultiAlgo
      malgo)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - TYPE
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 77
      start: 76
    functionDepth: 0
    functionLinenumber: 76
    functionLinenumberEnd: 77
    functionName: mhd_ALIGNOF
    functionSourceFile: /src/mhd2/src/mhd2/mhd_align.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: mhd_ALIGNOF(TYPE)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - TYPE
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 83
      start: 82
    functionDepth: 0
    functionLinenumber: 82
    functionLinenumberEnd: 83
    functionName: mhd_ALIGNOF
    functionSourceFile: /src/mhd2/src/mhd2/mhd_align.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: mhd_ALIGNOF(TYPE)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - TYPE
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 92
      start: 90
    functionDepth: 0
    functionLinenumber: 90
    functionLinenumberEnd: 92
    functionName: mhd_ALIGNOF
    functionSourceFile: /src/mhd2/src/mhd2/mhd_align.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: mhd_ALIGNOF(TYPE)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - num
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 103
      start: 102
    functionDepth: 0
    functionLinenumber: 102
    functionLinenumberEnd: 103
    functionName: mhd_ALIGNED
    functionSourceFile: /src/mhd2/src/mhd2/mhd_align.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: mhd_ALIGNED(num)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - num
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 105
      start: 104
    functionDepth: 0
    functionLinenumber: 104
    functionLinenumberEnd: 105
    functionName: mhd_ALIGNED
    functionSourceFile: /src/mhd2/src/mhd2/mhd_align.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: mhd_ALIGNED(num)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - type
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 116
      start: 115
    functionDepth: 0
    functionLinenumber: 115
    functionLinenumberEnd: 116
    functionName: mhd_ALIGNED_AS
    functionSourceFile: /src/mhd2/src/mhd2/mhd_align.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: mhd_ALIGNED_AS(type)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - num
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 118
      start: 117
    functionDepth: 0
    functionLinenumber: 117
    functionLinenumberEnd: 118
    functionName: mhd_ALIGNED
    functionSourceFile: /src/mhd2/src/mhd2/mhd_align.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: mhd_ALIGNED(num)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - type
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 128
      start: 127
    functionDepth: 0
    functionLinenumber: 127
    functionLinenumberEnd: 128
    functionName: mhd_ALIGNED_AS
    functionSourceFile: /src/mhd2/src/mhd2/mhd_align.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: mhd_ALIGNED_AS(type)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: gnutls_hash_init
      Src: /src/mhd2/src/mhd2/md5_gnutls.c:57,1
    - Dst: mhd_MD5_gtls_deinit
      Src: /src/mhd2/src/mhd2/md5_gnutls.c:64,1
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/md5_gnutls.c:68,1
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/md5_gnutls.c:70,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 8
    argCount: 1
    argNames:
    - ctx
    argTypes:
    - struct mhd_Md5CtxGtls*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 71
      start: 53
    functionDepth: 1
    functionLinenumber: 53
    functionLinenumberEnd: 71
    functionName: mhd_MD5_gtls_init
    functionSourceFile: /src/mhd2/src/mhd2/md5_gnutls.c
    functionUses: 0
    functionsReached:
    - gnutls_hash_init
    - mhd_assert
    - mhd_MD5_gtls_deinit
    linkageType: ''
    returnType: void
    signature: void mhd_MD5_gtls_init (struct mhd_Md5CtxGtls *ctx)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/md5_gnutls.c:81,1
    - Dst: gnutls_hash
      Src: /src/mhd2/src/mhd2/md5_gnutls.c:85,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 3
    argNames:
    - ctx
    - size
    - data
    argTypes:
    - struct mhd_Md5CtxGtls*
    - size_t
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 88
      start: 75
    functionDepth: 1
    functionLinenumber: 75
    functionLinenumberEnd: 88
    functionName: mhd_MD5_gtls_update
    functionSourceFile: /src/mhd2/src/mhd2/md5_gnutls.c
    functionUses: 0
    functionsReached:
    - mhd_assert
    - gnutls_hash
    linkageType: ''
    returnType: void
    signature: "void mhd_MD5_gtls_update (struct mhd_Md5CtxGtls *restrict ctx,\n                     size_t
      size,\n                     const void *restrict data)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: MHD_FN_PAR_FIX_ARR_SIZE_
      Src: /src/mhd2/src/mhd2/md5_gnutls.c:95,1
    - Dst: gnutls_hash_output
      Src: /src/mhd2/src/mhd2/md5_gnutls.c:98,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 3
    argCount: 2
    argNames:
    - ctx
    - digest
    argTypes:
    - struct mhd_Md5CtxGtls*
    - uint8_t[]
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 100
      start: 92
    functionDepth: 0
    functionLinenumber: 92
    functionLinenumberEnd: 100
    functionName: mhd_MD5_gtls_finish
    functionSourceFile: /src/mhd2/src/mhd2/md5_gnutls.c
    functionUses: 0
    functionsReached:
    - gnutls_hash_output
    - MHD_FN_PAR_FIX_ARR_SIZE_
    linkageType: ''
    returnType: void
    signature: "void mhd_MD5_gtls_finish (\n  struct mhd_Md5CtxGtls *restrict ctx,\n
      \ uint8_t digest[MHD_FN_PAR_FIX_ARR_SIZE_ (mhd_MD5_DIGEST_SIZE)])"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: gnutls_hash_deinit
      Src: /src/mhd2/src/mhd2/md5_gnutls.c:109,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - ctx
    argTypes:
    - struct mhd_Md5CtxGtls*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 113
      start: 104
    functionDepth: 0
    functionLinenumber: 104
    functionLinenumberEnd: 113
    functionName: mhd_MD5_gtls_deinit
    functionSourceFile: /src/mhd2/src/mhd2/md5_gnutls.c
    functionUses: 1
    functionsReached:
    - gnutls_hash_deinit
    linkageType: ''
    returnType: void
    signature: void mhd_MD5_gtls_deinit (struct mhd_Md5CtxGtls *ctx)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - t
    - ','
    - n
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 71
      start: 70
    functionDepth: 0
    functionLinenumber: 70
    functionLinenumberEnd: 71
    functionName: mhd_set_thread_name
    functionSourceFile: /src/mhd2/src/mhd2/mhd_threads.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: mhd_set_thread_name(t, n)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - n
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 72
      start: 71
    functionDepth: 0
    functionLinenumber: 71
    functionLinenumberEnd: 72
    functionName: mhd_set_cur_thread_name
    functionSourceFile: /src/mhd2/src/mhd2/mhd_threads.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: mhd_set_cur_thread_name(n)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: pthread_setname_np
      Src: /src/mhd2/src/mhd2/mhd_threads.c:101,1
    - Dst: pthread_set_name_np
      Src: /src/mhd2/src/mhd2/mhd_threads.c:104,1
    - Dst: pthread_setname_np
      Src: /src/mhd2/src/mhd2/mhd_threads.c:112,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 2
    argNames:
    - thread_id
    - thread_name
    argTypes:
    - mhd_thread_ID_native
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 114
      start: 93
    functionDepth: 0
    functionLinenumber: 93
    functionLinenumberEnd: 114
    functionName: mhd_set_thread_name
    functionSourceFile: /src/mhd2/src/mhd2/mhd_threads.c
    functionUses: 0
    functionsReached:
    - pthread_set_name_np
    - pthread_setname_np
    linkageType: ''
    returnType: bool
    signature: "bool mhd_set_thread_name (const mhd_thread_ID_native thread_id,\n
      \                    const char *thread_name)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - n
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 125
      start: 123
    functionDepth: 0
    functionLinenumber: 123
    functionLinenumberEnd: 125
    functionName: mhd_set_cur_thread_name
    functionSourceFile: /src/mhd2/src/mhd2/mhd_threads.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: mhd_set_cur_thread_name(n)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - n
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 128
      start: 127
    functionDepth: 0
    functionLinenumber: 127
    functionLinenumberEnd: 128
    functionName: mhd_set_cur_thread_name
    functionSourceFile: /src/mhd2/src/mhd2/mhd_threads.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: mhd_set_cur_thread_name(n)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - n
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 137
      start: 136
    functionDepth: 0
    functionLinenumber: 136
    functionLinenumberEnd: 137
    functionName: mhd_set_cur_thread_name
    functionSourceFile: /src/mhd2/src/mhd2/mhd_threads.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: mhd_set_cur_thread_name(n)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: RaiseException
      Src: /src/mhd2/src/mhd2/mhd_threads.c:175,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 12
    argCount: 2
    argNames:
    - thread_id
    - thread_name
    argTypes:
    - mhd_thread_ID_native
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 184
      start: 150
    functionDepth: 0
    functionLinenumber: 150
    functionLinenumberEnd: 184
    functionName: mhd_set_thread_name
    functionSourceFile: /src/mhd2/src/mhd2/mhd_threads.c
    functionUses: 0
    functionsReached:
    - RaiseException
    linkageType: ''
    returnType: bool
    signature: "bool mhd_set_thread_name (const mhd_thread_ID_native thread_id,\n
      \                    const char *thread_name)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - n
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 194
      start: 192
    functionDepth: 0
    functionLinenumber: 192
    functionLinenumberEnd: 194
    functionName: mhd_set_cur_thread_name
    functionSourceFile: /src/mhd2/src/mhd2/mhd_threads.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: mhd_set_cur_thread_name(n)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: mhd_thread_handle_ID_get_native_handle_ptr
      Src: /src/mhd2/src/mhd2/mhd_threads.c:221,1
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/mhd_threads.c:227,1
    - Dst: mhd_thread_handle_ID_is_valid_handle
      Src: /src/mhd2/src/mhd2/mhd_threads.c:227,1
    - Dst: pthread_attr_init
      Src: /src/mhd2/src/mhd2/mhd_threads.c:232,1
    - Dst: pthread_attr_setstacksize
      Src: /src/mhd2/src/mhd2/mhd_threads.c:235,1
    - Dst: pthread_create
      Src: /src/mhd2/src/mhd2/mhd_threads.c:238,1
    - Dst: pthread_attr_destroy
      Src: /src/mhd2/src/mhd2/mhd_threads.c:242,1
    - Dst: pthread_create
      Src: /src/mhd2/src/mhd2/mhd_threads.c:246,1
    - Dst: mhd_thread_handle_ID_set_invalid
      Src: /src/mhd2/src/mhd2/mhd_threads.c:254,1
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/mhd_threads.c:266,1
    - Dst: mhd_thread_handle_ID_is_valid_handle
      Src: /src/mhd2/src/mhd2/mhd_threads.c:266,1
    - Dst: _beginthreadex
      Src: /src/mhd2/src/mhd2/mhd_threads.c:276,1
    - Dst: mhd_thread_handle_ID_set_native_handle
      Src: /src/mhd2/src/mhd2/mhd_threads.c:285,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 28
    argCount: 4
    argNames:
    - handle_id
    - stack_size
    - start_routine
    - arg
    argTypes:
    - mhd_thread_handle_ID*
    - size_t
    - mhd_THREAD_START_ROUTINE
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 291
      start: 211
    functionDepth: 1
    functionLinenumber: 211
    functionLinenumberEnd: 291
    functionName: mhd_create_thread
    functionSourceFile: /src/mhd2/src/mhd2/mhd_threads.c
    functionUses: 0
    functionsReached:
    - mhd_thread_handle_ID_get_native_handle_ptr
    - pthread_attr_setstacksize
    - mhd_thread_handle_ID_set_native_handle
    - pthread_create
    - mhd_thread_handle_ID_is_valid_handle
    - pthread_attr_destroy
    - _beginthreadex
    - mhd_assert
    - pthread_attr_init
    - mhd_thread_handle_ID_set_invalid
    linkageType: ''
    returnType: bool
    signature: "bool mhd_create_thread (mhd_thread_handle_ID *handle_id,\n                   size_t
      stack_size,\n                   mhd_THREAD_START_ROUTINE start_routine,\n                   void
      *arg)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: mhd_set_cur_thread_name
      Src: /src/mhd2/src/mhd2/mhd_threads.c:327,1
    - Dst: free
      Src: /src/mhd2/src/mhd2/mhd_threads.c:331,1
    - Dst: thr_func
      Src: /src/mhd2/src/mhd2/mhd_threads.c:333,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 1
    argNames:
    - data
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 334
      start: 316
    functionDepth: 1
    functionLinenumber: 316
    functionLinenumberEnd: 334
    functionName: mhd_THRD_CALL_SPEC::named_thread_starter
    functionSourceFile: /src/mhd2/src/mhd2/mhd_threads.c
    functionUses: 0
    functionsReached:
    - free
    - thr_func
    - mhd_set_cur_thread_name
    linkageType: ''
    returnType: mhd_THRD_RTRN_TYPE
    signature: 'mhd_THRD_RTRN_TYPE mhd_THRD_CALL_SPEC

      named_thread_starter (void *data)'
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: mhd_thread_handle_ID_get_native_handle_ptr
      Src: /src/mhd2/src/mhd2/mhd_threads.c:362,1
    - Dst: pthread_attr_init
      Src: /src/mhd2/src/mhd2/mhd_threads.c:368,1
    - Dst: pthread_attr_setname_np
      Src: /src/mhd2/src/mhd2/mhd_threads.c:377,1
    - Dst: pthread_attr_setname_np
      Src: /src/mhd2/src/mhd2/mhd_threads.c:381,1
    - Dst: pthread_attr_setstacksize
      Src: /src/mhd2/src/mhd2/mhd_threads.c:387,1
    - Dst: pthread_create
      Src: /src/mhd2/src/mhd2/mhd_threads.c:390,1
    - Dst: pthread_attr_destroy
      Src: /src/mhd2/src/mhd2/mhd_threads.c:394,1
    - Dst: mhd_thread_handle_ID_set_invalid
      Src: /src/mhd2/src/mhd2/mhd_threads.c:399,1
    - Dst: malloc
      Src: /src/mhd2/src/mhd2/mhd_threads.c:417,1
    - Dst: mhd_create_thread
      Src: /src/mhd2/src/mhd2/mhd_threads.c:428,1
    - Dst: free
      Src: /src/mhd2/src/mhd2/mhd_threads.c:436,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 33
    argCount: 5
    argNames:
    - handle_id
    - thread_name
    - stack_size
    - start_routine
    - arg
    argTypes:
    - mhd_thread_handle_ID*
    - char*
    - size_t
    - mhd_THREAD_START_ROUTINE
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 443
      start: 350
    functionDepth: 2
    functionLinenumber: 350
    functionLinenumberEnd: 443
    functionName: mhd_create_named_thread
    functionSourceFile: /src/mhd2/src/mhd2/mhd_threads.c
    functionUses: 1
    functionsReached:
    - mhd_create_thread
    - mhd_thread_handle_ID_get_native_handle_ptr
    - malloc
    - free
    - pthread_attr_setstacksize
    - pthread_attr_setname_np
    - pthread_create
    - pthread_attr_destroy
    - pthread_attr_init
    - mhd_thread_handle_ID_set_invalid
    linkageType: ''
    returnType: bool
    signature: "bool mhd_create_named_thread (mhd_thread_handle_ID *handle_id,\n                         const
      char *thread_name,\n                         size_t stack_size,\n                         mhd_THREAD_START_ROUTINE
      start_routine,\n                         void *arg)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: sigemptyset
      Src: /src/mhd2/src/mhd2/mhd_threads.c:454,1
    - Dst: sigaddset
      Src: /src/mhd2/src/mhd2/mhd_threads.c:455,1
    - Dst: pthread_sigmask
      Src: /src/mhd2/src/mhd2/mhd_threads.c:456,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 457
      start: 449
    functionDepth: 0
    functionLinenumber: 449
    functionLinenumberEnd: 457
    functionName: mhd_thread_block_sigpipe
    functionSourceFile: /src/mhd2/src/mhd2/mhd_threads.c
    functionUses: 0
    functionsReached:
    - sigaddset
    - sigemptyset
    - pthread_sigmask
    linkageType: ''
    returnType: MHD_INTERNAL
    signature: MHD_INTERNAL mhd_thread_block_sigpipe (void)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - ctx
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 143
      start: 142
    functionDepth: 0
    functionLinenumber: 142
    functionLinenumberEnd: 143
    functionName: mhd_SHA256_gtls_reset
    functionSourceFile: /src/mhd2/src/mhd2/sha256_gnutls.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: mhd_SHA256_gtls_reset(ctx)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - c
    - ','
    - r
    - ','
    - m
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 334
      start: 333
    functionDepth: 0
    functionLinenumber: 333
    functionLinenumberEnd: 334
    functionName: mhd_STREAM_ABORT
    functionSourceFile: /src/mhd2/src/mhd2/stream_funcs.h
    functionUses: 11
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: mhd_STREAM_ABORT(c, r, m)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - c
    - ','
    - r
    - ','
    - m
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 336
      start: 335
    functionDepth: 0
    functionLinenumber: 335
    functionLinenumberEnd: 336
    functionName: mhd_STREAM_ABORT
    functionSourceFile: /src/mhd2/src/mhd2/stream_funcs.h
    functionUses: 11
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: mhd_STREAM_ABORT(c, r, m)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - c
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 345
      start: 343
    functionDepth: 0
    functionLinenumber: 343
    functionLinenumberEnd: 345
    functionName: mhd_conn_start_closing_app_abort
    functionSourceFile: /src/mhd2/src/mhd2/stream_funcs.h
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: mhd_conn_start_closing_app_abort(c)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - c
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 358
      start: 353
    functionDepth: 0
    functionLinenumber: 353
    functionLinenumberEnd: 358
    functionName: mhd_conn_start_closing_ext_event_failed
    functionSourceFile: /src/mhd2/src/mhd2/stream_funcs.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: mhd_conn_start_closing_ext_event_failed(c)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - c
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 367
      start: 364
    functionDepth: 0
    functionLinenumber: 364
    functionLinenumberEnd: 367
    functionName: mhd_conn_start_closing_ext_event_failed
    functionSourceFile: /src/mhd2/src/mhd2/stream_funcs.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: mhd_conn_start_closing_ext_event_failed(c)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - c
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 376
      start: 374
    functionDepth: 0
    functionLinenumber: 374
    functionLinenumberEnd: 376
    functionName: mhd_conn_start_closing_skt_err
    functionSourceFile: /src/mhd2/src/mhd2/stream_funcs.h
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: mhd_conn_start_closing_skt_err(c)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - c
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 384
      start: 382
    functionDepth: 0
    functionLinenumber: 382
    functionLinenumberEnd: 384
    functionName: mhd_conn_start_closing_req_finished
    functionSourceFile: /src/mhd2/src/mhd2/stream_funcs.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: mhd_conn_start_closing_req_finished(c)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - c
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 392
      start: 390
    functionDepth: 0
    functionLinenumber: 390
    functionLinenumberEnd: 392
    functionName: mhd_conn_start_closing_timedout
    functionSourceFile: /src/mhd2/src/mhd2/stream_funcs.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: mhd_conn_start_closing_timedout(c)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - c
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 400
      start: 398
    functionDepth: 0
    functionLinenumber: 398
    functionLinenumberEnd: 400
    functionName: mhd_conn_start_closing_d_shutdown
    functionSourceFile: /src/mhd2/src/mhd2/stream_funcs.h
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: mhd_conn_start_closing_d_shutdown(c)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - c
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 408
      start: 406
    functionDepth: 0
    functionLinenumber: 406
    functionLinenumberEnd: 408
    functionName: mhd_conn_start_closing_no_sys_res
    functionSourceFile: /src/mhd2/src/mhd2/stream_funcs.h
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: mhd_conn_start_closing_no_sys_res(c)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - c
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 417
      start: 415
    functionDepth: 0
    functionLinenumber: 415
    functionLinenumberEnd: 417
    functionName: mhd_conn_pre_upgrade
    functionSourceFile: /src/mhd2/src/mhd2/stream_funcs.h
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: mhd_conn_pre_upgrade(c)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - c
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 422
      start: 420
    functionDepth: 0
    functionLinenumber: 420
    functionLinenumberEnd: 422
    functionName: mhd_conn_start_closing_h2_soft
    functionSourceFile: /src/mhd2/src/mhd2/stream_funcs.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: mhd_conn_start_closing_h2_soft(c)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - c
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 424
      start: 422
    functionDepth: 0
    functionLinenumber: 422
    functionLinenumberEnd: 424
    functionName: mhd_conn_start_closing_h2_hard
    functionSourceFile: /src/mhd2/src/mhd2/stream_funcs.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: mhd_conn_start_closing_h2_hard(c)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - c
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 888
      start: 887
    functionDepth: 0
    functionLinenumber: 887
    functionLinenumberEnd: 888
    functionName: mhd_C_HAS_TLS
    functionSourceFile: /src/mhd2/src/mhd2/mhd_connection.h
    functionUses: 14
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: mhd_C_HAS_TLS(c)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - c
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 893
      start: 892
    functionDepth: 0
    functionLinenumber: 892
    functionLinenumberEnd: 893
    functionName: mhd_C_HAS_TLS
    functionSourceFile: /src/mhd2/src/mhd2/mhd_connection.h
    functionUses: 14
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: mhd_C_HAS_TLS(c)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - c
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 903
      start: 901
    functionDepth: 0
    functionLinenumber: 901
    functionLinenumberEnd: 903
    functionName: mhd_C_HAS_TLS_DATA_IN
    functionSourceFile: /src/mhd2/src/mhd2/mhd_connection.h
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: mhd_C_HAS_TLS_DATA_IN(c)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - c
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 909
      start: 908
    functionDepth: 0
    functionLinenumber: 908
    functionLinenumberEnd: 909
    functionName: mhd_C_HAS_TLS_DATA_IN
    functionSourceFile: /src/mhd2/src/mhd2/mhd_connection.h
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: mhd_C_HAS_TLS_DATA_IN(c)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - c
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 914
      start: 912
    functionDepth: 0
    functionLinenumber: 912
    functionLinenumberEnd: 914
    functionName: mhd_C_IS_HTTP2
    functionSourceFile: /src/mhd2/src/mhd2/mhd_connection.h
    functionUses: 6
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: mhd_C_IS_HTTP2(c)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - c
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 916
      start: 915
    functionDepth: 0
    functionLinenumber: 915
    functionLinenumberEnd: 916
    functionName: mhd_C_IS_HTTP2
    functionSourceFile: /src/mhd2/src/mhd2/mhd_connection.h
    functionUses: 6
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: mhd_C_IS_HTTP2(c)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 2
    argNames:
    - (
    - )
    argTypes:
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 86
      start: 85
    functionDepth: 0
    functionLinenumber: 85
    functionLinenumberEnd: 86
    functionName: mhd_tls_mbed_global_init_once
    functionSourceFile: /src/mhd2/src/mhd2/tls_mbed_funcs.h
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: mhd_tls_mbed_global_init_once()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 2
    argNames:
    - (
    - )
    argTypes:
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 89
      start: 88
    functionDepth: 0
    functionLinenumber: 88
    functionLinenumberEnd: 89
    functionName: mhd_tls_mbed_global_re_init
    functionSourceFile: /src/mhd2/src/mhd2/tls_mbed_funcs.h
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: mhd_tls_mbed_global_re_init()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - s
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 118
      start: 117
    functionDepth: 0
    functionLinenumber: 117
    functionLinenumberEnd: 118
    functionName: mhd_tls_mbed_is_edge_trigg_supported
    functionSourceFile: /src/mhd2/src/mhd2/tls_mbed_funcs.h
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: mhd_tls_mbed_is_edge_trigg_supported(s)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 9
    argNames:
    - (
    - d
    - ','
    - et
    - ','
    - s
    - ','
    - p_d_tls
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 147
      start: 145
    functionDepth: 0
    functionLinenumber: 145
    functionLinenumberEnd: 147
    functionName: mhd_tls_mbed_daemon_init
    functionSourceFile: /src/mhd2/src/mhd2/tls_mbed_funcs.h
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: mhd_tls_mbed_daemon_init(d, et, s, p_d_tls)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - d_tls
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 164
      start: 163
    functionDepth: 0
    functionLinenumber: 163
    functionLinenumberEnd: 164
    functionName: mhd_tls_mbed_thread_cleanup
    functionSourceFile: /src/mhd2/src/mhd2/tls_mbed_funcs.h
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: mhd_tls_mbed_thread_cleanup(d_tls)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - d_tls
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 181
      start: 179
    functionDepth: 0
    functionLinenumber: 179
    functionLinenumberEnd: 181
    functionName: mhd_tls_mbed_conn_get_tls_size
    functionSourceFile: /src/mhd2/src/mhd2/tls_mbed_funcs.h
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: mhd_tls_mbed_conn_get_tls_size(d_tls)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - c_tls
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 301
      start: 300
    functionDepth: 0
    functionLinenumber: 300
    functionLinenumberEnd: 301
    functionName: mhd_tls_mbed_conn_has_cstm_tr
    functionSourceFile: /src/mhd2/src/mhd2/tls_mbed_funcs.h
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: mhd_tls_mbed_conn_has_cstm_tr(c_tls)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - err
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 154
      start: 153
    functionDepth: 0
    functionLinenumber: 153
    functionLinenumberEnd: 154
    functionName: mhd_SOCKET_ERR_IS_HARD
    functionSourceFile: /src/mhd2/src/mhd2/mhd_socket_error.h
    functionUses: 12
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: mhd_SOCKET_ERR_IS_HARD(err)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - err
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 159
      start: 158
    functionDepth: 0
    functionLinenumber: 158
    functionLinenumberEnd: 159
    functionName: mhd_SOCKET_ERR_IS_BAD
    functionSourceFile: /src/mhd2/src/mhd2/mhd_socket_error.h
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: mhd_SOCKET_ERR_IS_BAD(err)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 11
    argNames:
    - (
    - sk
    - ','
    - l
    - ','
    - o_name
    - ','
    - po_value
    - ','
    - o_len
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 184
      start: 182
    functionDepth: 0
    functionLinenumber: 182
    functionLinenumberEnd: 184
    functionName: mhd_setsockopt
    functionSourceFile: /src/mhd2/src/mhd2/sys_sockets_headers.h
    functionUses: 5
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: mhd_setsockopt(sk, l, o_name, po_value, o_len)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 11
    argNames:
    - (
    - sk
    - ','
    - l
    - ','
    - o_name
    - ','
    - po_value
    - ','
    - o_len
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 187
      start: 185
    functionDepth: 0
    functionLinenumber: 185
    functionLinenumberEnd: 187
    functionName: mhd_setsockopt
    functionSourceFile: /src/mhd2/src/mhd2/sys_sockets_headers.h
    functionUses: 5
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: mhd_setsockopt(sk, l, o_name, po_value, o_len)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 11
    argNames:
    - (
    - sk
    - ','
    - l
    - ','
    - o_name
    - ','
    - po_value
    - ','
    - po_len
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 195
      start: 193
    functionDepth: 0
    functionLinenumber: 193
    functionLinenumberEnd: 195
    functionName: mhd_getsockopt
    functionSourceFile: /src/mhd2/src/mhd2/sys_sockets_headers.h
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: mhd_getsockopt(sk, l, o_name, po_value, po_len)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 11
    argNames:
    - (
    - sk
    - ','
    - l
    - ','
    - o_name
    - ','
    - po_value
    - ','
    - po_len
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 198
      start: 196
    functionDepth: 0
    functionLinenumber: 196
    functionLinenumberEnd: 198
    functionName: mhd_getsockopt
    functionSourceFile: /src/mhd2/src/mhd2/sys_sockets_headers.h
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: mhd_getsockopt(sk, l, o_name, po_value, po_len)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - sock
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 260
      start: 256
    functionDepth: 0
    functionLinenumber: 256
    functionLinenumberEnd: 260
    functionName: mhd_socket_nosignal
    functionSourceFile: /src/mhd2/src/mhd2/sys_sockets_headers.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: mhd_socket_nosignal(sock)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: EVP_MD_CTX_new
      Src: /src/mhd2/src/mhd2/md5_openssl.c:59,1
    - Dst: mhd_MD5_ossl_reset
      Src: /src/mhd2/src/mhd2/md5_openssl.c:62,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - ctx
    argTypes:
    - struct mhd_Md5CtxOssl*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 63
      start: 56
    functionDepth: 1
    functionLinenumber: 56
    functionLinenumberEnd: 63
    functionName: mhd_MD5_ossl_init
    functionSourceFile: /src/mhd2/src/mhd2/md5_openssl.c
    functionUses: 0
    functionsReached:
    - EVP_MD_CTX_new
    - mhd_MD5_ossl_reset
    linkageType: ''
    returnType: void
    signature: void mhd_MD5_ossl_init (struct mhd_Md5CtxOssl *ctx)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/md5_openssl.c:72,1
    - Dst: EVP_DigestInit_ex
      Src: /src/mhd2/src/mhd2/md5_openssl.c:74,1
    - Dst: EVP_md5
      Src: /src/mhd2/src/mhd2/md5_openssl.c:75,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - ctx
    argTypes:
    - struct mhd_Md5CtxOssl*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 77
      start: 66
    functionDepth: 1
    functionLinenumber: 66
    functionLinenumberEnd: 77
    functionName: mhd_MD5_ossl_reset
    functionSourceFile: /src/mhd2/src/mhd2/md5_openssl.c
    functionUses: 1
    functionsReached:
    - EVP_md5
    - mhd_assert
    - EVP_DigestInit_ex
    linkageType: ''
    returnType: void
    signature: void mhd_MD5_ossl_reset (struct mhd_Md5CtxOssl *ctx)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/md5_openssl.c:87,1
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/md5_openssl.c:93,1
    - Dst: EVP_DigestUpdate
      Src: /src/mhd2/src/mhd2/md5_openssl.c:95,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 3
    argNames:
    - ctx
    - size
    - data
    argTypes:
    - struct mhd_Md5CtxOssl*
    - size_t
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 98
      start: 81
    functionDepth: 1
    functionLinenumber: 81
    functionLinenumberEnd: 98
    functionName: mhd_MD5_ossl_update
    functionSourceFile: /src/mhd2/src/mhd2/md5_openssl.c
    functionUses: 0
    functionsReached:
    - EVP_DigestUpdate
    - mhd_assert
    linkageType: ''
    returnType: void
    signature: "void mhd_MD5_ossl_update (struct mhd_Md5CtxOssl *restrict ctx,\n                     size_t
      size,\n                     const void *restrict data)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: MHD_FN_PAR_FIX_ARR_SIZE_
      Src: /src/mhd2/src/mhd2/md5_openssl.c:105,1
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/md5_openssl.c:112,1
    - Dst: EVP_DigestFinal_ex
      Src: /src/mhd2/src/mhd2/md5_openssl.c:114,1
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/md5_openssl.c:117,1
    - Dst: EVP_DigestFinal_ex
      Src: /src/mhd2/src/mhd2/md5_openssl.c:119,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 2
    argNames:
    - ctx
    - digest
    argTypes:
    - struct mhd_Md5CtxOssl*
    - uint8_t[]
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 124
      start: 102
    functionDepth: 1
    functionLinenumber: 102
    functionLinenumberEnd: 124
    functionName: mhd_MD5_ossl_finish
    functionSourceFile: /src/mhd2/src/mhd2/md5_openssl.c
    functionUses: 0
    functionsReached:
    - EVP_DigestFinal_ex
    - mhd_assert
    - MHD_FN_PAR_FIX_ARR_SIZE_
    linkageType: ''
    returnType: void
    signature: "void mhd_MD5_ossl_finish (\n  struct mhd_Md5CtxOssl *restrict ctx,\n
      \ uint8_t digest[MHD_FN_PAR_FIX_ARR_SIZE_ (mhd_MD5_DIGEST_SIZE)])"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: EVP_MD_CTX_free
      Src: /src/mhd2/src/mhd2/md5_openssl.c:130,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - ctx
    argTypes:
    - struct mhd_Md5CtxOssl*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 132
      start: 127
    functionDepth: 0
    functionLinenumber: 127
    functionLinenumberEnd: 132
    functionName: mhd_MD5_ossl_deinit
    functionSourceFile: /src/mhd2/src/mhd2/md5_openssl.c
    functionUses: 0
    functionsReached:
    - EVP_MD_CTX_free
    linkageType: ''
    returnType: void
    signature: void mhd_MD5_ossl_deinit (struct mhd_Md5CtxOssl *ctx)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: fprintf
      Src: /src/mhd2/src/mhd2/events_process.c:128,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 5
    argNames:
    - fd_name
    - fd
    - r_ready
    - w_ready
    - e_ready
    argTypes:
    - char*
    - MHD_Socket
    - bool
    - bool
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 133
      start: 116
    functionDepth: 0
    functionLinenumber: 116
    functionLinenumberEnd: 133
    functionName: mhd_dbg_print_fd_mon_req
    functionSourceFile: /src/mhd2/src/mhd2/events_process.c
    functionUses: 1
    functionsReached:
    - fprintf
    linkageType: ''
    returnType: MHD_INTERNAL
    signature: "MHD_INTERNAL mhd_dbg_print_fd_mon_req (const char *fd_name,\n                          MHD_Socket
      fd,\n                          bool r_ready,\n                          bool
      w_ready,\n                          bool e_ready)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: fprintf
      Src: /src/mhd2/src/mhd2/events_process.c:156,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 5
    argNames:
    - fd_name
    - fd
    - r_ready
    - w_ready
    - e_ready
    argTypes:
    - char*
    - MHD_Socket
    - bool
    - bool
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 161
      start: 144
    functionDepth: 0
    functionLinenumber: 144
    functionLinenumberEnd: 161
    functionName: dbg_print_fd_state_update
    functionSourceFile: /src/mhd2/src/mhd2/events_process.c
    functionUses: 0
    functionsReached:
    - fprintf
    linkageType: ''
    returnType: MHD_FN_PAR_NONNULL_ALL_
    signature: "MHD_FN_PAR_NONNULL_ALL_ dbg_print_fd_state_update (const char *fd_name,\n
      \                          MHD_Socket fd,\n                           bool r_ready,\n
      \                          bool w_ready,\n                           bool e_ready)"
  - BBCount: 4
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 1
    argNames:
    - ke
    argTypes:
    - struct kevent*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 179
      start: 166
    functionDepth: 0
    functionLinenumber: 166
    functionLinenumberEnd: 179
    functionName: mhd_dbg_kefilter_to_name
    functionSourceFile: /src/mhd2/src/mhd2/events_process.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: char
    signature: 'char *

      mhd_dbg_kefilter_to_name (const struct kevent *ke)'
  - BBCount: 14
    BranchProfiles: []
    Callsites:
    - Dst: strcat
      Src: /src/mhd2/src/mhd2/events_process.c:195,1
    - Dst: strcat
      Src: /src/mhd2/src/mhd2/events_process.c:197,1
    - Dst: strcat
      Src: /src/mhd2/src/mhd2/events_process.c:199,1
    - Dst: strcat
      Src: /src/mhd2/src/mhd2/events_process.c:201,1
    - Dst: strcat
      Src: /src/mhd2/src/mhd2/events_process.c:203,1
    - Dst: strcat
      Src: /src/mhd2/src/mhd2/events_process.c:205,1
    - Dst: strcat
      Src: /src/mhd2/src/mhd2/events_process.c:207,1
    - Dst: strcat
      Src: /src/mhd2/src/mhd2/events_process.c:209,1
    - Dst: strcat
      Src: /src/mhd2/src/mhd2/events_process.c:211,1
    - Dst: strcat
      Src: /src/mhd2/src/mhd2/events_process.c:213,1
    - Dst: strcat
      Src: /src/mhd2/src/mhd2/events_process.c:216,1
    - Dst: strlen
      Src: /src/mhd2/src/mhd2/events_process.c:219,1
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/events_process.c:220,1
    - Dst: snprintf
      Src: /src/mhd2/src/mhd2/events_process.c:229,1
    - Dst: strlen
      Src: /src/mhd2/src/mhd2/events_process.c:233,1
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/events_process.c:234,1
    - Dst: strcpy
      Src: /src/mhd2/src/mhd2/events_process.c:238,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 35
    argCount: 2
    argNames:
    - ke
    - buf
    argTypes:
    - struct kevent*
    - char[]
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 241
      start: 184
    functionDepth: 1
    functionLinenumber: 184
    functionLinenumberEnd: 241
    functionName: mdd_dbg_keflags_to_text
    functionSourceFile: /src/mhd2/src/mhd2/events_process.c
    functionUses: 0
    functionsReached:
    - strcpy
    - strcat
    - snprintf
    - strlen
    - mhd_assert
    linkageType: ''
    returnType: void
    signature: "void mdd_dbg_keflags_to_text (const struct kevent *ke,\n                         char
      buf[mhd_DBG_KEFLAGS_BUF_SIZE])"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: mdd_dbg_keflags_to_text
      Src: /src/mhd2/src/mhd2/events_process.c:253,1
    - Dst: fprintf
      Src: /src/mhd2/src/mhd2/events_process.c:256,1
    - Dst: mhd_dbg_kefilter_to_name
      Src: /src/mhd2/src/mhd2/events_process.c:262,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 3
    argNames:
    - fd_name
    - ke
    - update_req
    argTypes:
    - char*
    - struct kevent*
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 266
      start: 244
    functionDepth: 2
    functionLinenumber: 244
    functionLinenumberEnd: 266
    functionName: mhd_dbg_print_kevent
    functionSourceFile: /src/mhd2/src/mhd2/events_process.c
    functionUses: 0
    functionsReached:
    - mdd_dbg_keflags_to_text
    - mhd_dbg_kefilter_to_name
    - fprintf
    linkageType: ''
    returnType: MHD_INTERNAL
    signature: "MHD_INTERNAL mhd_dbg_print_kevent (const char *fd_name,\n                      const
      struct kevent *ke,\n                      bool update_req)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 11
    argNames:
    - (
    - fd_n
    - ','
    - fd
    - ','
    - r_ready
    - ','
    - w_ready
    - ','
    - e_ready
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 274
      start: 272
    functionDepth: 0
    functionLinenumber: 272
    functionLinenumberEnd: 274
    functionName: dbg_print_fd_state_update
    functionSourceFile: /src/mhd2/src/mhd2/events_process.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: dbg_print_fd_state_update(fd_n, fd, r_ready, w_ready, e_ready)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: mhd_LOG_MSG
      Src: /src/mhd2/src/mhd2/events_process.c:287,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - d
    argTypes:
    - struct MHD_Daemon*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 290
      start: 284
    functionDepth: 1
    functionLinenumber: 284
    functionLinenumberEnd: 290
    functionName: log_itc_broken
    functionSourceFile: /src/mhd2/src/mhd2/events_process.c
    functionUses: 0
    functionsReached:
    - mhd_LOG_MSG
    linkageType: ''
    returnType: MHD_FN_PAR_NONNULL_ALL_
    signature: MHD_FN_PAR_NONNULL_ALL_ log_itc_broken (struct MHD_Daemon *restrict
      d)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: mhd_LOG_MSG
      Src: /src/mhd2/src/mhd2/events_process.c:302,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - d
    argTypes:
    - struct MHD_Daemon*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 305
      start: 299
    functionDepth: 1
    functionLinenumber: 299
    functionLinenumberEnd: 305
    functionName: log_listen_broken
    functionSourceFile: /src/mhd2/src/mhd2/events_process.c
    functionUses: 0
    functionsReached:
    - mhd_LOG_MSG
    linkageType: ''
    returnType: MHD_FN_PAR_NONNULL_ALL_
    signature: MHD_FN_PAR_NONNULL_ALL_ log_listen_broken (struct MHD_Daemon *restrict
      d)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: mhd_DLINKEDL_GET_LAST_D
      Src: /src/mhd2/src/mhd2/events_process.c:315,1
    - Dst: mhd_DLINKEDL_GET_LAST_D
      Src: /src/mhd2/src/mhd2/events_process.c:317,1
    - Dst: uint_fast64_t::mhd_monotonic_msec_counter
      Src: /src/mhd2/src/mhd2/events_process.c:322,1
    - Dst: mhd_conn_get_timeout_left
      Src: /src/mhd2/src/mhd2/events_process.c:326,1
    - Dst: mhd_DLINKEDL_GET_LAST_D
      Src: /src/mhd2/src/mhd2/events_process.c:331,1
    - Dst: mhd_DLINKEDL_GET_PREV
      Src: /src/mhd2/src/mhd2/events_process.c:333,1
    - Dst: mhd_conn_get_timeout_left
      Src: /src/mhd2/src/mhd2/events_process.c:337,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 14
    argCount: 1
    argNames:
    - d
    argTypes:
    - struct MHD_Daemon*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 344
      start: 308
    functionDepth: 2
    functionLinenumber: 308
    functionLinenumberEnd: 344
    functionName: uint_fast64_t::mhd_daemon_get_wait_erliest_timeout
    functionSourceFile: /src/mhd2/src/mhd2/events_process.c
    functionUses: 0
    functionsReached:
    - mhd_DLINKEDL_GET_LAST_D
    - uint_fast64_t::mhd_monotonic_msec_counter
    - mhd_DLINKEDL_GET_PREV
    - mhd_conn_get_timeout_left
    linkageType: ''
    returnType: MHD_FN_PAR_NONNULL_ALL_
    signature: 'MHD_FN_PAR_NONNULL_ALL_ uint_fast64_t

      mhd_daemon_get_wait_erliest_timeout (const struct MHD_Daemon *restrict d)'
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/events_process.c:352,1
    - Dst: mhd_D_HAS_WORKERS
      Src: /src/mhd2/src/mhd2/events_process.c:352,1
    - Dst: fprintf
      Src: /src/mhd2/src/mhd2/events_process.c:357,1
    - Dst: fprintf
      Src: /src/mhd2/src/mhd2/events_process.c:366,1
    - Dst: mhd_DLINKEDL_GET_FIRST
      Src: /src/mhd2/src/mhd2/events_process.c:372,1
    - Dst: fprintf
      Src: /src/mhd2/src/mhd2/events_process.c:375,1
    - Dst: mhd_DLINKEDL_GET_FIRST
      Src: /src/mhd2/src/mhd2/events_process.c:381,1
    - Dst: fprintf
      Src: /src/mhd2/src/mhd2/events_process.c:385,1
    - Dst: mhd_D_IS_USING_KQUEUE
      Src: /src/mhd2/src/mhd2/events_process.c:392,1
    - Dst: mhd_DLINKEDL_GET_FIRST
      Src: /src/mhd2/src/mhd2/events_process.c:394,1
    - Dst: mhd_DLINKEDL_GET_FIRST
      Src: /src/mhd2/src/mhd2/events_process.c:395,1
    - Dst: fprintf
      Src: /src/mhd2/src/mhd2/events_process.c:398,1
    - Dst: mhd_daemon_get_wait_erliest_timeout
      Src: /src/mhd2/src/mhd2/events_process.c:407,1
    - Dst: fprintf
      Src: /src/mhd2/src/mhd2/events_process.c:411,1
    - Dst: fprintf
      Src: /src/mhd2/src/mhd2/events_process.c:414,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 29
    argCount: 1
    argNames:
    - d
    argTypes:
    - struct MHD_Daemon*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 420
      start: 347
    functionDepth: 1
    functionLinenumber: 347
    functionLinenumberEnd: 420
    functionName: mhd_daemon_get_wait_max
    functionSourceFile: /src/mhd2/src/mhd2/events_process.c
    functionUses: 1
    functionsReached:
    - mhd_D_IS_USING_KQUEUE
    - fprintf
    - mhd_D_HAS_WORKERS
    - mhd_assert
    - mhd_DLINKEDL_GET_FIRST
    - mhd_daemon_get_wait_erliest_timeout
    linkageType: ''
    returnType: MHD_INTERNAL
    signature: MHD_INTERNAL mhd_daemon_get_wait_max (const struct MHD_Daemon *restrict
      d)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/events_process.c:427,1
    - Dst: fprintf
      Src: /src/mhd2/src/mhd2/events_process.c:429,1
    - Dst: mhd_conn_init_activity_timeout
      Src: /src/mhd2/src/mhd2/events_process.c:434,1
    - Dst: mhd_conn_mark_ready
      Src: /src/mhd2/src/mhd2/events_process.c:436,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 2
    argNames:
    - c
    - d
    argTypes:
    - struct MHD_Connection*
    - struct MHD_Daemon*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 437
      start: 423
    functionDepth: 2
    functionLinenumber: 423
    functionLinenumberEnd: 437
    functionName: start_resuming_connection
    functionSourceFile: /src/mhd2/src/mhd2/events_process.c
    functionUses: 0
    functionsReached:
    - mhd_conn_init_activity_timeout
    - mhd_conn_mark_ready
    - mhd_assert
    - fprintf
    linkageType: ''
    returnType: MHD_FN_PAR_NONNULL_ALL_
    signature: "MHD_FN_PAR_NONNULL_ALL_ start_resuming_connection (struct MHD_Connection
      *restrict c,\n                           struct MHD_Daemon *restrict d)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: mhd_DLINKEDL_GET_FIRST
      Src: /src/mhd2/src/mhd2/events_process.c:454,1
    - Dst: mhd_DLINKEDL_GET_NEXT
      Src: /src/mhd2/src/mhd2/events_process.c:456,1
    - Dst: start_resuming_connection
      Src: /src/mhd2/src/mhd2/events_process.c:459,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 8
    argCount: 1
    argNames:
    - d
    argTypes:
    - struct MHD_Daemon*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 461
      start: 444
    functionDepth: 3
    functionLinenumber: 444
    functionLinenumberEnd: 461
    functionName: daemon_resume_conns_if_needed
    functionSourceFile: /src/mhd2/src/mhd2/events_process.c
    functionUses: 0
    functionsReached:
    - mhd_DLINKEDL_GET_NEXT
    - mhd_DLINKEDL_GET_FIRST
    - start_resuming_connection
    linkageType: ''
    returnType: MHD_FN_PAR_NONNULL_ALL_
    signature: MHD_FN_PAR_NONNULL_ALL_ daemon_resume_conns_if_needed (struct MHD_Daemon
      *restrict d)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: mhd_daemon_get_wait_max
      Src: /src/mhd2/src/mhd2/events_process.c:471,1
    - Dst: mhd_COND_ALMOST_NEVER
      Src: /src/mhd2/src/mhd2/events_process.c:477,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 6
    argCount: 1
    argNames:
    - d
    argTypes:
    - struct MHD_Daemon*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 482
      start: 466
    functionDepth: 2
    functionLinenumber: 466
    functionLinenumberEnd: 482
    functionName: get_max_wait
    functionSourceFile: /src/mhd2/src/mhd2/events_process.c
    functionUses: 0
    functionsReached:
    - mhd_COND_ALMOST_NEVER
    - mhd_daemon_get_wait_max
    linkageType: ''
    returnType: mhd_DATA_TRUNCATION_RUNTIME_CHECK_DISABLE
    signature: mhd_DATA_TRUNCATION_RUNTIME_CHECK_DISABLE get_max_wait (const struct
      MHD_Daemon *restrict d)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/events_process.c:501,1
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/events_process.c:503,1
    - Dst: dbg_print_fd_state_update
      Src: /src/mhd2/src/mhd2/events_process.c:505,1
    - Dst: mhd_conn_mark_ready_update3
      Src: /src/mhd2/src/mhd2/events_process.c:524,1
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/events_process.c:526,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 15
    argCount: 5
    argNames:
    - d
    - c
    - recv_ready
    - send_ready
    - err_state
    argTypes:
    - struct MHD_Daemon*
    - struct MHD_Connection*
    - bool
    - bool
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 527
      start: 492
    functionDepth: 3
    functionLinenumber: 492
    functionLinenumberEnd: 527
    functionName: update_conn_net_status
    functionSourceFile: /src/mhd2/src/mhd2/events_process.c
    functionUses: 0
    functionsReached:
    - mhd_assert
    - mhd_conn_mark_ready_update3
    - dbg_print_fd_state_update
    linkageType: ''
    returnType: void
    signature: "void update_conn_net_status (struct MHD_Daemon *restrict d,\n                        struct
      MHD_Connection *restrict c,\n                        bool recv_ready,\n                        bool
      send_ready,\n                        bool err_state)"
  - BBCount: 31
    BranchProfiles: []
    Callsites:
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/events_process.c:540,1
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/events_process.c:541,1
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/events_process.c:542,1
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/events_process.c:543,1
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/events_process.c:544,1
    - Dst: mhd_D_HAS_WORKERS
      Src: /src/mhd2/src/mhd2/events_process.c:544,1
    - Dst: mhd_D_HAS_MASTER
      Src: /src/mhd2/src/mhd2/events_process.c:551,1
    - Dst: mhd_daemon_accept_connection
      Src: /src/mhd2/src/mhd2/events_process.c:648,1
    CyclomaticComplexity: 31
    EdgeCount: 31
    ICount: 82
    argCount: 1
    argNames:
    - d
    argTypes:
    - struct MHD_Daemon*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 656
      start: 536
    functionDepth: 1
    functionLinenumber: 536
    functionLinenumberEnd: 656
    functionName: daemon_accept_new_conns
    functionSourceFile: /src/mhd2/src/mhd2/events_process.c
    functionUses: 0
    functionsReached:
    - mhd_D_HAS_WORKERS
    - mhd_D_HAS_MASTER
    - mhd_assert
    - mhd_daemon_accept_connection
    linkageType: ''
    returnType: bool
    signature: bool daemon_accept_new_conns (struct MHD_Daemon *restrict d)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/events_process.c:672,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 1
    argNames:
    - c
    argTypes:
    - struct MHD_Connection*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 679
      start: 666
    functionDepth: 1
    functionLinenumber: 666
    functionLinenumberEnd: 679
    functionName: is_conn_excluded_from_http_comm
    functionSourceFile: /src/mhd2/src/mhd2/events_process.c
    functionUses: 0
    functionsReached:
    - mhd_assert
    linkageType: ''
    returnType: mhd_static_inline
    signature: mhd_static_inline is_conn_excluded_from_http_comm (struct MHD_Connection
      *restrict c)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/events_process.c:686,1
    - Dst: mhd_D_HAS_WORKERS
      Src: /src/mhd2/src/mhd2/events_process.c:686,1
    - Dst: mhd_DLINKEDL_GET_FIRST
      Src: /src/mhd2/src/mhd2/events_process.c:688,1
    - Dst: mhd_DLINKEDL_GET_NEXT
      Src: /src/mhd2/src/mhd2/events_process.c:694,1
    - Dst: mhd_conn_process_recv_send_data
      Src: /src/mhd2/src/mhd2/events_process.c:695,1
    - Dst: mhd_conn_pre_clean
      Src: /src/mhd2/src/mhd2/events_process.c:697,1
    - Dst: mhd_conn_remove_from_daemon
      Src: /src/mhd2/src/mhd2/events_process.c:698,1
    - Dst: mhd_conn_close_final
      Src: /src/mhd2/src/mhd2/events_process.c:699,1
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/events_process.c:703,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 15
    argCount: 1
    argNames:
    - d
    argTypes:
    - struct MHD_Daemon*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 709
      start: 682
    functionDepth: 6
    functionLinenumber: 682
    functionLinenumberEnd: 709
    functionName: daemon_process_all_active_conns
    functionSourceFile: /src/mhd2/src/mhd2/events_process.c
    functionUses: 0
    functionsReached:
    - mhd_D_HAS_WORKERS
    - mhd_conn_close_final
    - mhd_conn_remove_from_daemon
    - mhd_DLINKEDL_GET_NEXT
    - mhd_conn_pre_clean
    - mhd_assert
    - mhd_conn_process_recv_send_data
    - mhd_DLINKEDL_GET_FIRST
    linkageType: ''
    returnType: bool
    signature: bool daemon_process_all_active_conns (struct MHD_Daemon *restrict d)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/events_process.c:721,1
    - Dst: mhd_D_HAS_WORKERS
      Src: /src/mhd2/src/mhd2/events_process.c:721,1
    - Dst: mhd_DLINKEDL_GET_FIRST
      Src: /src/mhd2/src/mhd2/events_process.c:723,1
    - Dst: mhd_mutex_lock_chk
      Src: /src/mhd2/src/mhd2/events_process.c:730,1
    - Dst: mhd_DLINKEDL_GET_FIRST
      Src: /src/mhd2/src/mhd2/events_process.c:731,1
    - Dst: mhd_DLINKEDL_DEL
      Src: /src/mhd2/src/mhd2/events_process.c:733,1
    - Dst: mhd_mutex_unlock_chk
      Src: /src/mhd2/src/mhd2/events_process.c:734,1
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/events_process.c:739,1
    - Dst: mhd_upgraded_deinit
      Src: /src/mhd2/src/mhd2/events_process.c:740,1
    - Dst: mhd_conn_pre_clean
      Src: /src/mhd2/src/mhd2/events_process.c:741,1
    - Dst: mhd_conn_remove_from_daemon
      Src: /src/mhd2/src/mhd2/events_process.c:742,1
    - Dst: mhd_conn_close_final
      Src: /src/mhd2/src/mhd2/events_process.c:743,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 18
    argCount: 1
    argNames:
    - d
    argTypes:
    - struct MHD_Daemon*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 745
      start: 717
    functionDepth: 6
    functionLinenumber: 717
    functionLinenumberEnd: 745
    functionName: daemon_cleanup_upgraded_conns
    functionSourceFile: /src/mhd2/src/mhd2/events_process.c
    functionUses: 0
    functionsReached:
    - mhd_mutex_unlock_chk
    - mhd_D_HAS_WORKERS
    - mhd_conn_close_final
    - mhd_conn_remove_from_daemon
    - mhd_DLINKEDL_DEL
    - mhd_assert
    - mhd_upgraded_deinit
    - mhd_conn_pre_clean
    - mhd_mutex_lock_chk
    - mhd_DLINKEDL_GET_FIRST
    linkageType: ''
    returnType: MHD_FN_PAR_NONNULL_ALL_
    signature: MHD_FN_PAR_NONNULL_ALL_ daemon_cleanup_upgraded_conns (struct MHD_Daemon
      *d)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - d
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 750
      start: 749
    functionDepth: 0
    functionLinenumber: 749
    functionLinenumberEnd: 750
    functionName: daemon_cleanup_upgraded_conns
    functionSourceFile: /src/mhd2/src/mhd2/events_process.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: daemon_cleanup_upgraded_conns(d)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: mhd_D_HAS_THR_PER_CONN
      Src: /src/mhd2/src/mhd2/events_process.c:759,1
    - Dst: mhd_DLINKEDL_GET_FIRST
      Src: /src/mhd2/src/mhd2/events_process.c:761,1
    - Dst: mhd_DLINKEDL_GET_FIRST
      Src: /src/mhd2/src/mhd2/events_process.c:763,1
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/events_process.c:766,1
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/events_process.c:767,1
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/events_process.c:770,1
    - Dst: mhd_upgraded_deinit
      Src: /src/mhd2/src/mhd2/events_process.c:772,1
    - Dst: mhd_C_IS_HTTP2
      Src: /src/mhd2/src/mhd2/events_process.c:779,1
    - Dst: mhd_h2_conn_h2_deinit_start_closing
      Src: /src/mhd2/src/mhd2/events_process.c:780,1
    - Dst: mhd_conn_start_closing_d_shutdown
      Src: /src/mhd2/src/mhd2/events_process.c:783,1
    - Dst: mhd_conn_pre_clean
      Src: /src/mhd2/src/mhd2/events_process.c:785,1
    - Dst: mhd_conn_remove_from_daemon
      Src: /src/mhd2/src/mhd2/events_process.c:786,1
    - Dst: mhd_conn_close_final
      Src: /src/mhd2/src/mhd2/events_process.c:787,1
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/events_process.c:791,1
    - Dst: mhd_LOG_MSG
      Src: /src/mhd2/src/mhd2/events_process.c:794,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 24
    argCount: 1
    argNames:
    - d
    argTypes:
    - struct MHD_Daemon*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 798
      start: 752
    functionDepth: 6
    functionLinenumber: 752
    functionLinenumberEnd: 798
    functionName: mhd_daemon_close_all_conns
    functionSourceFile: /src/mhd2/src/mhd2/events_process.c
    functionUses: 1
    functionsReached:
    - mhd_D_HAS_THR_PER_CONN
    - mhd_h2_conn_h2_deinit_start_closing
    - mhd_conn_close_final
    - mhd_LOG_MSG
    - mhd_conn_remove_from_daemon
    - mhd_conn_start_closing_d_shutdown
    - mhd_upgraded_deinit
    - mhd_C_IS_HTTP2
    - mhd_conn_pre_clean
    - mhd_assert
    - mhd_DLINKEDL_GET_FIRST
    linkageType: ''
    returnType: MHD_INTERNAL
    signature: MHD_INTERNAL mhd_daemon_close_all_conns (struct MHD_Daemon *d)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/events_process.c:814,1
    - Dst: mhd_WM_INT_HAS_EXT_EVENTS
      Src: /src/mhd2/src/mhd2/events_process.c:814,1
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/events_process.c:815,1
    - Dst: mhd_itc_clear
      Src: /src/mhd2/src/mhd2/events_process.c:827,1
    - Dst: mhd_DLINKEDL_GET_FIRST
      Src: /src/mhd2/src/mhd2/events_process.c:831,1
    - Dst: mhd_DLINKEDL_GET_NEXT
      Src: /src/mhd2/src/mhd2/events_process.c:833,1
    - Dst: start_resuming_connection
      Src: /src/mhd2/src/mhd2/events_process.c:838,1
    - Dst: is_conn_excluded_from_http_comm
      Src: /src/mhd2/src/mhd2/events_process.c:841,1
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/events_process.c:843,1
    - Dst: mhd_conn_mark_ready_update3
      Src: /src/mhd2/src/mhd2/events_process.c:850,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 20
    argCount: 1
    argNames:
    - d
    argTypes:
    - struct MHD_Daemon*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 857
      start: 809
    functionDepth: 3
    functionLinenumber: 809
    functionLinenumberEnd: 857
    functionName: '(1) bool

      ext_events_process_net_updates_and_resume_conn (struct MHD_Daemon *restrict
      d)'
    functionSourceFile: /src/mhd2/src/mhd2/events_process.c
    functionUses: 0
    functionsReached:
    - mhd_WM_INT_HAS_EXT_EVENTS
    - start_resuming_connection
    - mhd_itc_clear
    - is_conn_excluded_from_http_comm
    - mhd_DLINKEDL_GET_NEXT
    - mhd_assert
    - mhd_conn_mark_ready_update3
    - mhd_DLINKEDL_GET_FIRST
    linkageType: ''
    returnType: MHD_FN_PAR_NONNULL_
    signature: 'MHD_FN_PAR_NONNULL_ (1) bool

      ext_events_process_net_updates_and_resume_conn (struct MHD_Daemon *restrict
      d)'
  - BBCount: 12
    BranchProfiles: []
    Callsites:
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/events_process.c:874,1
    - Dst: mhd_WM_INT_HAS_EXT_EVENTS
      Src: /src/mhd2/src/mhd2/events_process.c:874,1
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/events_process.c:875,1
    - Dst: mhd_daemon_extr_event_reg
      Src: /src/mhd2/src/mhd2/events_process.c:885,1
    - Dst: mhd_itc_r_fd
      Src: /src/mhd2/src/mhd2/events_process.c:886,1
    - Dst: mhd_daemon_extr_event_reg
      Src: /src/mhd2/src/mhd2/events_process.c:904,1
    - Dst: mhd_log_extr_event_dereg_failed
      Src: /src/mhd2/src/mhd2/events_process.c:911,1
    - Dst: mhd_daemon_extr_event_reg
      Src: /src/mhd2/src/mhd2/events_process.c:919,1
    - Dst: mhd_LOG_MSG
      Src: /src/mhd2/src/mhd2/events_process.c:932,1
    - Dst: mhd_DLINKEDL_GET_FIRST
      Src: /src/mhd2/src/mhd2/events_process.c:938,1
    - Dst: mhd_DLINKEDL_GET_NEXT
      Src: /src/mhd2/src/mhd2/events_process.c:946,1
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/events_process.c:948,1
    - Dst: is_conn_excluded_from_http_comm
      Src: /src/mhd2/src/mhd2/events_process.c:950,1
    - Dst: mhd_daemon_extr_event_reg
      Src: /src/mhd2/src/mhd2/events_process.c:956,1
    - Dst: mhd_log_extr_event_dereg_failed
      Src: /src/mhd2/src/mhd2/events_process.c:962,1
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/events_process.c:975,1
    - Dst: mhd_daemon_extr_event_reg
      Src: /src/mhd2/src/mhd2/events_process.c:985,1
    - Dst: mhd_conn_start_closing_ext_event_failed
      Src: /src/mhd2/src/mhd2/events_process.c:992,1
    - Dst: mhd_conn_pre_clean
      Src: /src/mhd2/src/mhd2/events_process.c:993,1
    - Dst: mhd_conn_remove_from_daemon
      Src: /src/mhd2/src/mhd2/events_process.c:994,1
    - Dst: mhd_conn_close_final
      Src: /src/mhd2/src/mhd2/events_process.c:995,1
    CyclomaticComplexity: 23
    EdgeCount: 23
    ICount: 48
    argCount: 1
    argNames:
    - d
    argTypes:
    - struct MHD_Daemon*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1002
      start: 865
    functionDepth: 6
    functionLinenumber: 865
    functionLinenumberEnd: 1002
    functionName: ext_events_update_registrations
    functionSourceFile: /src/mhd2/src/mhd2/events_process.c
    functionUses: 0
    functionsReached:
    - mhd_daemon_extr_event_reg
    - mhd_WM_INT_HAS_EXT_EVENTS
    - is_conn_excluded_from_http_comm
    - mhd_conn_close_final
    - mhd_LOG_MSG
    - mhd_conn_remove_from_daemon
    - mhd_DLINKEDL_GET_NEXT
    - mhd_itc_r_fd
    - mhd_log_extr_event_dereg_failed
    - mhd_conn_pre_clean
    - mhd_assert
    - mhd_DLINKEDL_GET_FIRST
    - mhd_conn_start_closing_ext_event_failed
    linkageType: ''
    returnType: enum MHD_StatusCode
    signature: enum MHD_StatusCode ext_events_update_registrations (struct MHD_Daemon
      *restrict d)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/events_process.c:1023,1
    - Dst: mhd_FD_FITS_DAEMON
      Src: /src/mhd2/src/mhd2/events_process.c:1023,1
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/events_process.c:1025,1
    - Dst: FD_SET
      Src: /src/mhd2/src/mhd2/events_process.c:1028,1
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/events_process.c:1035,1
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/events_process.c:1036,1
    - Dst: FD_ISSET
      Src: /src/mhd2/src/mhd2/events_process.c:1036,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 11
    argCount: 4
    argNames:
    - fd
    - fs
    - max
    - d
    argTypes:
    - MHD_Socket
    - fd_set*
    - int*
    - struct MHD_Daemon*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1042
      start: 1017
    functionDepth: 1
    functionLinenumber: 1017
    functionLinenumberEnd: 1042
    functionName: fd_set_wrap
    functionSourceFile: /src/mhd2/src/mhd2/events_process.c
    functionUses: 0
    functionsReached:
    - FD_ISSET
    - mhd_FD_FITS_DAEMON
    - mhd_assert
    - FD_SET
    linkageType: ''
    returnType: void
    signature: "void fd_set_wrap (MHD_Socket fd,\n             fd_set *restrict fs,\n
      \            int *restrict max,\n             struct MHD_Daemon *restrict d)"
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/events_process.c:1066,1
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/events_process.c:1067,1
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/events_process.c:1068,1
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/events_process.c:1069,1
    - Dst: FD_ZERO
      Src: /src/mhd2/src/mhd2/events_process.c:1070,1
    - Dst: FD_ZERO
      Src: /src/mhd2/src/mhd2/events_process.c:1071,1
    - Dst: FD_ZERO
      Src: /src/mhd2/src/mhd2/events_process.c:1072,1
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/events_process.c:1076,1
    - Dst: mhd_ITC_IS_VALID
      Src: /src/mhd2/src/mhd2/events_process.c:1076,1
    - Dst: fd_set_wrap
      Src: /src/mhd2/src/mhd2/events_process.c:1077,1
    - Dst: mhd_itc_r_fd
      Src: /src/mhd2/src/mhd2/events_process.c:1077,1
    - Dst: fd_set_wrap
      Src: /src/mhd2/src/mhd2/events_process.c:1081,1
    - Dst: mhd_itc_r_fd
      Src: /src/mhd2/src/mhd2/events_process.c:1081,1
    - Dst: mhd_dbg_print_fd_mon_req
      Src: /src/mhd2/src/mhd2/events_process.c:1085,1
    - Dst: mhd_itc_r_fd
      Src: /src/mhd2/src/mhd2/events_process.c:1086,1
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/events_process.c:1094,1
    - Dst: fd_set_wrap
      Src: /src/mhd2/src/mhd2/events_process.c:1096,1
    - Dst: fd_set_wrap
      Src: /src/mhd2/src/mhd2/events_process.c:1100,1
    - Dst: mhd_dbg_print_fd_mon_req
      Src: /src/mhd2/src/mhd2/events_process.c:1104,1
    - Dst: mhd_DLINKEDL_GET_LAST
      Src: /src/mhd2/src/mhd2/events_process.c:1113,1
    - Dst: mhd_DLINKEDL_GET_PREV
      Src: /src/mhd2/src/mhd2/events_process.c:1114,1
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/events_process.c:1116,1
    - Dst: is_conn_excluded_from_http_comm
      Src: /src/mhd2/src/mhd2/events_process.c:1117,1
    - Dst: fd_set_wrap
      Src: /src/mhd2/src/mhd2/events_process.c:1121,1
    - Dst: fd_set_wrap
      Src: /src/mhd2/src/mhd2/events_process.c:1126,1
    - Dst: fd_set_wrap
      Src: /src/mhd2/src/mhd2/events_process.c:1130,1
    - Dst: mhd_dbg_print_fd_mon_req
      Src: /src/mhd2/src/mhd2/events_process.c:1134,1
    - Dst: FD_ISSET
      Src: /src/mhd2/src/mhd2/events_process.c:1136,1
    - Dst: FD_ISSET
      Src: /src/mhd2/src/mhd2/events_process.c:1137,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 33
    argCount: 2
    argNames:
    - d
    - listen_only
    argTypes:
    - struct MHD_Daemon*
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1142
      start: 1056
    functionDepth: 2
    functionLinenumber: 1056
    functionLinenumberEnd: 1142
    functionName: "(1) int\nselect_update_fdsets (struct MHD_Daemon *restrict d,\n
      \                     bool listen_only)"
    functionSourceFile: /src/mhd2/src/mhd2/events_process.c
    functionUses: 0
    functionsReached:
    - FD_ZERO
    - fd_set_wrap
    - mhd_DLINKEDL_GET_LAST
    - mhd_ITC_IS_VALID
    - is_conn_excluded_from_http_comm
    - FD_ISSET
    - mhd_DLINKEDL_GET_PREV
    - mhd_dbg_print_fd_mon_req
    - mhd_itc_r_fd
    - mhd_assert
    linkageType: ''
    returnType: MHD_FN_PAR_NONNULL_
    signature: "MHD_FN_PAR_NONNULL_ (1) int\nselect_update_fdsets (struct MHD_Daemon
      *restrict d,\n                      bool listen_only)"
  - BBCount: 13
    BranchProfiles: []
    Callsites:
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/events_process.c:1155,1
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/events_process.c:1156,1
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/events_process.c:1157,1
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/events_process.c:1162,1
    - Dst: mhd_D_TYPE_IS_LISTEN_ONLY
      Src: /src/mhd2/src/mhd2/events_process.c:1162,1
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/events_process.c:1163,1
    - Dst: mhd_D_HAS_THR_PER_CONN
      Src: /src/mhd2/src/mhd2/events_process.c:1163,1
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/events_process.c:1174,1
    - Dst: mhd_ITC_IS_VALID
      Src: /src/mhd2/src/mhd2/events_process.c:1174,1
    - Dst: dbg_print_fd_state_update
      Src: /src/mhd2/src/mhd2/events_process.c:1175,1
    - Dst: mhd_itc_r_fd
      Src: /src/mhd2/src/mhd2/events_process.c:1176,1
    - Dst: FD_ISSET
      Src: /src/mhd2/src/mhd2/events_process.c:1177,1
    - Dst: mhd_itc_r_fd
      Src: /src/mhd2/src/mhd2/events_process.c:1177,1
    - Dst: FD_ISSET
      Src: /src/mhd2/src/mhd2/events_process.c:1178,1
    - Dst: mhd_itc_r_fd
      Src: /src/mhd2/src/mhd2/events_process.c:1178,1
    - Dst: FD_ISSET
      Src: /src/mhd2/src/mhd2/events_process.c:1179,1
    - Dst: mhd_itc_r_fd
      Src: /src/mhd2/src/mhd2/events_process.c:1179,1
    - Dst: FD_ISSET
      Src: /src/mhd2/src/mhd2/events_process.c:1180,1
    - Dst: mhd_itc_r_fd
      Src: /src/mhd2/src/mhd2/events_process.c:1180,1
    - Dst: log_itc_broken
      Src: /src/mhd2/src/mhd2/events_process.c:1182,1
    - Dst: FD_ISSET
      Src: /src/mhd2/src/mhd2/events_process.c:1187,1
    - Dst: mhd_itc_r_fd
      Src: /src/mhd2/src/mhd2/events_process.c:1187,1
    - Dst: mhd_itc_clear
      Src: /src/mhd2/src/mhd2/events_process.c:1194,1
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/events_process.c:1205,1
    - Dst: dbg_print_fd_state_update
      Src: /src/mhd2/src/mhd2/events_process.c:1206,1
    - Dst: FD_ISSET
      Src: /src/mhd2/src/mhd2/events_process.c:1208,1
    - Dst: FD_ISSET
      Src: /src/mhd2/src/mhd2/events_process.c:1209,1
    - Dst: FD_ISSET
      Src: /src/mhd2/src/mhd2/events_process.c:1210,1
    - Dst: FD_ISSET
      Src: /src/mhd2/src/mhd2/events_process.c:1211,1
    - Dst: log_listen_broken
      Src: /src/mhd2/src/mhd2/events_process.c:1214,1
    - Dst: mhd_D_HAS_MASTER
      Src: /src/mhd2/src/mhd2/events_process.c:1216,1
    - Dst: mhd_socket_close
      Src: /src/mhd2/src/mhd2/events_process.c:1217,1
    - Dst: FD_ISSET
      Src: /src/mhd2/src/mhd2/events_process.c:1224,1
    - Dst: FD_ISSET
      Src: /src/mhd2/src/mhd2/events_process.c:1230,1
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/events_process.c:1236,1
    - Dst: mhd_D_TYPE_IS_LISTEN_ONLY
      Src: /src/mhd2/src/mhd2/events_process.c:1237,1
    - Dst: mhd_DLINKEDL_GET_FIRST
      Src: /src/mhd2/src/mhd2/events_process.c:1244,1
    - Dst: mhd_DLINKEDL_GET_NEXT
      Src: /src/mhd2/src/mhd2/events_process.c:1246,1
    - Dst: start_resuming_connection
      Src: /src/mhd2/src/mhd2/events_process.c:1249,1
    - Dst: is_conn_excluded_from_http_comm
      Src: /src/mhd2/src/mhd2/events_process.c:1257,1
    - Dst: FD_ISSET
      Src: /src/mhd2/src/mhd2/events_process.c:1261,1
    - Dst: FD_ISSET
      Src: /src/mhd2/src/mhd2/events_process.c:1262,1
    - Dst: FD_ISSET
      Src: /src/mhd2/src/mhd2/events_process.c:1263,1
    - Dst: update_conn_net_status
      Src: /src/mhd2/src/mhd2/events_process.c:1265,1
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/events_process.c:1278,1
    CyclomaticComplexity: 17
    EdgeCount: 17
    ICount: 62
    argCount: 2
    argNames:
    - d
    - num_events
    argTypes:
    - struct MHD_Daemon*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1281
      start: 1145
    functionDepth: 4
    functionLinenumber: 1145
    functionLinenumberEnd: 1281
    functionName: "(1) bool\nselect_update_statuses_from_fdsets_and_resume_conn (struct
      MHD_Daemon *d,\n                                                    int num_events)"
    functionSourceFile: /src/mhd2/src/mhd2/events_process.c
    functionUses: 0
    functionsReached:
    - mhd_D_HAS_THR_PER_CONN
    - mhd_socket_close
    - log_itc_broken
    - mhd_ITC_IS_VALID
    - start_resuming_connection
    - FD_ISSET
    - mhd_itc_clear
    - is_conn_excluded_from_http_comm
    - mhd_DLINKEDL_GET_NEXT
    - update_conn_net_status
    - log_listen_broken
    - mhd_D_HAS_MASTER
    - mhd_D_TYPE_IS_LISTEN_ONLY
    - mhd_itc_r_fd
    - mhd_assert
    - mhd_DLINKEDL_GET_FIRST
    - dbg_print_fd_state_update
    linkageType: ''
    returnType: MHD_FN_PAR_NONNULL_
    signature: "MHD_FN_PAR_NONNULL_ (1) bool\nselect_update_statuses_from_fdsets_and_resume_conn
      (struct MHD_Daemon *d,\n                                                    int
      num_events)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: mhd_daemon_get_wait_max
      Src: /src/mhd2/src/mhd2/events_process.c:1296,1
    - Dst: mhd_COND_ALMOST_NEVER
      Src: /src/mhd2/src/mhd2/events_process.c:1319,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 16
    argCount: 2
    argNames:
    - d
    - tmvl
    argTypes:
    - struct MHD_Daemon*
    - struct timeval*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1336
      start: 1292
    functionDepth: 2
    functionLinenumber: 1292
    functionLinenumberEnd: 1336
    functionName: get_timeval_for_select
    functionSourceFile: /src/mhd2/src/mhd2/events_process.c
    functionUses: 0
    functionsReached:
    - mhd_COND_ALMOST_NEVER
    - mhd_daemon_get_wait_max
    linkageType: ''
    returnType: struct timeval
    signature: "struct timeval *\nget_timeval_for_select (const struct MHD_Daemon
      *restrict d,\n                        struct timeval *tmvl)"
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/events_process.c:1356,1
    - Dst: select_update_fdsets
      Src: /src/mhd2/src/mhd2/events_process.c:1358,1
    - Dst: get_timeval_for_select
      Src: /src/mhd2/src/mhd2/events_process.c:1361,1
    - Dst: Sleep
      Src: /src/mhd2/src/mhd2/events_process.c:1367,1
    - Dst: fprintf
      Src: /src/mhd2/src/mhd2/events_process.c:1374,1
    - Dst: fprintf
      Src: /src/mhd2/src/mhd2/events_process.c:1380,1
    - Dst: select
      Src: /src/mhd2/src/mhd2/events_process.c:1384,1
    - Dst: fprintf
      Src: /src/mhd2/src/mhd2/events_process.c:1391,1
    - Dst: fprintf
      Src: /src/mhd2/src/mhd2/events_process.c:1399,1
    - Dst: WSAGetLastError
      Src: /src/mhd2/src/mhd2/events_process.c:1422,1
    - Dst: mhd_LOG_MSG
      Src: /src/mhd2/src/mhd2/events_process.c:1431,1
    - Dst: mhd_LOG_MSG
      Src: /src/mhd2/src/mhd2/events_process.c:1435,1
    - Dst: select_update_statuses_from_fdsets_and_resume_conn
      Src: /src/mhd2/src/mhd2/events_process.c:1441,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 35
    argCount: 2
    argNames:
    - d
    - listen_only
    argTypes:
    - struct MHD_Daemon*
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1442
      start: 1348
    functionDepth: 3
    functionLinenumber: 1348
    functionLinenumberEnd: 1442
    functionName: "(1) bool\nget_all_net_updates_by_select_and_resume_conn (struct
      MHD_Daemon *restrict d,\n                                               bool
      listen_only)"
    functionSourceFile: /src/mhd2/src/mhd2/events_process.c
    functionUses: 0
    functionsReached:
    - select
    - select_update_statuses_from_fdsets_and_resume_conn
    - fprintf
    - get_timeval_for_select
    - mhd_LOG_MSG
    - select_update_fdsets
    - WSAGetLastError
    - mhd_assert
    - Sleep
    linkageType: ''
    returnType: MHD_FN_PAR_NONNULL_
    signature: "MHD_FN_PAR_NONNULL_ (1) bool\nget_all_net_updates_by_select_and_resume_conn
      (struct MHD_Daemon *restrict d,\n                                               bool
      listen_only)"
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/events_process.c:1461,1
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/events_process.c:1465,1
    - Dst: mhd_ITC_IS_VALID
      Src: /src/mhd2/src/mhd2/events_process.c:1465,1
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/events_process.c:1466,1
    - Dst: mhd_itc_r_fd
      Src: /src/mhd2/src/mhd2/events_process.c:1467,1
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/events_process.c:1468,1
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/events_process.c:1471,1
    - Dst: mhd_dbg_print_fd_mon_req
      Src: /src/mhd2/src/mhd2/events_process.c:1475,1
    - Dst: mhd_itc_r_fd
      Src: /src/mhd2/src/mhd2/events_process.c:1476,1
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/events_process.c:1484,1
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/events_process.c:1485,1
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/events_process.c:1486,1
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/events_process.c:1489,1
    - Dst: mhd_dbg_print_fd_mon_req
      Src: /src/mhd2/src/mhd2/events_process.c:1493,1
    - Dst: mhd_DLINKEDL_GET_FIRST
      Src: /src/mhd2/src/mhd2/events_process.c:1504,1
    - Dst: mhd_DLINKEDL_GET_NEXT
      Src: /src/mhd2/src/mhd2/events_process.c:1505,1
    - Dst: is_conn_excluded_from_http_comm
      Src: /src/mhd2/src/mhd2/events_process.c:1509,1
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/events_process.c:1517,1
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/events_process.c:1518,1
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/events_process.c:1519,1
    - Dst: mhd_dbg_print_fd_mon_req
      Src: /src/mhd2/src/mhd2/events_process.c:1530,1
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/events_process.c:1537,1
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/events_process.c:1538,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 44
    argCount: 2
    argNames:
    - d
    - listen_only
    argTypes:
    - struct MHD_Daemon*
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1540
      start: 1450
    functionDepth: 2
    functionLinenumber: 1450
    functionLinenumberEnd: 1540
    functionName: "(1) unsigned int\npoll_update_fds (struct MHD_Daemon *restrict
      d,\n                 bool listen_only)"
    functionSourceFile: /src/mhd2/src/mhd2/events_process.c
    functionUses: 0
    functionsReached:
    - mhd_ITC_IS_VALID
    - is_conn_excluded_from_http_comm
    - mhd_DLINKEDL_GET_NEXT
    - mhd_dbg_print_fd_mon_req
    - mhd_itc_r_fd
    - mhd_assert
    - mhd_DLINKEDL_GET_FIRST
    linkageType: ''
    returnType: MHD_FN_PAR_NONNULL_
    signature: "MHD_FN_PAR_NONNULL_ (1) unsigned int\npoll_update_fds (struct MHD_Daemon
      *restrict d,\n                 bool listen_only)"
  - BBCount: 16
    BranchProfiles: []
    Callsites:
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/events_process.c:1549,1
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/events_process.c:1550,1
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/events_process.c:1551,1
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/events_process.c:1558,1
    - Dst: mhd_ITC_IS_VALID
      Src: /src/mhd2/src/mhd2/events_process.c:1558,1
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/events_process.c:1559,1
    - Dst: mhd_itc_r_fd
      Src: /src/mhd2/src/mhd2/events_process.c:1560,1
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/events_process.c:1561,1
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/events_process.c:1564,1
    - Dst: dbg_print_fd_state_update
      Src: /src/mhd2/src/mhd2/events_process.c:1566,1
    - Dst: log_itc_broken
      Src: /src/mhd2/src/mhd2/events_process.c:1575,1
    - Dst: mhd_itc_clear
      Src: /src/mhd2/src/mhd2/events_process.c:1587,1
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/events_process.c:1599,1
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/events_process.c:1600,1
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/events_process.c:1601,1
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/events_process.c:1604,1
    - Dst: dbg_print_fd_state_update
      Src: /src/mhd2/src/mhd2/events_process.c:1607,1
    - Dst: log_listen_broken
      Src: /src/mhd2/src/mhd2/events_process.c:1615,1
    - Dst: mhd_D_HAS_MASTER
      Src: /src/mhd2/src/mhd2/events_process.c:1617,1
    - Dst: mhd_socket_close
      Src: /src/mhd2/src/mhd2/events_process.c:1618,1
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/events_process.c:1644,1
    - Dst: mhd_D_TYPE_IS_LISTEN_ONLY
      Src: /src/mhd2/src/mhd2/events_process.c:1645,1
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/events_process.c:1654,1
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/events_process.c:1655,1
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/events_process.c:1657,1
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/events_process.c:1659,1
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/events_process.c:1663,1
    - Dst: is_conn_excluded_from_http_comm
      Src: /src/mhd2/src/mhd2/events_process.c:1663,1
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/events_process.c:1664,1
    - Dst: update_conn_net_status
      Src: /src/mhd2/src/mhd2/events_process.c:1692,1
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/events_process.c:1694,1
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/events_process.c:1695,1
    CyclomaticComplexity: 21
    EdgeCount: 21
    ICount: 80
    argCount: 2
    argNames:
    - d
    - num_events
    argTypes:
    - struct MHD_Daemon*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1697
      start: 1543
    functionDepth: 4
    functionLinenumber: 1543
    functionLinenumberEnd: 1697
    functionName: "(1) bool\npoll_update_statuses_from_fds (struct MHD_Daemon *restrict
      d,\n                               int num_events)"
    functionSourceFile: /src/mhd2/src/mhd2/events_process.c
    functionUses: 0
    functionsReached:
    - mhd_socket_close
    - log_itc_broken
    - mhd_ITC_IS_VALID
    - is_conn_excluded_from_http_comm
    - mhd_itc_clear
    - update_conn_net_status
    - log_listen_broken
    - mhd_D_HAS_MASTER
    - mhd_D_TYPE_IS_LISTEN_ONLY
    - mhd_itc_r_fd
    - mhd_assert
    - dbg_print_fd_state_update
    linkageType: ''
    returnType: MHD_FN_PAR_NONNULL_
    signature: "MHD_FN_PAR_NONNULL_ (1) bool\npoll_update_statuses_from_fds (struct
      MHD_Daemon *restrict d,\n                               int num_events)"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/events_process.c:1715,1
    - Dst: poll_update_fds
      Src: /src/mhd2/src/mhd2/events_process.c:1717,1
    - Dst: get_max_wait
      Src: /src/mhd2/src/mhd2/events_process.c:1720,1
    - Dst: fprintf
      Src: /src/mhd2/src/mhd2/events_process.c:1723,1
    - Dst: mhd_poll
      Src: /src/mhd2/src/mhd2/events_process.c:1729,1
    - Dst: fprintf
      Src: /src/mhd2/src/mhd2/events_process.c:1733,1
    - Dst: WSAGetLastError
      Src: /src/mhd2/src/mhd2/events_process.c:1756,1
    - Dst: mhd_LOG_MSG
      Src: /src/mhd2/src/mhd2/events_process.c:1764,1
    - Dst: mhd_LOG_MSG
      Src: /src/mhd2/src/mhd2/events_process.c:1768,1
    - Dst: poll_update_statuses_from_fds
      Src: /src/mhd2/src/mhd2/events_process.c:1774,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 27
    argCount: 2
    argNames:
    - d
    - listen_only
    argTypes:
    - struct MHD_Daemon*
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1775
      start: 1700
    functionDepth: 3
    functionLinenumber: 1700
    functionLinenumberEnd: 1775
    functionName: "(1) bool\nget_all_net_updates_by_poll (struct MHD_Daemon *restrict
      d,\n                             bool listen_only)"
    functionSourceFile: /src/mhd2/src/mhd2/events_process.c
    functionUses: 0
    functionsReached:
    - mhd_poll
    - fprintf
    - mhd_LOG_MSG
    - WSAGetLastError
    - poll_update_statuses_from_fds
    - get_max_wait
    - poll_update_fds
    - mhd_assert
    linkageType: ''
    returnType: MHD_FN_PAR_NONNULL_
    signature: "MHD_FN_PAR_NONNULL_ (1) bool\nget_all_net_updates_by_poll (struct
      MHD_Daemon *restrict d,\n                             bool listen_only)"
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/events_process.c:1799,1
    - Dst: mhd_ITC_IS_VALID
      Src: /src/mhd2/src/mhd2/events_process.c:1799,1
    - Dst: dbg_print_fd_state_update
      Src: /src/mhd2/src/mhd2/events_process.c:1800,1
    - Dst: mhd_itc_r_fd
      Src: /src/mhd2/src/mhd2/events_process.c:1802,1
    - Dst: log_itc_broken
      Src: /src/mhd2/src/mhd2/events_process.c:1809,1
    - Dst: mhd_itc_clear
      Src: /src/mhd2/src/mhd2/events_process.c:1820,1
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/events_process.c:1827,1
    - Dst: dbg_print_fd_state_update
      Src: /src/mhd2/src/mhd2/events_process.c:1828,1
    - Dst: log_listen_broken
      Src: /src/mhd2/src/mhd2/events_process.c:1836,1
    - Dst: mhd_D_HAS_MASTER
      Src: /src/mhd2/src/mhd2/events_process.c:1839,1
    - Dst: mhd_socket_close
      Src: /src/mhd2/src/mhd2/events_process.c:1840,1
    - Dst: epoll_ctl
      Src: /src/mhd2/src/mhd2/events_process.c:1845,1
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/events_process.c:1865,1
    - Dst: is_conn_excluded_from_http_comm
      Src: /src/mhd2/src/mhd2/events_process.c:1865,1
    - Dst: update_conn_net_status
      Src: /src/mhd2/src/mhd2/events_process.c:1870,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 36
    argCount: 2
    argNames:
    - d
    - num_events
    argTypes:
    - struct MHD_Daemon*
    - unsigned int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1874
      start: 1786
    functionDepth: 4
    functionLinenumber: 1786
    functionLinenumberEnd: 1874
    functionName: "(1) bool\nupdate_statuses_from_eevents (struct MHD_Daemon *restrict
      d,\n                              unsigned int num_events)"
    functionSourceFile: /src/mhd2/src/mhd2/events_process.c
    functionUses: 0
    functionsReached:
    - mhd_socket_close
    - log_itc_broken
    - mhd_ITC_IS_VALID
    - is_conn_excluded_from_http_comm
    - mhd_itc_clear
    - update_conn_net_status
    - log_listen_broken
    - mhd_D_HAS_MASTER
    - mhd_itc_r_fd
    - mhd_assert
    - epoll_ctl
    - dbg_print_fd_state_update
    linkageType: ''
    returnType: MHD_FN_PAR_NONNULL_
    signature: "MHD_FN_PAR_NONNULL_ (1) bool\nupdate_statuses_from_eevents (struct
      MHD_Daemon *restrict d,\n                              unsigned int num_events)"
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/events_process.c:1888,1
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/events_process.c:1889,1
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/events_process.c:1890,1
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/events_process.c:1891,1
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/events_process.c:1893,1
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/events_process.c:1894,1
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/events_process.c:1895,1
    - Dst: get_max_wait
      Src: /src/mhd2/src/mhd2/events_process.c:1914,1
    - Dst: fprintf
      Src: /src/mhd2/src/mhd2/events_process.c:1918,1
    - Dst: epoll_wait
      Src: /src/mhd2/src/mhd2/events_process.c:1924,1
    - Dst: fprintf
      Src: /src/mhd2/src/mhd2/events_process.c:1929,1
    - Dst: mhd_LOG_MSG
      Src: /src/mhd2/src/mhd2/events_process.c:1942,1
    - Dst: update_statuses_from_eevents
      Src: /src/mhd2/src/mhd2/events_process.c:1948,1
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/events_process.c:1955,1
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/events_process.c:1956,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 40
    argCount: 1
    argNames:
    - d
    argTypes:
    - struct MHD_Daemon*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1964
      start: 1881
    functionDepth: 3
    functionLinenumber: 1881
    functionLinenumberEnd: 1964
    functionName: '(1) bool

      get_all_net_updates_by_epoll (struct MHD_Daemon *restrict d)'
    functionSourceFile: /src/mhd2/src/mhd2/events_process.c
    functionUses: 0
    functionsReached:
    - fprintf
    - update_statuses_from_eevents
    - mhd_LOG_MSG
    - epoll_wait
    - get_max_wait
    - mhd_assert
    linkageType: ''
    returnType: MHD_FN_PAR_NONNULL_
    signature: 'MHD_FN_PAR_NONNULL_ (1) bool

      get_all_net_updates_by_epoll (struct MHD_Daemon *restrict d)'
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/events_process.c:1976,1
    - Dst: mhd_D_IS_USING_KQUEUE
      Src: /src/mhd2/src/mhd2/events_process.c:1976,1
    - Dst: mhd_ASSUME
      Src: /src/mhd2/src/mhd2/events_process.c:1977,1
    - Dst: mhd_KE_GET_UDATA
      Src: /src/mhd2/src/mhd2/events_process.c:1977,1
    - Dst: mhd_ASSUME
      Src: /src/mhd2/src/mhd2/events_process.c:1978,1
    - Dst: mhd_KE_GET_UDATA
      Src: /src/mhd2/src/mhd2/events_process.c:1978,1
    - Dst: mhd_KE_GET_UDATA
      Src: /src/mhd2/src/mhd2/events_process.c:1980,1
    - Dst: mhd_KE_GET_UDATA
      Src: /src/mhd2/src/mhd2/events_process.c:1987,1
    - Dst: mhd_ASSUME
      Src: /src/mhd2/src/mhd2/events_process.c:1989,1
    - Dst: mhd_conn_start_closing_no_sys_res
      Src: /src/mhd2/src/mhd2/events_process.c:1991,1
    - Dst: mhd_conn_pre_clean
      Src: /src/mhd2/src/mhd2/events_process.c:1992,1
    - Dst: mhd_conn_remove_from_daemon
      Src: /src/mhd2/src/mhd2/events_process.c:1993,1
    - Dst: mhd_conn_close_final
      Src: /src/mhd2/src/mhd2/events_process.c:1994,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 13
    argCount: 2
    argNames:
    - d
    - upd_event
    argTypes:
    - struct MHD_Daemon*
    - struct kevent*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1996
      start: 1972
    functionDepth: 6
    functionLinenumber: 1972
    functionLinenumberEnd: 1996
    functionName: kqueue_handle_missed_change
    functionSourceFile: /src/mhd2/src/mhd2/events_process.c
    functionUses: 0
    functionsReached:
    - mhd_conn_start_closing_no_sys_res
    - mhd_D_IS_USING_KQUEUE
    - mhd_ASSUME
    - mhd_conn_close_final
    - mhd_conn_remove_from_daemon
    - mhd_KE_GET_UDATA
    - mhd_conn_pre_clean
    - mhd_assert
    linkageType: ''
    returnType: void
    signature: "void kqueue_handle_missed_change (struct MHD_Daemon *restrict d,\n
      \                            const struct kevent *restrict upd_event)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: mhd_ASSUME
      Src: /src/mhd2/src/mhd2/events_process.c:2007,1
    - Dst: kqueue_handle_missed_change
      Src: /src/mhd2/src/mhd2/events_process.c:2010,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 3
    argNames:
    - d
    - kes
    - num_elements
    argTypes:
    - struct MHD_Daemon*
    - struct kevent*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2012
      start: 2000
    functionDepth: 7
    functionLinenumber: 2000
    functionLinenumberEnd: 2012
    functionName: kqueue_handle_missed_changes
    functionSourceFile: /src/mhd2/src/mhd2/events_process.c
    functionUses: 0
    functionsReached:
    - kqueue_handle_missed_change
    - mhd_ASSUME
    linkageType: ''
    returnType: void
    signature: "void kqueue_handle_missed_changes (struct MHD_Daemon *restrict d,\n
      \                             struct kevent *restrict kes,\n                              int
      num_elements)"
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/events_process.c:2023,1
    - Dst: mhd_D_IS_USING_KQUEUE
      Src: /src/mhd2/src/mhd2/events_process.c:2023,1
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/events_process.c:2024,1
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/events_process.c:2025,1
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/events_process.c:2031,1
    - Dst: mhd_KE_SET
      Src: /src/mhd2/src/mhd2/events_process.c:2033,1
    - Dst: mhd_dbg_print_kevent_change
      Src: /src/mhd2/src/mhd2/events_process.c:2040,1
    - Dst: mhd_DLINKEDL_GET_FIRST
      Src: /src/mhd2/src/mhd2/events_process.c:2048,1
    - Dst: mhd_DLINKEDL_GET_NEXT
      Src: /src/mhd2/src/mhd2/events_process.c:2055,1
    - Dst: mhd_ASSUME
      Src: /src/mhd2/src/mhd2/events_process.c:2063,1
    - Dst: mhd_ASSUME
      Src: /src/mhd2/src/mhd2/events_process.c:2064,1
    - Dst: mhd_DLINKEDL_GET_PREV
      Src: /src/mhd2/src/mhd2/events_process.c:2066,1
    - Dst: mhd_ASSUME
      Src: /src/mhd2/src/mhd2/events_process.c:2068,1
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/events_process.c:2070,1
    - Dst: is_conn_excluded_from_http_comm
      Src: /src/mhd2/src/mhd2/events_process.c:2070,1
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/events_process.c:2071,1
    - Dst: fprintf
      Src: /src/mhd2/src/mhd2/events_process.c:2081,1
    - Dst: mhd_kevent
      Src: /src/mhd2/src/mhd2/events_process.c:2087,1
    - Dst: fprintf
      Src: /src/mhd2/src/mhd2/events_process.c:2094,1
    - Dst: kqueue_handle_missed_changes
      Src: /src/mhd2/src/mhd2/events_process.c:2104,1
    - Dst: mhd_KE_SET
      Src: /src/mhd2/src/mhd2/events_process.c:2113,1
    - Dst: mhd_dbg_print_kevent_change
      Src: /src/mhd2/src/mhd2/events_process.c:2118,1
    - Dst: mhd_KE_SET
      Src: /src/mhd2/src/mhd2/events_process.c:2124,1
    - Dst: mhd_dbg_print_kevent_change
      Src: /src/mhd2/src/mhd2/events_process.c:2129,1
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/events_process.c:2136,1
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/events_process.c:2139,1
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/events_process.c:2140,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 49
    argCount: 1
    argNames:
    - d
    argTypes:
    - struct MHD_Daemon*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2143
      start: 2015
    functionDepth: 8
    functionLinenumber: 2015
    functionLinenumberEnd: 2143
    functionName: update_kqueue_monitoring
    functionSourceFile: /src/mhd2/src/mhd2/events_process.c
    functionUses: 0
    functionsReached:
    - mhd_D_IS_USING_KQUEUE
    - fprintf
    - mhd_ASSUME
    - is_conn_excluded_from_http_comm
    - mhd_kevent
    - kqueue_handle_missed_changes
    - mhd_DLINKEDL_GET_NEXT
    - mhd_DLINKEDL_GET_PREV
    - mhd_dbg_print_kevent_change
    - mhd_assert
    - mhd_DLINKEDL_GET_FIRST
    - mhd_KE_SET
    linkageType: ''
    returnType: MHD_FN_PAR_NONNULL_ALL_
    signature: MHD_FN_PAR_NONNULL_ALL_ update_kqueue_monitoring (struct MHD_Daemon
      *restrict d)
  - BBCount: 11
    BranchProfiles: []
    Callsites:
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/events_process.c:2157,1
    - Dst: mhd_D_IS_USING_KQUEUE
      Src: /src/mhd2/src/mhd2/events_process.c:2157,1
    - Dst: mhd_KE_GET_UDATA
      Src: /src/mhd2/src/mhd2/events_process.c:2164,1
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/events_process.c:2166,1
    - Dst: mhd_ITC_IS_VALID
      Src: /src/mhd2/src/mhd2/events_process.c:2166,1
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/events_process.c:2167,1
    - Dst: mhd_itc_r_fd
      Src: /src/mhd2/src/mhd2/events_process.c:2167,1
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/events_process.c:2168,1
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/events_process.c:2169,1
    - Dst: mhd_dbg_print_kevent_report
      Src: /src/mhd2/src/mhd2/events_process.c:2173,1
    - Dst: log_itc_broken
      Src: /src/mhd2/src/mhd2/events_process.c:2178,1
    - Dst: mhd_itc_clear
      Src: /src/mhd2/src/mhd2/events_process.c:2187,1
    - Dst: mhd_KE_GET_UDATA
      Src: /src/mhd2/src/mhd2/events_process.c:2191,1
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/events_process.c:2194,1
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/events_process.c:2195,1
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/events_process.c:2196,1
    - Dst: mhd_dbg_print_kevent_report
      Src: /src/mhd2/src/mhd2/events_process.c:2200,1
    - Dst: log_listen_broken
      Src: /src/mhd2/src/mhd2/events_process.c:2211,1
    - Dst: mhd_D_HAS_MASTER
      Src: /src/mhd2/src/mhd2/events_process.c:2214,1
    - Dst: mhd_socket_close
      Src: /src/mhd2/src/mhd2/events_process.c:2215,1
    - Dst: mhd_KE_SET
      Src: /src/mhd2/src/mhd2/events_process.c:2222,1
    - Dst: fprintf
      Src: /src/mhd2/src/mhd2/events_process.c:2229,1
    - Dst: mhd_kevent
      Src: /src/mhd2/src/mhd2/events_process.c:2234,1
    - Dst: fprintf
      Src: /src/mhd2/src/mhd2/events_process.c:2241,1
    - Dst: mhd_KE_GET_UDATA
      Src: /src/mhd2/src/mhd2/events_process.c:2265,1
    - Dst: mhd_ASSUME
      Src: /src/mhd2/src/mhd2/events_process.c:2267,1
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/events_process.c:2268,1
    - Dst: mhd_ASSUME
      Src: /src/mhd2/src/mhd2/events_process.c:2269,1
    - Dst: mhd_KE_GET_UDATA
      Src: /src/mhd2/src/mhd2/events_process.c:2269,1
    - Dst: mhd_dbg_print_kevent_report
      Src: /src/mhd2/src/mhd2/events_process.c:2271,1
    - Dst: kqueue_handle_missed_change
      Src: /src/mhd2/src/mhd2/events_process.c:2277,1
    - Dst: mhd_socket_error_get_from_sys_err
      Src: /src/mhd2/src/mhd2/events_process.c:2289,1
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/events_process.c:2290,1
    - Dst: mhd_SOCKET_ERR_IS_HARD
      Src: /src/mhd2/src/mhd2/events_process.c:2290,1
    - Dst: mhd_SCKT_NET_ST_HAS_FLAG_SEND
      Src: /src/mhd2/src/mhd2/events_process.c:2299,1
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/events_process.c:2303,1
    - Dst: mhd_SCKT_NET_ST_HAS_FLAG_RECV
      Src: /src/mhd2/src/mhd2/events_process.c:2304,1
    - Dst: update_conn_net_status
      Src: /src/mhd2/src/mhd2/events_process.c:2308,1
    - Dst: mhd_SCKT_NET_ST_HAS_FLAG_ERROR
      Src: /src/mhd2/src/mhd2/events_process.c:2313,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 69
    argCount: 2
    argNames:
    - d
    - num_events
    argTypes:
    - struct MHD_Daemon*
    - unsigned int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2317
      start: 2150
    functionDepth: 7
    functionLinenumber: 2150
    functionLinenumberEnd: 2317
    functionName: "(1) bool\nupdate_statuses_from_kevents (struct MHD_Daemon *restrict
      d,\n                              unsigned int num_events)"
    functionSourceFile: /src/mhd2/src/mhd2/events_process.c
    functionUses: 0
    functionsReached:
    - fprintf
    - mhd_D_HAS_MASTER
    - mhd_SCKT_NET_ST_HAS_FLAG_ERROR
    - mhd_itc_r_fd
    - mhd_KE_SET
    - mhd_D_IS_USING_KQUEUE
    - mhd_SCKT_NET_ST_HAS_FLAG_RECV
    - mhd_ASSUME
    - kqueue_handle_missed_change
    - update_conn_net_status
    - mhd_dbg_print_kevent_report
    - log_itc_broken
    - mhd_itc_clear
    - mhd_KE_GET_UDATA
    - mhd_kevent
    - log_listen_broken
    - mhd_socket_close
    - mhd_SCKT_NET_ST_HAS_FLAG_SEND
    - mhd_ITC_IS_VALID
    - mhd_socket_error_get_from_sys_err
    - mhd_SOCKET_ERR_IS_HARD
    - mhd_assert
    linkageType: ''
    returnType: MHD_FN_PAR_NONNULL_
    signature: "MHD_FN_PAR_NONNULL_ (1) bool\nupdate_statuses_from_kevents (struct
      MHD_Daemon *restrict d,\n                              unsigned int num_events)"
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/events_process.c:2334,1
    - Dst: mhd_D_IS_USING_KQUEUE
      Src: /src/mhd2/src/mhd2/events_process.c:2334,1
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/events_process.c:2335,1
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/events_process.c:2336,1
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/events_process.c:2337,1
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/events_process.c:2338,1
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/events_process.c:2339,1
    - Dst: update_kqueue_monitoring
      Src: /src/mhd2/src/mhd2/events_process.c:2341,1
    - Dst: mhd_ASSUME
      Src: /src/mhd2/src/mhd2/events_process.c:2342,1
    - Dst: mhd_daemon_get_wait_max
      Src: /src/mhd2/src/mhd2/events_process.c:2359,1
    - Dst: fprintf
      Src: /src/mhd2/src/mhd2/events_process.c:2367,1
    - Dst: fprintf
      Src: /src/mhd2/src/mhd2/events_process.c:2374,1
    - Dst: kevent
      Src: /src/mhd2/src/mhd2/events_process.c:2384,1
    - Dst: fprintf
      Src: /src/mhd2/src/mhd2/events_process.c:2392,1
    - Dst: fprintf
      Src: /src/mhd2/src/mhd2/events_process.c:2400,1
    - Dst: mhd_LOG_MSG
      Src: /src/mhd2/src/mhd2/events_process.c:2417,1
    - Dst: update_statuses_from_kevents
      Src: /src/mhd2/src/mhd2/events_process.c:2421,1
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/events_process.c:2433,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 46
    argCount: 1
    argNames:
    - d
    argTypes:
    - struct MHD_Daemon*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2441
      start: 2324
    functionDepth: 9
    functionLinenumber: 2324
    functionLinenumberEnd: 2441
    functionName: '(1) bool

      get_all_net_updates_by_kqueue (struct MHD_Daemon *restrict d)'
    functionSourceFile: /src/mhd2/src/mhd2/events_process.c
    functionUses: 0
    functionsReached:
    - mhd_D_IS_USING_KQUEUE
    - fprintf
    - mhd_ASSUME
    - update_statuses_from_kevents
    - mhd_LOG_MSG
    - update_kqueue_monitoring
    - mhd_daemon_get_wait_max
    - mhd_assert
    - kevent
    linkageType: ''
    returnType: MHD_FN_PAR_NONNULL_
    signature: 'MHD_FN_PAR_NONNULL_ (1) bool

      get_all_net_updates_by_kqueue (struct MHD_Daemon *restrict d)'
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/events_process.c:2458,1
    - Dst: mhd_D_HAS_WORKERS
      Src: /src/mhd2/src/mhd2/events_process.c:2458,1
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/events_process.c:2459,1
    - Dst: mhd_D_HAS_THR_PER_CONN
      Src: /src/mhd2/src/mhd2/events_process.c:2459,1
    - Dst: mhd_DLINKEDL_GET_LAST_D
      Src: /src/mhd2/src/mhd2/events_process.c:2463,1
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/events_process.c:2467,1
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/events_process.c:2468,1
    - Dst: mhd_conn_is_timeout_expired
      Src: /src/mhd2/src/mhd2/events_process.c:2470,1
    - Dst: mhd_DLINKEDL_GET_PREV
      Src: /src/mhd2/src/mhd2/events_process.c:2472,1
    - Dst: mhd_conn_start_closing_timedout
      Src: /src/mhd2/src/mhd2/events_process.c:2474,1
    - Dst: mhd_conn_pre_clean
      Src: /src/mhd2/src/mhd2/events_process.c:2475,1
    - Dst: mhd_conn_remove_from_daemon
      Src: /src/mhd2/src/mhd2/events_process.c:2476,1
    - Dst: mhd_conn_close_final
      Src: /src/mhd2/src/mhd2/events_process.c:2477,1
    - Dst: mhd_DLINKEDL_GET_LAST_D
      Src: /src/mhd2/src/mhd2/events_process.c:2486,1
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/events_process.c:2490,1
    - Dst: mhd_DLINKEDL_GET_PREV
      Src: /src/mhd2/src/mhd2/events_process.c:2492,1
    - Dst: mhd_conn_is_timeout_expired
      Src: /src/mhd2/src/mhd2/events_process.c:2495,1
    - Dst: mhd_conn_start_closing_timedout
      Src: /src/mhd2/src/mhd2/events_process.c:2497,1
    - Dst: mhd_conn_pre_clean
      Src: /src/mhd2/src/mhd2/events_process.c:2498,1
    - Dst: mhd_conn_remove_from_daemon
      Src: /src/mhd2/src/mhd2/events_process.c:2499,1
    - Dst: mhd_conn_close_final
      Src: /src/mhd2/src/mhd2/events_process.c:2500,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 29
    argCount: 1
    argNames:
    - d
    argTypes:
    - struct MHD_Daemon*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2506
      start: 2451
    functionDepth: 6
    functionLinenumber: 2451
    functionLinenumberEnd: 2506
    functionName: daemon_close_timedout_conns
    functionSourceFile: /src/mhd2/src/mhd2/events_process.c
    functionUses: 0
    functionsReached:
    - mhd_DLINKEDL_GET_LAST_D
    - mhd_D_HAS_THR_PER_CONN
    - mhd_conn_is_timeout_expired
    - mhd_D_HAS_WORKERS
    - mhd_conn_close_final
    - mhd_conn_remove_from_daemon
    - mhd_DLINKEDL_GET_PREV
    - mhd_conn_pre_clean
    - mhd_assert
    - mhd_conn_start_closing_timedout
    linkageType: ''
    returnType: MHD_FN_PAR_NONNULL_ALL_
    signature: MHD_FN_PAR_NONNULL_ALL_ daemon_close_timedout_conns (struct MHD_Daemon
      *restrict d)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - d
    argTypes:
    - struct MHD_Daemon*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2517
      start: 2513
    functionDepth: 0
    functionLinenumber: 2513
    functionLinenumberEnd: 2517
    functionName: daemon_reset_per_round_data
    functionSourceFile: /src/mhd2/src/mhd2/events_process.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: MHD_FN_PAR_NONNULL_ALL_
    signature: MHD_FN_PAR_NONNULL_ALL_ daemon_reset_per_round_data (struct MHD_Daemon
      *restrict d)
  - BBCount: 16
    BranchProfiles: []
    Callsites:
    - Dst: daemon_reset_per_round_data
      Src: /src/mhd2/src/mhd2/events_process.c:2540,1
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/events_process.c:2545,1
    - Dst: mhd_WM_INT_HAS_EXT_EVENTS
      Src: /src/mhd2/src/mhd2/events_process.c:2545,1
    - Dst: ext_events_process_net_updates_and_resume_conn
      Src: /src/mhd2/src/mhd2/events_process.c:2546,1
    - Dst: get_all_net_updates_by_select_and_resume_conn
      Src: /src/mhd2/src/mhd2/events_process.c:2551,1
    - Dst: get_all_net_updates_by_poll
      Src: /src/mhd2/src/mhd2/events_process.c:2557,1
    - Dst: daemon_resume_conns_if_needed
      Src: /src/mhd2/src/mhd2/events_process.c:2559,1
    - Dst: get_all_net_updates_by_epoll
      Src: /src/mhd2/src/mhd2/events_process.c:2564,1
    - Dst: daemon_resume_conns_if_needed
      Src: /src/mhd2/src/mhd2/events_process.c:2566,1
    - Dst: get_all_net_updates_by_kqueue
      Src: /src/mhd2/src/mhd2/events_process.c:2571,1
    - Dst: daemon_resume_conns_if_needed
      Src: /src/mhd2/src/mhd2/events_process.c:2573,1
    - Dst: mhd_UNREACHABLE
      Src: /src/mhd2/src/mhd2/events_process.c:2584,1
    - Dst: MHD_PANIC
      Src: /src/mhd2/src/mhd2/events_process.c:2585,1
    - Dst: mhd_daemon_process_ext_added_conns
      Src: /src/mhd2/src/mhd2/events_process.c:2589,1
    - Dst: daemon_accept_new_conns
      Src: /src/mhd2/src/mhd2/events_process.c:2592,1
    - Dst: daemon_process_all_active_conns
      Src: /src/mhd2/src/mhd2/events_process.c:2594,1
    - Dst: daemon_close_timedout_conns
      Src: /src/mhd2/src/mhd2/events_process.c:2595,1
    - Dst: daemon_cleanup_upgraded_conns
      Src: /src/mhd2/src/mhd2/events_process.c:2596,1
    - Dst: mhd_D_HAS_STOP_REQ
      Src: /src/mhd2/src/mhd2/events_process.c:2597,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 42
    argCount: 1
    argNames:
    - d
    argTypes:
    - struct MHD_Daemon*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2598
      start: 2537
    functionDepth: 7
    functionLinenumber: 2537
    functionLinenumberEnd: 2598
    functionName: process_all_events_and_data
    functionSourceFile: /src/mhd2/src/mhd2/events_process.c
    functionUses: 0
    functionsReached:
    - daemon_resume_conns_if_needed
    - daemon_accept_new_conns
    - mhd_WM_INT_HAS_EXT_EVENTS
    - mhd_D_HAS_STOP_REQ
    - ext_events_process_net_updates_and_resume_conn
    - get_all_net_updates_by_epoll
    - MHD_PANIC
    - daemon_reset_per_round_data
    - get_all_net_updates_by_select_and_resume_conn
    - mhd_UNREACHABLE
    - mhd_daemon_process_ext_added_conns
    - get_all_net_updates_by_poll
    - get_all_net_updates_by_kqueue
    - daemon_cleanup_upgraded_conns
    - mhd_assert
    - daemon_process_all_active_conns
    - daemon_close_timedout_conns
    linkageType: ''
    returnType: bool
    signature: bool process_all_events_and_data (struct MHD_Daemon *restrict d)
  - BBCount: 11
    BranchProfiles: []
    Callsites:
    - Dst: mhd_WM_INT_HAS_EXT_EVENTS
      Src: /src/mhd2/src/mhd2/events_process.c:2610,1
    - Dst: process_all_events_and_data
      Src: /src/mhd2/src/mhd2/events_process.c:2624,1
    - Dst: ext_events_update_registrations
      Src: /src/mhd2/src/mhd2/events_process.c:2629,1
    - Dst: log_itc_broken
      Src: /src/mhd2/src/mhd2/events_process.c:2636,1
    - Dst: log_listen_broken
      Src: /src/mhd2/src/mhd2/events_process.c:2643,1
    - Dst: mhd_daemon_get_wait_max
      Src: /src/mhd2/src/mhd2/events_process.c:2648,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 28
    argCount: 2
    argNames:
    - MHD_RESTRICT
    - MHD_RESTRICT next_max_wait
    argTypes:
    - struct MHD_Daemon*
    - uint_fast64_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2651
      start: 2602
    functionDepth: 8
    functionLinenumber: 2602
    functionLinenumberEnd: 2651
    functionName: process_reg_events_int
    functionSourceFile: /src/mhd2/src/mhd2/events_process.c
    functionUses: 0
    functionsReached:
    - mhd_WM_INT_HAS_EXT_EVENTS
    - log_itc_broken
    - process_all_events_and_data
    - ext_events_update_registrations
    - log_listen_broken
    - mhd_daemon_get_wait_max
    linkageType: ''
    returnType: enum MHD_StatusCode
    signature: "enum MHD_StatusCode process_reg_events_int (struct MHD_Daemon *MHD_RESTRICT
      daemon,\n                        uint_fast64_t *MHD_RESTRICT next_max_wait)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: fprintf
      Src: /src/mhd2/src/mhd2/events_process.c:2661,1
    - Dst: process_reg_events_int
      Src: /src/mhd2/src/mhd2/events_process.c:2665,1
    - Dst: fprintf
      Src: /src/mhd2/src/mhd2/events_process.c:2669,1
    - Dst: fprintf
      Src: /src/mhd2/src/mhd2/events_process.c:2674,1
    - Dst: fprintf
      Src: /src/mhd2/src/mhd2/events_process.c:2679,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 2
    argNames:
    - MHD_RESTRICT
    - MHD_RESTRICT next_max_wait
    argTypes:
    - struct MHD_Daemon*
    - uint_fast64_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2686
      start: 2655
    functionDepth: 9
    functionLinenumber: 2655
    functionLinenumberEnd: 2686
    functionName: MHD_daemon_process_reg_events
    functionSourceFile: /src/mhd2/src/mhd2/events_process.c
    functionUses: 2
    functionsReached:
    - process_reg_events_int
    - fprintf
    linkageType: ''
    returnType: enum MHD_StatusCode
    signature: "enum MHD_StatusCode MHD_daemon_process_reg_events (struct MHD_Daemon
      *MHD_RESTRICT daemon,\n                               uint_fast64_t *MHD_RESTRICT
      next_max_wait)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: mhd_thread_handle_ID_set_current_thread_ID
      Src: /src/mhd2/src/mhd2/events_process.c:2699,1
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/events_process.c:2700,1
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/events_process.c:2701,1
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/events_process.c:2702,1
    - Dst: mhd_D_TYPE_IS_VALID
      Src: /src/mhd2/src/mhd2/events_process.c:2702,1
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/events_process.c:2703,1
    - Dst: mhd_D_TYPE_HAS_EVENTS_PROCESSING
      Src: /src/mhd2/src/mhd2/events_process.c:2703,1
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/events_process.c:2704,1
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/events_process.c:2705,1
    - Dst: mhd_D_TYPE_HAS_WORKERS
      Src: /src/mhd2/src/mhd2/events_process.c:2705,1
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/events_process.c:2706,1
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/events_process.c:2707,1
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/events_process.c:2708,1
    - Dst: mhd_thread_block_sigpipe
      Src: /src/mhd2/src/mhd2/events_process.c:2712,1
    - Dst: process_all_events_and_data
      Src: /src/mhd2/src/mhd2/events_process.c:2717,1
    - Dst: mhd_LOG_MSG
      Src: /src/mhd2/src/mhd2/events_process.c:2722,1
    - Dst: mhd_daemon_close_all_conns
      Src: /src/mhd2/src/mhd2/events_process.c:2726,1
    - Dst: mhd_D_HAS_TLS
      Src: /src/mhd2/src/mhd2/events_process.c:2729,1
    - Dst: mhd_tls_thread_cleanup
      Src: /src/mhd2/src/mhd2/events_process.c:2730,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 23
    argCount: 1
    argNames:
    - cls
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2734
      start: 2695
    functionDepth: 8
    functionLinenumber: 2695
    functionLinenumberEnd: 2734
    functionName: mhd_THRD_CALL_SPEC::mhd_worker_all_events
    functionSourceFile: /src/mhd2/src/mhd2/events_process.c
    functionUses: 0
    functionsReached:
    - mhd_daemon_close_all_conns
    - mhd_tls_thread_cleanup
    - mhd_D_TYPE_HAS_WORKERS
    - process_all_events_and_data
    - mhd_LOG_MSG
    - mhd_D_TYPE_HAS_EVENTS_PROCESSING
    - mhd_thread_block_sigpipe
    - mhd_D_TYPE_IS_VALID
    - mhd_thread_handle_ID_set_current_thread_ID
    - mhd_D_HAS_TLS
    - mhd_assert
    linkageType: ''
    returnType: mhd_THRD_RTRN_TYPE
    signature: 'mhd_THRD_RTRN_TYPE mhd_THRD_CALL_SPEC

      mhd_worker_all_events (void *cls)'
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: get_all_net_updates_by_poll
      Src: /src/mhd2/src/mhd2/events_process.c:2751,1
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/events_process.c:2758,1
    - Dst: mhd_UNREACHABLE
      Src: /src/mhd2/src/mhd2/events_process.c:2759,1
    - Dst: MHD_PANIC
      Src: /src/mhd2/src/mhd2/events_process.c:2760,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 12
    argCount: 1
    argNames:
    - d
    argTypes:
    - struct MHD_Daemon*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2761
      start: 2737
    functionDepth: 1
    functionLinenumber: 2737
    functionLinenumberEnd: 2761
    functionName: '(1) bool

      process_listening_and_itc_only (struct MHD_Daemon *restrict d)'
    functionSourceFile: /src/mhd2/src/mhd2/events_process.c
    functionUses: 0
    functionsReached:
    - mhd_UNREACHABLE
    - MHD_PANIC
    - mhd_assert
    - get_all_net_updates_by_poll
    linkageType: ''
    returnType: MHD_FN_PAR_NONNULL_
    signature: 'MHD_FN_PAR_NONNULL_ (1) bool

      process_listening_and_itc_only (struct MHD_Daemon *restrict d)'
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: mhd_thread_handle_ID_set_current_thread_ID
      Src: /src/mhd2/src/mhd2/events_process.c:2775,1
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/events_process.c:2777,1
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/events_process.c:2778,1
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/events_process.c:2779,1
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/events_process.c:2780,1
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/events_process.c:2781,1
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/events_process.c:2782,1
    - Dst: mhd_thread_block_sigpipe
      Src: /src/mhd2/src/mhd2/events_process.c:2786,1
    - Dst: process_listening_and_itc_only
      Src: /src/mhd2/src/mhd2/events_process.c:2791,1
    - Dst: mhd_LOG_MSG
      Src: /src/mhd2/src/mhd2/events_process.c:2796,1
    - Dst: mhd_D_HAS_TLS
      Src: /src/mhd2/src/mhd2/events_process.c:2802,1
    - Dst: mhd_tls_thread_cleanup
      Src: /src/mhd2/src/mhd2/events_process.c:2803,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 19
    argCount: 1
    argNames:
    - cls
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2807
      start: 2771
    functionDepth: 1
    functionLinenumber: 2771
    functionLinenumberEnd: 2807
    functionName: mhd_THRD_CALL_SPEC::mhd_worker_listening_only
    functionSourceFile: /src/mhd2/src/mhd2/events_process.c
    functionUses: 0
    functionsReached:
    - mhd_tls_thread_cleanup
    - mhd_LOG_MSG
    - process_listening_and_itc_only
    - mhd_thread_block_sigpipe
    - mhd_thread_handle_ID_set_current_thread_ID
    - mhd_D_HAS_TLS
    - mhd_assert
    linkageType: ''
    returnType: mhd_THRD_RTRN_TYPE
    signature: 'mhd_THRD_RTRN_TYPE mhd_THRD_CALL_SPEC

      mhd_worker_listening_only (void *cls)'
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: MHD_PANIC
      Src: /src/mhd2/src/mhd2/events_process.c:2814,1
    - Dst: mhd_D_HAS_TLS
      Src: /src/mhd2/src/mhd2/events_process.c:2817,1
    - Dst: mhd_tls_thread_cleanup
      Src: /src/mhd2/src/mhd2/events_process.c:2818,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 1
    argNames:
    - cls
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2822
      start: 2810
    functionDepth: 1
    functionLinenumber: 2810
    functionLinenumberEnd: 2822
    functionName: mhd_THRD_CALL_SPEC::mhd_worker_connection
    functionSourceFile: /src/mhd2/src/mhd2/events_process.c
    functionUses: 0
    functionsReached:
    - mhd_D_HAS_TLS
    - MHD_PANIC
    - mhd_tls_thread_cleanup
    linkageType: ''
    returnType: mhd_THRD_RTRN_TYPE
    signature: 'mhd_THRD_RTRN_TYPE mhd_THRD_CALL_SPEC

      mhd_worker_connection (void *cls)'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: mbedtls_md5_init
      Src: /src/mhd2/src/mhd2/md5_mbedtls.c:57,1
    - Dst: mbedtls_md5_starts
      Src: /src/mhd2/src/mhd2/md5_mbedtls.c:58,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - ctx
    argTypes:
    - struct mhd_Md5CtxMtls*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 59
      start: 54
    functionDepth: 0
    functionLinenumber: 54
    functionLinenumberEnd: 59
    functionName: mhd_MD5_mtls_init
    functionSourceFile: /src/mhd2/src/mhd2/md5_mbedtls.c
    functionUses: 0
    functionsReached:
    - mbedtls_md5_init
    - mbedtls_md5_starts
    linkageType: ''
    returnType: void
    signature: void mhd_MD5_mtls_init (struct mhd_Md5CtxMtls *ctx)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: mbedtls_md5_starts
      Src: /src/mhd2/src/mhd2/md5_mbedtls.c:68,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - ctx
    argTypes:
    - struct mhd_Md5CtxMtls*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 69
      start: 62
    functionDepth: 0
    functionLinenumber: 62
    functionLinenumberEnd: 69
    functionName: mhd_MD5_mtls_reset
    functionSourceFile: /src/mhd2/src/mhd2/md5_mbedtls.c
    functionUses: 0
    functionsReached:
    - mbedtls_md5_starts
    linkageType: ''
    returnType: void
    signature: void mhd_MD5_mtls_reset (struct mhd_Md5CtxMtls *ctx)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/md5_mbedtls.c:79,1
    - Dst: mbedtls_md5_update
      Src: /src/mhd2/src/mhd2/md5_mbedtls.c:85,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 3
    argNames:
    - ctx
    - size
    - data
    argTypes:
    - struct mhd_Md5CtxMtls*
    - size_t
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 88
      start: 73
    functionDepth: 1
    functionLinenumber: 73
    functionLinenumberEnd: 88
    functionName: mhd_MD5_mtls_update
    functionSourceFile: /src/mhd2/src/mhd2/md5_mbedtls.c
    functionUses: 0
    functionsReached:
    - mhd_assert
    - mbedtls_md5_update
    linkageType: ''
    returnType: void
    signature: "void mhd_MD5_mtls_update (struct mhd_Md5CtxMtls *restrict ctx,\n                     size_t
      size,\n                     const void *restrict data)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: MHD_FN_PAR_FIX_ARR_SIZE_
      Src: /src/mhd2/src/mhd2/md5_mbedtls.c:95,1
    - Dst: mbedtls_md5_finish
      Src: /src/mhd2/src/mhd2/md5_mbedtls.c:100,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 2
    argNames:
    - ctx
    - digest
    argTypes:
    - struct mhd_Md5CtxMtls*
    - uint8_t[]
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 102
      start: 92
    functionDepth: 0
    functionLinenumber: 92
    functionLinenumberEnd: 102
    functionName: mhd_MD5_mtls_finish
    functionSourceFile: /src/mhd2/src/mhd2/md5_mbedtls.c
    functionUses: 0
    functionsReached:
    - MHD_FN_PAR_FIX_ARR_SIZE_
    - mbedtls_md5_finish
    linkageType: ''
    returnType: void
    signature: "void mhd_MD5_mtls_finish (\n  struct mhd_Md5CtxMtls *restrict ctx,\n
      \ uint8_t digest[MHD_FN_PAR_FIX_ARR_SIZE_ (mhd_MD5_DIGEST_SIZE)])"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: mbedtls_md5_free
      Src: /src/mhd2/src/mhd2/md5_mbedtls.c:108,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ctx
    argTypes:
    - struct mhd_Md5CtxMtls*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 109
      start: 105
    functionDepth: 0
    functionLinenumber: 105
    functionLinenumberEnd: 109
    functionName: mhd_MD5_mtls_deinit
    functionSourceFile: /src/mhd2/src/mhd2/md5_mbedtls.c
    functionUses: 0
    functionsReached:
    - mbedtls_md5_free
    linkageType: ''
    returnType: void
    signature: void mhd_MD5_mtls_deinit (struct mhd_Md5CtxMtls *ctx)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - v
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 83
      start: 81
    functionDepth: 0
    functionLinenumber: 81
    functionLinenumberEnd: 83
    functionName: MHD_HTTP_VERSION_IS_1X
    functionSourceFile: /src/mhd2/src/mhd2/http_prot_ver.h
    functionUses: 3
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: MHD_HTTP_VERSION_IS_1X(v)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - v
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 89
      start: 87
    functionDepth: 0
    functionLinenumber: 87
    functionLinenumberEnd: 89
    functionName: MHD_HTTP_VERSION_IS_LIKE_11
    functionSourceFile: /src/mhd2/src/mhd2/http_prot_ver.h
    functionUses: 3
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: MHD_HTTP_VERSION_IS_LIKE_11(v)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - v
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 96
      start: 93
    functionDepth: 0
    functionLinenumber: 93
    functionLinenumberEnd: 96
    functionName: MHD_HTTP_VERSION_IS_VALID
    functionSourceFile: /src/mhd2/src/mhd2/http_prot_ver.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: MHD_HTTP_VERSION_IS_VALID(v)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - req
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 555
      start: 554
    functionDepth: 0
    functionLinenumber: 554
    functionLinenumberEnd: 555
    functionName: mhd_REQ_IS_HTTP2
    functionSourceFile: /src/mhd2/src/mhd2/mhd_request.h
    functionUses: 6
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: mhd_REQ_IS_HTTP2(req)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - req
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 557
      start: 556
    functionDepth: 0
    functionLinenumber: 556
    functionLinenumberEnd: 557
    functionName: mhd_REQ_IS_HTTP2
    functionSourceFile: /src/mhd2/src/mhd2/mhd_request.h
    functionUses: 6
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: mhd_REQ_IS_HTTP2(req)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - req
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 564
      start: 560
    functionDepth: 0
    functionLinenumber: 560
    functionLinenumberEnd: 564
    functionName: mhd_REQ_GET_ACT_UNION
    functionSourceFile: /src/mhd2/src/mhd2/mhd_request.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: mhd_REQ_GET_ACT_UNION(req)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - req
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 566
      start: 565
    functionDepth: 0
    functionLinenumber: 565
    functionLinenumberEnd: 566
    functionName: mhd_REQ_GET_ACT_UNION
    functionSourceFile: /src/mhd2/src/mhd2/mhd_request.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: mhd_REQ_GET_ACT_UNION(req)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - req
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 569
      start: 568
    functionDepth: 0
    functionLinenumber: 568
    functionLinenumberEnd: 569
    functionName: mhd_REQ_GET_ACT_HEAD
    functionSourceFile: /src/mhd2/src/mhd2/mhd_request.h
    functionUses: 4
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: mhd_REQ_GET_ACT_HEAD(req)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - req
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 571
      start: 570
    functionDepth: 0
    functionLinenumber: 570
    functionLinenumberEnd: 571
    functionName: mhd_REQ_GET_ACT_UPLD
    functionSourceFile: /src/mhd2/src/mhd2/mhd_request.h
    functionUses: 3
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: mhd_REQ_GET_ACT_UPLD(req)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 73
      start: 62
    functionDepth: 0
    functionLinenumber: 62
    functionLinenumberEnd: 73
    functionName: mhd_AuthHeaderKind
    functionSourceFile: /src/mhd2/src/mhd2/request_auth_get.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: enum MHD_FIXED_ENUM_
    signature: enum MHD_FIXED_ENUM_ mhd_AuthHeaderKind
  - BBCount: 12
    BranchProfiles: []
    Callsites:
    - Dst: mhd_SCKT_ERR_IS_EAGAIN
      Src: /src/mhd2/src/mhd2/mhd_socket_error_funcs.c:54,1
    - Dst: mhd_SCKT_ERR_IS_EINTR
      Src: /src/mhd2/src/mhd2/mhd_socket_error_funcs.c:56,1
    - Dst: mhd_SCKT_ERR_IS_CONNRESET
      Src: /src/mhd2/src/mhd2/mhd_socket_error_funcs.c:58,1
    - Dst: mhd_SCKT_ERR_IS_CONN_BROKEN
      Src: /src/mhd2/src/mhd2/mhd_socket_error_funcs.c:60,1
    - Dst: mhd_SCKT_ERR_IS_PIPE
      Src: /src/mhd2/src/mhd2/mhd_socket_error_funcs.c:62,1
    - Dst: mhd_SCKT_ERR_IS_NOTCONN
      Src: /src/mhd2/src/mhd2/mhd_socket_error_funcs.c:64,1
    - Dst: mhd_SCKT_ERR_IS_LOW_MEM
      Src: /src/mhd2/src/mhd2/mhd_socket_error_funcs.c:66,1
    - Dst: mhd_SCKT_ERR_IS_BADF
      Src: /src/mhd2/src/mhd2/mhd_socket_error_funcs.c:68,1
    - Dst: mhd_SCKT_ERR_IS_EINVAL
      Src: /src/mhd2/src/mhd2/mhd_socket_error_funcs.c:70,1
    - Dst: mhd_SCKT_ERR_IS_OPNOTSUPP
      Src: /src/mhd2/src/mhd2/mhd_socket_error_funcs.c:72,1
    - Dst: mhd_SCKT_ERR_IS_NOTSOCK
      Src: /src/mhd2/src/mhd2/mhd_socket_error_funcs.c:74,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 24
    argCount: 1
    argNames:
    - socket_err
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 78
      start: 51
    functionDepth: 1
    functionLinenumber: 51
    functionLinenumberEnd: 78
    functionName: mhd_socket_error_get_from_sys_err
    functionSourceFile: /src/mhd2/src/mhd2/mhd_socket_error_funcs.c
    functionUses: 5
    functionsReached:
    - mhd_SCKT_ERR_IS_NOTCONN
    - mhd_SCKT_ERR_IS_NOTSOCK
    - mhd_SCKT_ERR_IS_EAGAIN
    - mhd_SCKT_ERR_IS_CONN_BROKEN
    - mhd_SCKT_ERR_IS_PIPE
    - mhd_SCKT_ERR_IS_EINTR
    - mhd_SCKT_ERR_IS_OPNOTSUPP
    - mhd_SCKT_ERR_IS_BADF
    - mhd_SCKT_ERR_IS_LOW_MEM
    - mhd_SCKT_ERR_IS_CONNRESET
    - mhd_SCKT_ERR_IS_EINVAL
    linkageType: ''
    returnType: MHD_INTERNAL
    signature: MHD_INTERNAL mhd_socket_error_get_from_sys_err (int socket_err)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: mhd_getsockopt
      Src: /src/mhd2/src/mhd2/mhd_socket_error_funcs.c:90,1
    - Dst: mhd_socket_error_get_from_sys_err
      Src: /src/mhd2/src/mhd2/mhd_socket_error_funcs.c:96,1
    - Dst: mhd_socket_error_get_from_sys_err
      Src: /src/mhd2/src/mhd2/mhd_socket_error_funcs.c:98,1
    - Dst: mhd_SCKT_GET_LERR
      Src: /src/mhd2/src/mhd2/mhd_socket_error_funcs.c:98,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 8
    argCount: 1
    argNames:
    - fd
    argTypes:
    - MHD_Socket
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 104
      start: 81
    functionDepth: 2
    functionLinenumber: 81
    functionLinenumberEnd: 104
    functionName: mhd_socket_error_get_from_socket
    functionSourceFile: /src/mhd2/src/mhd2/mhd_socket_error_funcs.c
    functionUses: 3
    functionsReached:
    - mhd_getsockopt
    - mhd_socket_error_get_from_sys_err
    - mhd_SCKT_GET_LERR
    linkageType: ''
    returnType: MHD_INTERNAL
    signature: MHD_INTERNAL mhd_socket_error_get_from_socket (MHD_Socket fd)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/mhd_tls_internal.c:62,1
    - Dst: memcmp
      Src: /src/mhd2/src/mhd2/mhd_tls_internal.c:69,1
    - Dst: memcmp
      Src: /src/mhd2/src/mhd2/mhd_tls_internal.c:76,1
    - Dst: memcmp
      Src: /src/mhd2/src/mhd2/mhd_tls_internal.c:82,1
    - Dst: mhd_UNREACHABLE_D
      Src: /src/mhd2/src/mhd2/mhd_tls_internal.c:87,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 12
    argCount: 2
    argNames:
    - alnp_id_size
    - alnp_id
    argTypes:
    - size_t
    - unsigned char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 90
      start: 58
    functionDepth: 1
    functionLinenumber: 58
    functionLinenumberEnd: 90
    functionName: mhd_tls_alpn_decode_n
    functionSourceFile: /src/mhd2/src/mhd2/mhd_tls_internal.c
    functionUses: 3
    functionsReached:
    - mhd_UNREACHABLE_D
    - mhd_assert
    - memcmp
    linkageType: ''
    returnType: enum mhd_TlsAlpnProt
    signature: "enum mhd_TlsAlpnProt mhd_tls_alpn_decode_n (size_t alnp_id_size,\n
      \                      const unsigned char *alnp_id)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - c
    argTypes:
    - struct MHD_Connection*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 119
      start: 114
    functionDepth: 0
    functionLinenumber: 114
    functionLinenumberEnd: 119
    functionName: connection_set_http_layer_init_state
    functionSourceFile: /src/mhd2/src/mhd2/daemon_add_conn.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void connection_set_http_layer_init_state (struct MHD_Connection *restrict
      c)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - c
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 124
      start: 123
    functionDepth: 0
    functionLinenumber: 123
    functionLinenumberEnd: 124
    functionName: connection_set_http_layer_init_state
    functionSourceFile: /src/mhd2/src/mhd2/daemon_add_conn.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: connection_set_http_layer_init_state(c)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/daemon_add_conn.c:141,1
    - Dst: memset
      Src: /src/mhd2/src/mhd2/daemon_add_conn.c:147,1
    - Dst: memset
      Src: /src/mhd2/src/mhd2/daemon_add_conn.c:149,1
    - Dst: mhd_DLINKEDL_INIT_LIST
      Src: /src/mhd2/src/mhd2/daemon_add_conn.c:153,1
    - Dst: mhd_DLINKEDL_INIT_LIST
      Src: /src/mhd2/src/mhd2/daemon_add_conn.c:155,1
    - Dst: mhd_pool_allocate
      Src: /src/mhd2/src/mhd2/daemon_add_conn.c:180,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 26
    argCount: 1
    argNames:
    - c
    argTypes:
    - struct MHD_Connection*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 184
      start: 136
    functionDepth: 2
    functionLinenumber: 136
    functionLinenumberEnd: 184
    functionName: connection_set_initial_state
    functionSourceFile: /src/mhd2/src/mhd2/daemon_add_conn.c
    functionUses: 0
    functionsReached:
    - mhd_DLINKEDL_INIT_LIST
    - mhd_assert
    - mhd_pool_allocate
    - memset
    linkageType: ''
    returnType: void
    signature: void connection_set_initial_state (struct MHD_Connection *restrict
      c)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - daemon
    - connection
    - closed
    argTypes:
    - struct MHD_Daemon*
    - struct MHD_Connection*
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 194
      start: 187
    functionDepth: 0
    functionLinenumber: 187
    functionLinenumberEnd: 194
    functionName: notify_app_conn
    functionSourceFile: /src/mhd2/src/mhd2/daemon_add_conn.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: "void notify_app_conn (struct MHD_Daemon *restrict daemon,\n                 struct
      MHD_Connection *restrict connection,\n                 bool closed)"
  - BBCount: 14
    BranchProfiles: []
    Callsites:
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/daemon_add_conn.c:237,1
    - Dst: mhd_D_HAS_TLS
      Src: /src/mhd2/src/mhd2/daemon_add_conn.c:244,1
    - Dst: mhd_tls_conn_get_tls_size
      Src: /src/mhd2/src/mhd2/daemon_add_conn.c:245,1
    - Dst: mhd_calloc
      Src: /src/mhd2/src/mhd2/daemon_add_conn.c:249,1
    - Dst: mhd_LOG_MSG
      Src: /src/mhd2/src/mhd2/daemon_add_conn.c:253,1
    - Dst: mhd_DLINKEDL_INIT_LINKS
      Src: /src/mhd2/src/mhd2/daemon_add_conn.c:261,1
    - Dst: mhd_DLINKEDL_INIT_LINKS
      Src: /src/mhd2/src/mhd2/daemon_add_conn.c:263,1
    - Dst: mhd_DLINKEDL_INIT_LINKS
      Src: /src/mhd2/src/mhd2/daemon_add_conn.c:264,1
    - Dst: mhd_DLINKEDL_INIT_LINKS
      Src: /src/mhd2/src/mhd2/daemon_add_conn.c:267,1
    - Dst: mhd_h2_blank_init
      Src: /src/mhd2/src/mhd2/daemon_add_conn.c:281,1
    - Dst: malloc
      Src: /src/mhd2/src/mhd2/daemon_add_conn.c:299,1
    - Dst: mhd_LOG_MSG
      Src: /src/mhd2/src/mhd2/daemon_add_conn.c:302,1
    - Dst: memcpy
      Src: /src/mhd2/src/mhd2/daemon_add_conn.c:309,1
    - Dst: mhd_thread_handle_ID_set_invalid
      Src: /src/mhd2/src/mhd2/daemon_add_conn.c:341,1
    - Dst: mhd_tls_conn_init
      Src: /src/mhd2/src/mhd2/daemon_add_conn.c:349,1
    - Dst: mhd_LOG_MSG
      Src: /src/mhd2/src/mhd2/daemon_add_conn.c:353,1
    - Dst: free
      Src: /src/mhd2/src/mhd2/daemon_add_conn.c:378,1
    - Dst: free
      Src: /src/mhd2/src/mhd2/daemon_add_conn.c:380,1
    - Dst: free
      Src: /src/mhd2/src/mhd2/daemon_add_conn.c:384,1
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/daemon_add_conn.c:386,1
    CyclomaticComplexity: 15
    EdgeCount: 15
    ICount: 80
    argCount: 9
    argNames:
    - daemon
    - client_socket
    - addrlen
    - addr
    - external_add
    - non_blck
    - sk_spipe_supprs
    - sk_is_nonip
    - conn_out
    argTypes:
    - struct MHD_Daemon*
    - MHD_Socket
    - size_t
    - struct sockaddr_storage*
    - bool
    - bool
    - bool
    - enum mhd_Tristate
    - struct MHD_Connection**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 388
      start: 222
    functionDepth: 1
    functionLinenumber: 222
    functionLinenumberEnd: 388
    functionName: new_connection_prepare_
    functionSourceFile: /src/mhd2/src/mhd2/daemon_add_conn.c
    functionUses: 0
    functionsReached:
    - mhd_tls_conn_init
    - mhd_tls_conn_get_tls_size
    - memcpy
    - malloc
    - mhd_DLINKEDL_INIT_LINKS
    - mhd_LOG_MSG
    - free
    - mhd_calloc
    - mhd_h2_blank_init
    - mhd_D_HAS_TLS
    - mhd_assert
    - mhd_thread_handle_ID_set_invalid
    linkageType: ''
    returnType: enum MHD_StatusCode
    signature: "enum MHD_StatusCode new_connection_prepare_ (struct MHD_Daemon *restrict
      daemon,\n                         MHD_Socket client_socket,\n                         size_t
      addrlen,\n                         struct sockaddr_storage *restrict addr,\n
      \                        bool external_add,\n                         bool non_blck,\n
      \                        bool sk_spipe_supprs,\n                         enum
      mhd_Tristate sk_is_nonip,\n                         struct MHD_Connection **restrict
      conn_out)"
  - BBCount: 12
    BranchProfiles: []
    Callsites:
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/daemon_add_conn.c:408,1
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/daemon_add_conn.c:411,1
    - Dst: mhd_pool_create
      Src: /src/mhd2/src/mhd2/daemon_add_conn.c:416,1
    - Dst: mhd_LOG_MSG
      Src: /src/mhd2/src/mhd2/daemon_add_conn.c:420,1
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/daemon_add_conn.c:428,1
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/daemon_add_conn.c:429,1
    - Dst: mhd_DLINKEDL_INS_FIRST
      Src: /src/mhd2/src/mhd2/daemon_add_conn.c:434,1
    - Dst: mhd_conn_init_activity_timeout
      Src: /src/mhd2/src/mhd2/daemon_add_conn.c:436,1
    - Dst: connection_set_http_layer_init_state
      Src: /src/mhd2/src/mhd2/daemon_add_conn.c:439,1
    - Dst: connection_set_initial_state
      Src: /src/mhd2/src/mhd2/daemon_add_conn.c:440,1
    - Dst: notify_app_conn
      Src: /src/mhd2/src/mhd2/daemon_add_conn.c:442,1
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/daemon_add_conn.c:447,1
    - Dst: mhd_create_named_thread
      Src: /src/mhd2/src/mhd2/daemon_add_conn.c:449,1
    - Dst: mhd_LOG_MSG
      Src: /src/mhd2/src/mhd2/daemon_add_conn.c:458,1
    - Dst: mhd_LOG_MSG
      Src: /src/mhd2/src/mhd2/daemon_add_conn.c:468,1
    - Dst: epoll_ctl
      Src: /src/mhd2/src/mhd2/daemon_add_conn.c:491,1
    - Dst: mhd_LOG_MSG
      Src: /src/mhd2/src/mhd2/daemon_add_conn.c:496,1
    - Dst: mhd_dbg_print_fd_mon_req
      Src: /src/mhd2/src/mhd2/daemon_add_conn.c:502,1
    - Dst: mhd_conn_mark_ready
      Src: /src/mhd2/src/mhd2/daemon_add_conn.c:512,1
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/daemon_add_conn.c:523,1
    - Dst: notify_app_conn
      Src: /src/mhd2/src/mhd2/daemon_add_conn.c:524,1
    - Dst: mhd_conn_deinit_activity_timeout
      Src: /src/mhd2/src/mhd2/daemon_add_conn.c:526,1
    - Dst: mhd_DLINKEDL_DEL
      Src: /src/mhd2/src/mhd2/daemon_add_conn.c:528,1
    - Dst: mhd_pool_destroy
      Src: /src/mhd2/src/mhd2/daemon_add_conn.c:532,1
    - Dst: mhd_C_HAS_TLS
      Src: /src/mhd2/src/mhd2/daemon_add_conn.c:537,1
    - Dst: mhd_tls_conn_deinit
      Src: /src/mhd2/src/mhd2/daemon_add_conn.c:538,1
    - Dst: free
      Src: /src/mhd2/src/mhd2/daemon_add_conn.c:544,1
    - Dst: mhd_socket_close
      Src: /src/mhd2/src/mhd2/daemon_add_conn.c:545,1
    - Dst: free
      Src: /src/mhd2/src/mhd2/daemon_add_conn.c:546,1
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/daemon_add_conn.c:547,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 68
    argCount: 2
    argNames:
    - daemon
    - connection
    argTypes:
    - struct MHD_Daemon*
    - struct MHD_Connection*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 549
      start: 403
    functionDepth: 3
    functionLinenumber: 403
    functionLinenumberEnd: 549
    functionName: new_connection_process_inner
    functionSourceFile: /src/mhd2/src/mhd2/daemon_add_conn.c
    functionUses: 0
    functionsReached:
    - mhd_C_HAS_TLS
    - connection_set_http_layer_init_state
    - mhd_DLINKEDL_INS_FIRST
    - mhd_pool_create
    - epoll_ctl
    - mhd_create_named_thread
    - free
    - mhd_dbg_print_fd_mon_req
    - notify_app_conn
    - connection_set_initial_state
    - mhd_conn_deinit_activity_timeout
    - mhd_LOG_MSG
    - mhd_tls_conn_deinit
    - mhd_DLINKEDL_DEL
    - mhd_pool_destroy
    - mhd_conn_init_activity_timeout
    - mhd_socket_close
    - mhd_conn_mark_ready
    - mhd_assert
    linkageType: ''
    returnType: enum MHD_StatusCode
    signature: "enum MHD_StatusCode new_connection_process_inner (struct MHD_Daemon
      *restrict daemon,\n                              struct MHD_Connection *restrict
      connection)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: new_connection_process_inner
      Src: /src/mhd2/src/mhd2/daemon_add_conn.c:569,1
    - Dst: fprintf
      Src: /src/mhd2/src/mhd2/daemon_add_conn.c:573,1
    - Dst: fprintf
      Src: /src/mhd2/src/mhd2/daemon_add_conn.c:577,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 2
    argNames:
    - daemon
    - connection
    argTypes:
    - struct MHD_Daemon*
    - struct MHD_Connection*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 584
      start: 563
    functionDepth: 4
    functionLinenumber: 563
    functionLinenumberEnd: 584
    functionName: new_connection_process_
    functionSourceFile: /src/mhd2/src/mhd2/daemon_add_conn.c
    functionUses: 0
    functionsReached:
    - new_connection_process_inner
    - fprintf
    linkageType: ''
    returnType: enum MHD_StatusCode
    signature: "enum MHD_StatusCode new_connection_process_ (struct MHD_Daemon *restrict
      daemon,\n                         struct MHD_Connection *restrict connection)"
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/daemon_add_conn.c:621,1
    - Dst: mhd_D_HAS_WORKERS
      Src: /src/mhd2/src/mhd2/daemon_add_conn.c:621,1
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/daemon_add_conn.c:622,1
    - Dst: mhd_FD_FITS_DAEMON
      Src: /src/mhd2/src/mhd2/daemon_add_conn.c:622,1
    - Dst: mhd_POLL_TYPE_INT_IS_EPOLL
      Src: /src/mhd2/src/mhd2/daemon_add_conn.c:627,1
    - Dst: mhd_LOG_MSG
      Src: /src/mhd2/src/mhd2/daemon_add_conn.c:630,1
    - Dst: mhd_LOG_MSG
      Src: /src/mhd2/src/mhd2/daemon_add_conn.c:640,1
    - Dst: new_connection_prepare_
      Src: /src/mhd2/src/mhd2/daemon_add_conn.c:648,1
    - Dst: mhd_ASSUME
      Src: /src/mhd2/src/mhd2/daemon_add_conn.c:660,1
    - Dst: new_connection_process_
      Src: /src/mhd2/src/mhd2/daemon_add_conn.c:665,1
    - Dst: free
      Src: /src/mhd2/src/mhd2/daemon_add_conn.c:671,1
    - Dst: mhd_socket_close
      Src: /src/mhd2/src/mhd2/daemon_add_conn.c:672,1
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/daemon_add_conn.c:674,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 29
    argCount: 8
    argNames:
    - daemon
    - client_socket
    - addrlen
    - addr
    - external_add
    - non_blck
    - sk_spipe_supprs
    - sk_is_nonip
    argTypes:
    - struct MHD_Daemon*
    - MHD_Socket
    - size_t
    - struct sockaddr_storage*
    - bool
    - bool
    - bool
    - enum mhd_Tristate
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 677
      start: 607
    functionDepth: 5
    functionLinenumber: 607
    functionLinenumberEnd: 677
    functionName: "(1) MHD_FN_PAR_INOUT_SIZE_ (4, 3) enum MHD_StatusCode\ninternal_add_connection
      (struct MHD_Daemon *daemon,\n                         MHD_Socket client_socket,\n
      \                        size_t addrlen,\n                         struct sockaddr_storage
      *addr,\n                         bool external_add,\n                         bool
      non_blck,\n                         bool sk_spipe_supprs,\n                         enum
      mhd_Tristate sk_is_nonip)"
    functionSourceFile: /src/mhd2/src/mhd2/daemon_add_conn.c
    functionUses: 0
    functionsReached:
    - new_connection_process_
    - mhd_socket_close
    - mhd_ASSUME
    - mhd_D_HAS_WORKERS
    - mhd_LOG_MSG
    - new_connection_prepare_
    - mhd_POLL_TYPE_INT_IS_EPOLL
    - free
    - mhd_FD_FITS_DAEMON
    - mhd_assert
    linkageType: ''
    returnType: MHD_FN_PAR_NONNULL_
    signature: "MHD_FN_PAR_NONNULL_ (1) MHD_FN_PAR_INOUT_SIZE_ (4, 3) enum MHD_StatusCode\ninternal_add_connection
      (struct MHD_Daemon *daemon,\n                         MHD_Socket client_socket,\n
      \                        size_t addrlen,\n                         struct sockaddr_storage
      *addr,\n                         bool external_add,\n                         bool
      non_blck,\n                         bool sk_spipe_supprs,\n                         enum
      mhd_Tristate sk_is_nonip)"
  - BBCount: 29
    BranchProfiles: []
    Callsites:
    - Dst: mhd_D_TYPE_HAS_WORKERS
      Src: /src/mhd2/src/mhd2/daemon_add_conn.c:698,1
    - Dst: mhd_LOG_MSG
      Src: /src/mhd2/src/mhd2/daemon_add_conn.c:729,1
    - Dst: mhd_LOG_MSG
      Src: /src/mhd2/src/mhd2/daemon_add_conn.c:746,1
    - Dst: mhd_ASSUME
      Src: /src/mhd2/src/mhd2/daemon_add_conn.c:755,1
    - Dst: mhd_LOG_MSG
      Src: /src/mhd2/src/mhd2/daemon_add_conn.c:760,1
    - Dst: mhd_FD_FITS_DAEMON
      Src: /src/mhd2/src/mhd2/daemon_add_conn.c:776,1
    - Dst: mhd_LOG_MSG
      Src: /src/mhd2/src/mhd2/daemon_add_conn.c:779,1
    - Dst: mhd_socket_nonblocking
      Src: /src/mhd2/src/mhd2/daemon_add_conn.c:787,1
    - Dst: mhd_LOG_MSG
      Src: /src/mhd2/src/mhd2/daemon_add_conn.c:789,1
    - Dst: mhd_socket_noninheritable
      Src: /src/mhd2/src/mhd2/daemon_add_conn.c:794,1
    - Dst: mhd_LOG_MSG
      Src: /src/mhd2/src/mhd2/daemon_add_conn.c:795,1
    - Dst: mhd_socket_nosignal
      Src: /src/mhd2/src/mhd2/daemon_add_conn.c:809,1
    - Dst: mhd_LOG_MSG
      Src: /src/mhd2/src/mhd2/daemon_add_conn.c:812,1
    - Dst: malloc
      Src: /src/mhd2/src/mhd2/daemon_add_conn.c:830,1
    - Dst: mhd_DLINKEDL_INIT_LINKS
      Src: /src/mhd2/src/mhd2/daemon_add_conn.c:836,1
    - Dst: malloc
      Src: /src/mhd2/src/mhd2/daemon_add_conn.c:844,1
    - Dst: memcpy
      Src: /src/mhd2/src/mhd2/daemon_add_conn.c:848,1
    - Dst: mhd_D_TYPE_HAS_WORKERS
      Src: /src/mhd2/src/mhd2/daemon_add_conn.c:858,1
    - Dst: mhd_atomic_counter_get_inc_wrap
      Src: /src/mhd2/src/mhd2/daemon_add_conn.c:866,1
    - Dst: mhd_ASSUME
      Src: /src/mhd2/src/mhd2/daemon_add_conn.c:871,1
    - Dst: mhd_UNREACHABLE
      Src: /src/mhd2/src/mhd2/daemon_add_conn.c:894,1
    - Dst: mhd_mutex_lock_chk
      Src: /src/mhd2/src/mhd2/daemon_add_conn.c:903,1
    - Dst: mhd_DLINKEDL_INS_LAST
      Src: /src/mhd2/src/mhd2/daemon_add_conn.c:905,1
    - Dst: mhd_mutex_unlock_chk
      Src: /src/mhd2/src/mhd2/daemon_add_conn.c:908,1
    - Dst: mhd_daemon_trigger_itc
      Src: /src/mhd2/src/mhd2/daemon_add_conn.c:911,1
    - Dst: free
      Src: /src/mhd2/src/mhd2/daemon_add_conn.c:919,1
    - Dst: free
      Src: /src/mhd2/src/mhd2/daemon_add_conn.c:921,1
    - Dst: mhd_socket_close
      Src: /src/mhd2/src/mhd2/daemon_add_conn.c:925,1
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/daemon_add_conn.c:927,1
    CyclomaticComplexity: 38
    EdgeCount: 38
    ICount: 112
    argCount: 5
    argNames:
    - MHD_RESTRICT
    - new_socket
    - addr_size
    - MHD_RESTRICT
    - connection_cntx
    argTypes:
    - struct MHD_Daemon*
    - MHD_Socket
    - size_t
    - struct sockaddr*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 930
      start: 680
    functionDepth: 1
    functionLinenumber: 680
    functionLinenumberEnd: 930
    functionName: MHD_daemon_add_connection
    functionSourceFile: /src/mhd2/src/mhd2/daemon_add_conn.c
    functionUses: 0
    functionsReached:
    - mhd_D_TYPE_HAS_WORKERS
    - mhd_mutex_unlock_chk
    - mhd_DLINKEDL_INIT_LINKS
    - mhd_socket_nonblocking
    - mhd_ASSUME
    - malloc
    - mhd_daemon_trigger_itc
    - free
    - mhd_socket_noninheritable
    - mhd_mutex_lock_chk
    - mhd_DLINKEDL_INS_LAST
    - mhd_LOG_MSG
    - mhd_atomic_counter_get_inc_wrap
    - mhd_UNREACHABLE
    - mhd_FD_FITS_DAEMON
    - memcpy
    - mhd_socket_close
    - mhd_socket_nosignal
    - mhd_assert
    linkageType: ''
    returnType: enum MHD_StatusCode
    signature: "enum MHD_StatusCode MHD_daemon_add_connection (struct MHD_Daemon *MHD_RESTRICT
      daemon,\n                           MHD_Socket new_socket,\n                           size_t
      addr_size,\n                           const struct sockaddr *MHD_RESTRICT addr,\n
      \                          void *connection_cntx)"
  - BBCount: 26
    BranchProfiles: []
    Callsites:
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/daemon_add_conn.c:953,1
    - Dst: mhd_D_HAS_THREADS
      Src: /src/mhd2/src/mhd2/daemon_add_conn.c:953,1
    - Dst: mhd_thread_handle_ID_is_current_thread
      Src: /src/mhd2/src/mhd2/daemon_add_conn.c:954,1
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/daemon_add_conn.c:956,1
    - Dst: mhd_D_TYPE_HAS_WORKERS
      Src: /src/mhd2/src/mhd2/daemon_add_conn.c:956,1
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/daemon_add_conn.c:960,1
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/daemon_add_conn.c:961,1
    - Dst: memset
      Src: /src/mhd2/src/mhd2/daemon_add_conn.c:964,1
    - Dst: accept4
      Src: /src/mhd2/src/mhd2/daemon_add_conn.c:980,1
    - Dst: accept
      Src: /src/mhd2/src/mhd2/daemon_add_conn.c:999,1
    - Dst: mhd_SCKT_GET_LERR
      Src: /src/mhd2/src/mhd2/daemon_add_conn.c:1021,1
    - Dst: mhd_SCKT_ERR_IS_EINVAL
      Src: /src/mhd2/src/mhd2/daemon_add_conn.c:1023,1
    - Dst: mhd_SCKT_ERR_IS_DISCNN_BEFORE_ACCEPT
      Src: /src/mhd2/src/mhd2/daemon_add_conn.c:1025,1
    - Dst: mhd_SCKT_ERR_IS_EINTR
      Src: /src/mhd2/src/mhd2/daemon_add_conn.c:1027,1
    - Dst: mhd_SCKT_ERR_IS_EAGAIN
      Src: /src/mhd2/src/mhd2/daemon_add_conn.c:1029,1
    - Dst: mhd_SCKT_ERR_IS_LOW_RESOURCES
      Src: /src/mhd2/src/mhd2/daemon_add_conn.c:1031,1
    - Dst: mhd_LOG_MSG
      Src: /src/mhd2/src/mhd2/daemon_add_conn.c:1039,1
    - Dst: mhd_LOG_PRINT
      Src: /src/mhd2/src/mhd2/daemon_add_conn.c:1048,1
    - Dst: mhd_LOG_FMT
      Src: /src/mhd2/src/mhd2/daemon_add_conn.c:1049,1
    - Dst: mhd_LOG_MSG
      Src: /src/mhd2/src/mhd2/daemon_add_conn.c:1057,1
    - Dst: mhd_FD_FITS_DAEMON
      Src: /src/mhd2/src/mhd2/daemon_add_conn.c:1062,1
    - Dst: mhd_LOG_MSG
      Src: /src/mhd2/src/mhd2/daemon_add_conn.c:1064,1
    - Dst: mhd_socket_close
      Src: /src/mhd2/src/mhd2/daemon_add_conn.c:1066,1
    - Dst: mhd_LOG_MSG
      Src: /src/mhd2/src/mhd2/daemon_add_conn.c:1078,1
    - Dst: mhd_LOG_MSG
      Src: /src/mhd2/src/mhd2/daemon_add_conn.c:1089,1
    - Dst: mhd_socket_nonblocking
      Src: /src/mhd2/src/mhd2/daemon_add_conn.c:1108,1
    - Dst: mhd_LOG_MSG
      Src: /src/mhd2/src/mhd2/daemon_add_conn.c:1110,1
    - Dst: mhd_socket_noninheritable
      Src: /src/mhd2/src/mhd2/daemon_add_conn.c:1117,1
    - Dst: mhd_LOG_MSG
      Src: /src/mhd2/src/mhd2/daemon_add_conn.c:1119,1
    - Dst: mhd_socket_nosignal
      Src: /src/mhd2/src/mhd2/daemon_add_conn.c:1125,1
    - Dst: mhd_LOG_MSG
      Src: /src/mhd2/src/mhd2/daemon_add_conn.c:1127,1
    - Dst: MHD_socket_close_
      Src: /src/mhd2/src/mhd2/daemon_add_conn.c:1135,1
    - Dst: internal_add_connection
      Src: /src/mhd2/src/mhd2/daemon_add_conn.c:1143,1
    CyclomaticComplexity: 29
    EdgeCount: 29
    ICount: 98
    argCount: 1
    argNames:
    - daemon
    argTypes:
    - struct MHD_Daemon*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1152
      start: 933
    functionDepth: 1
    functionLinenumber: 933
    functionLinenumberEnd: 1152
    functionName: mhd_daemon_accept_connection
    functionSourceFile: /src/mhd2/src/mhd2/daemon_add_conn.c
    functionUses: 1
    functionsReached:
    - mhd_D_TYPE_HAS_WORKERS
    - accept
    - mhd_SCKT_ERR_IS_LOW_RESOURCES
    - mhd_socket_nonblocking
    - internal_add_connection
    - mhd_SCKT_ERR_IS_DISCNN_BEFORE_ACCEPT
    - mhd_SCKT_ERR_IS_EINVAL
    - mhd_LOG_PRINT
    - mhd_SCKT_ERR_IS_EAGAIN
    - mhd_thread_handle_ID_is_current_thread
    - mhd_socket_noninheritable
    - mhd_LOG_MSG
    - mhd_FD_FITS_DAEMON
    - memset
    - accept4
    - mhd_socket_close
    - mhd_D_HAS_THREADS
    - mhd_LOG_FMT
    - mhd_SCKT_ERR_IS_EINTR
    - mhd_socket_nosignal
    - mhd_SCKT_GET_LERR
    - MHD_socket_close_
    - mhd_assert
    linkageType: ''
    returnType: MHD_INTERNAL
    signature: MHD_INTERNAL mhd_daemon_accept_connection (struct MHD_Daemon *restrict
      daemon)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/daemon_add_conn.c:1158,1
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/daemon_add_conn.c:1159,1
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/daemon_add_conn.c:1160,1
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/daemon_add_conn.c:1161,1
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/daemon_add_conn.c:1162,1
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/daemon_add_conn.c:1163,1
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/daemon_add_conn.c:1164,1
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/daemon_add_conn.c:1165,1
    - Dst: mhd_DLINKEDL_GET_NEXT
      Src: /src/mhd2/src/mhd2/daemon_add_conn.c:1165,1
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/daemon_add_conn.c:1166,1
    - Dst: mhd_DLINKEDL_GET_PREV
      Src: /src/mhd2/src/mhd2/daemon_add_conn.c:1166,1
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/daemon_add_conn.c:1167,1
    - Dst: mhd_DLINKEDL_GET_FIRST
      Src: /src/mhd2/src/mhd2/daemon_add_conn.c:1167,1
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/daemon_add_conn.c:1168,1
    - Dst: mhd_DLINKEDL_GET_LAST
      Src: /src/mhd2/src/mhd2/daemon_add_conn.c:1168,1
    - Dst: mhd_D_HAS_THR_PER_CONN
      Src: /src/mhd2/src/mhd2/daemon_add_conn.c:1170,1
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/daemon_add_conn.c:1172,1
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/daemon_add_conn.c:1175,1
    - Dst: mhd_DLINKEDL_GET_NEXT
      Src: /src/mhd2/src/mhd2/daemon_add_conn.c:1175,1
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/daemon_add_conn.c:1176,1
    - Dst: mhd_DLINKEDL_GET_PREV
      Src: /src/mhd2/src/mhd2/daemon_add_conn.c:1176,1
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/daemon_add_conn.c:1177,1
    - Dst: mhd_DLINKEDL_DEL
      Src: /src/mhd2/src/mhd2/daemon_add_conn.c:1179,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 22
    argCount: 1
    argNames:
    - c
    argTypes:
    - struct MHD_Connection*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1189
      start: 1155
    functionDepth: 1
    functionLinenumber: 1155
    functionLinenumberEnd: 1189
    functionName: mhd_conn_remove_from_daemon
    functionSourceFile: /src/mhd2/src/mhd2/daemon_add_conn.c
    functionUses: 6
    functionsReached:
    - mhd_D_HAS_THR_PER_CONN
    - mhd_DLINKEDL_GET_LAST
    - mhd_DLINKEDL_DEL
    - mhd_DLINKEDL_GET_NEXT
    - mhd_DLINKEDL_GET_PREV
    - mhd_assert
    - mhd_DLINKEDL_GET_FIRST
    linkageType: ''
    returnType: MHD_INTERNAL
    signature: MHD_INTERNAL mhd_conn_remove_from_daemon (struct MHD_Connection *restrict
      c)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/daemon_add_conn.c:1195,1
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/daemon_add_conn.c:1196,1
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/daemon_add_conn.c:1197,1
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/daemon_add_conn.c:1198,1
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/daemon_add_conn.c:1199,1
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/daemon_add_conn.c:1200,1
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/daemon_add_conn.c:1201,1
    - Dst: mhd_DLINKEDL_GET_NEXT
      Src: /src/mhd2/src/mhd2/daemon_add_conn.c:1201,1
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/daemon_add_conn.c:1202,1
    - Dst: mhd_DLINKEDL_GET_PREV
      Src: /src/mhd2/src/mhd2/daemon_add_conn.c:1202,1
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/daemon_add_conn.c:1203,1
    - Dst: mhd_DLINKEDL_GET_FIRST
      Src: /src/mhd2/src/mhd2/daemon_add_conn.c:1203,1
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/daemon_add_conn.c:1204,1
    - Dst: mhd_DLINKEDL_GET_LAST
      Src: /src/mhd2/src/mhd2/daemon_add_conn.c:1204,1
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/daemon_add_conn.c:1206,1
    - Dst: mhd_DLINKEDL_GET_NEXT
      Src: /src/mhd2/src/mhd2/daemon_add_conn.c:1206,1
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/daemon_add_conn.c:1207,1
    - Dst: mhd_DLINKEDL_GET_PREV
      Src: /src/mhd2/src/mhd2/daemon_add_conn.c:1207,1
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/daemon_add_conn.c:1208,1
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/daemon_add_conn.c:1210,1
    - Dst: mhd_DLINKEDL_GET_NEXT
      Src: /src/mhd2/src/mhd2/daemon_add_conn.c:1210,1
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/daemon_add_conn.c:1211,1
    - Dst: mhd_DLINKEDL_GET_PREV
      Src: /src/mhd2/src/mhd2/daemon_add_conn.c:1211,1
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/daemon_add_conn.c:1212,1
    - Dst: mhd_DLINKEDL_GET_FIRST
      Src: /src/mhd2/src/mhd2/daemon_add_conn.c:1212,1
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/daemon_add_conn.c:1213,1
    - Dst: mhd_DLINKEDL_GET_LAST
      Src: /src/mhd2/src/mhd2/daemon_add_conn.c:1213,1
    - Dst: mhd_C_HAS_TLS
      Src: /src/mhd2/src/mhd2/daemon_add_conn.c:1216,1
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/daemon_add_conn.c:1218,1
    - Dst: mhd_D_HAS_TLS
      Src: /src/mhd2/src/mhd2/daemon_add_conn.c:1218,1
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/daemon_add_conn.c:1219,1
    - Dst: mhd_tls_conn_deinit
      Src: /src/mhd2/src/mhd2/daemon_add_conn.c:1220,1
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/daemon_add_conn.c:1225,1
    - Dst: mhd_D_HAS_TLS
      Src: /src/mhd2/src/mhd2/daemon_add_conn.c:1225,1
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/daemon_add_conn.c:1226,1
    - Dst: free
      Src: /src/mhd2/src/mhd2/daemon_add_conn.c:1232,1
    - Dst: mhd_socket_close
      Src: /src/mhd2/src/mhd2/daemon_add_conn.c:1233,1
    - Dst: fprintf
      Src: /src/mhd2/src/mhd2/daemon_add_conn.c:1235,1
    - Dst: free
      Src: /src/mhd2/src/mhd2/daemon_add_conn.c:1240,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 30
    argCount: 1
    argNames:
    - c
    argTypes:
    - struct MHD_Connection*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1241
      start: 1192
    functionDepth: 1
    functionLinenumber: 1192
    functionLinenumberEnd: 1241
    functionName: mhd_conn_close_final
    functionSourceFile: /src/mhd2/src/mhd2/daemon_add_conn.c
    functionUses: 6
    functionsReached:
    - mhd_C_HAS_TLS
    - mhd_socket_close
    - mhd_DLINKEDL_GET_LAST
    - fprintf
    - mhd_tls_conn_deinit
    - free
    - mhd_DLINKEDL_GET_NEXT
    - mhd_DLINKEDL_GET_PREV
    - mhd_D_HAS_TLS
    - mhd_assert
    - mhd_DLINKEDL_GET_FIRST
    linkageType: ''
    returnType: MHD_INTERNAL
    signature: MHD_INTERNAL mhd_conn_close_final (struct MHD_Connection *restrict
      c)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: mhd_DLNKDL_LIST
      Src: /src/mhd2/src/mhd2/daemon_add_conn.c:1248,1
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/daemon_add_conn.c:1250,1
    - Dst: mhd_D_HAS_WORKERS
      Src: /src/mhd2/src/mhd2/daemon_add_conn.c:1250,1
    - Dst: mhd_DLINKEDL_GET_FIRST
      Src: /src/mhd2/src/mhd2/daemon_add_conn.c:1253,1
    - Dst: mhd_mutex_lock_chk
      Src: /src/mhd2/src/mhd2/daemon_add_conn.c:1258,1
    - Dst: mhd_DLINKEDL_INIT_LIST
      Src: /src/mhd2/src/mhd2/daemon_add_conn.c:1260,1
    - Dst: mhd_mutex_unlock_chk
      Src: /src/mhd2/src/mhd2/daemon_add_conn.c:1262,1
    - Dst: mhd_DLINKEDL_GET_FIRST_D
      Src: /src/mhd2/src/mhd2/daemon_add_conn.c:1265,1
    - Dst: mhd_DLINKEDL_GET_FIRST_D
      Src: /src/mhd2/src/mhd2/daemon_add_conn.c:1267,1
    - Dst: mhd_ASSUME
      Src: /src/mhd2/src/mhd2/daemon_add_conn.c:1269,1
    - Dst: mhd_DLINKEDL_GET_PREV
      Src: /src/mhd2/src/mhd2/daemon_add_conn.c:1269,1
    - Dst: mhd_DLINKEDL_DEL_D
      Src: /src/mhd2/src/mhd2/daemon_add_conn.c:1271,1
    - Dst: internal_add_connection
      Src: /src/mhd2/src/mhd2/daemon_add_conn.c:1276,1
    - Dst: free
      Src: /src/mhd2/src/mhd2/daemon_add_conn.c:1288,1
    - Dst: free
      Src: /src/mhd2/src/mhd2/daemon_add_conn.c:1290,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 20
    argCount: 1
    argNames:
    - d
    argTypes:
    - struct MHD_Daemon*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1292
      start: 1244
    functionDepth: 1
    functionLinenumber: 1244
    functionLinenumberEnd: 1292
    functionName: mhd_daemon_process_ext_added_conns
    functionSourceFile: /src/mhd2/src/mhd2/daemon_add_conn.c
    functionUses: 1
    functionsReached:
    - mhd_DLINKEDL_GET_FIRST_D
    - mhd_mutex_unlock_chk
    - mhd_DLNKDL_LIST
    - mhd_D_HAS_WORKERS
    - mhd_ASSUME
    - mhd_DLINKEDL_INIT_LIST
    - mhd_DLINKEDL_GET_PREV
    - free
    - mhd_assert
    - internal_add_connection
    - mhd_mutex_lock_chk
    - mhd_DLINKEDL_DEL_D
    - mhd_DLINKEDL_GET_FIRST
    linkageType: ''
    returnType: MHD_INTERNAL
    signature: MHD_INTERNAL mhd_daemon_process_ext_added_conns (struct MHD_Daemon
      *restrict d)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - h2data
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 238
      start: 236
    functionDepth: 0
    functionLinenumber: 236
    functionLinenumberEnd: 238
    functionName: mhd_H2_W_BUFF_UPDATING_SET
    functionSourceFile: /src/mhd2/src/mhd2/h2/h2_conn_data.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: mhd_H2_W_BUFF_UPDATING_SET(h2data)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - h2data
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 240
      start: 238
    functionDepth: 0
    functionLinenumber: 238
    functionLinenumberEnd: 240
    functionName: mhd_H2_W_BUFF_UPDATING_CLEAR
    functionSourceFile: /src/mhd2/src/mhd2/h2/h2_conn_data.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: mhd_H2_W_BUFF_UPDATING_CLEAR(h2data)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - h2data
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 242
      start: 241
    functionDepth: 0
    functionLinenumber: 241
    functionLinenumberEnd: 242
    functionName: mhd_H2_W_BUFF_UPDATING_SET
    functionSourceFile: /src/mhd2/src/mhd2/h2/h2_conn_data.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: mhd_H2_W_BUFF_UPDATING_SET(h2data)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - h2data
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 243
      start: 242
    functionDepth: 0
    functionLinenumber: 242
    functionLinenumberEnd: 243
    functionName: mhd_H2_W_BUFF_UPDATING_CLEAR
    functionSourceFile: /src/mhd2/src/mhd2/h2/h2_conn_data.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: mhd_H2_W_BUFF_UPDATING_CLEAR(h2data)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: mhd_hpack_enc_field
      Src: /src/mhd2/src/mhd2/h2/h2_reply_funcs.c:97,1
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/h2/h2_reply_funcs.c:105,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 7
    argNames:
    - hk_enc
    - name
    - value
    - enc_pol
    - out_buff_size
    - out_buff
    - bytes_encoded
    argTypes:
    - struct mhd_HpackEncContext*
    - struct mhd_BufferConst*
    - struct mhd_BufferConst*
    - enum mhd_HpackEncPolicy
    - size_t
    - uint8_t*
    - size_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 108
      start: 84
    functionDepth: 1
    functionLinenumber: 84
    functionLinenumberEnd: 108
    functionName: enc_field
    functionSourceFile: /src/mhd2/src/mhd2/h2/h2_reply_funcs.c
    functionUses: 1
    functionsReached:
    - mhd_assert
    - mhd_hpack_enc_field
    linkageType: ''
    returnType: mhd_static_inline
    signature: "mhd_static_inline enc_field (struct mhd_HpackEncContext *restrict
      hk_enc,\n           const struct mhd_BufferConst *restrict name,\n           const
      struct mhd_BufferConst *restrict value,\n           enum mhd_HpackEncPolicy
      enc_pol,\n           const size_t out_buff_size,\n           uint8_t *restrict
      out_buff,\n           size_t *restrict bytes_encoded)"
  - BBCount: 13
    BranchProfiles: []
    Callsites:
    - Dst: mhd_hpack_enc_ph_status
      Src: /src/mhd2/src/mhd2/h2/h2_reply_funcs.c:132,1
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/h2/h2_reply_funcs.c:138,1
    - Dst: mhd_build_date_str
      Src: /src/mhd2/src/mhd2/h2/h2_reply_funcs.c:155,1
    - Dst: mhd_MSTR_INIT
      Src: /src/mhd2/src/mhd2/h2/h2_reply_funcs.c:158,1
    - Dst: enc_field
      Src: /src/mhd2/src/mhd2/h2/h2_reply_funcs.c:164,1
    - Dst: mhd_MSTR_INIT
      Src: /src/mhd2/src/mhd2/h2/h2_reply_funcs.c:187,1
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/h2/h2_reply_funcs.c:191,1
    - Dst: mhd_uint64_to_str
      Src: /src/mhd2/src/mhd2/h2/h2_reply_funcs.c:193,1
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/h2/h2_reply_funcs.c:196,1
    - Dst: enc_field
      Src: /src/mhd2/src/mhd2/h2/h2_reply_funcs.c:198,1
    - Dst: mhd_DLINKEDL_GET_FIRST
      Src: /src/mhd2/src/mhd2/h2/h2_reply_funcs.c:216,1
    - Dst: mhd_DLINKEDL_GET_NEXT
      Src: /src/mhd2/src/mhd2/h2/h2_reply_funcs.c:218,1
    - Dst: enc_field
      Src: /src/mhd2/src/mhd2/h2/h2_reply_funcs.c:225,1
    CyclomaticComplexity: 15
    EdgeCount: 15
    ICount: 52
    argCount: 3
    argNames:
    - s
    - pl
    - fields_complete
    argTypes:
    - struct mhd_H2Stream*
    - struct mhd_Buffer*
    - bool*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 241
      start: 111
    functionDepth: 2
    functionLinenumber: 111
    functionLinenumberEnd: 241
    functionName: stream_headers_encode
    functionSourceFile: /src/mhd2/src/mhd2/h2/h2_reply_funcs.c
    functionUses: 0
    functionsReached:
    - mhd_build_date_str
    - enc_field
    - mhd_hpack_enc_ph_status
    - mhd_DLINKEDL_GET_NEXT
    - mhd_uint64_to_str
    - mhd_MSTR_INIT
    - mhd_assert
    - mhd_DLINKEDL_GET_FIRST
    linkageType: ''
    returnType: MHD_FN_PAR_NONNULL_ALL_
    signature: "MHD_FN_PAR_NONNULL_ALL_ stream_headers_encode (struct mhd_H2Stream
      *restrict s,\n                       struct mhd_Buffer *restrict pl,\n                       bool
      *restrict fields_complete)"
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/h2/h2_reply_funcs.c:256,1
    - Dst: mhd_h2_frame_init_headers
      Src: /src/mhd2/src/mhd2/h2/h2_reply_funcs.c:260,1
    - Dst: mhd_h2_frame_init_continuation
      Src: /src/mhd2/src/mhd2/h2/h2_reply_funcs.c:270,1
    - Dst: mhd_h2_out_buff_acquire_fr_w_payload
      Src: /src/mhd2/src/mhd2/h2/h2_reply_funcs.c:276,1
    - Dst: stream_headers_encode
      Src: /src/mhd2/src/mhd2/h2/h2_reply_funcs.c:285,1
    - Dst: mhd_h2_frame_set_payload_size
      Src: /src/mhd2/src/mhd2/h2/h2_reply_funcs.c:291,1
    - Dst: mhd_h2_frame_hdr_encode
      Src: /src/mhd2/src/mhd2/h2/h2_reply_funcs.c:294,1
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/h2/h2_reply_funcs.c:297,1
    - Dst: mhd_h2_out_buff_unlock
      Src: /src/mhd2/src/mhd2/h2/h2_reply_funcs.c:300,1
    - Dst: mhd_h2_out_buff_unlock
      Src: /src/mhd2/src/mhd2/h2/h2_reply_funcs.c:311,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 32
    argCount: 1
    argNames:
    - s
    argTypes:
    - struct mhd_H2Stream*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 327
      start: 244
    functionDepth: 3
    functionLinenumber: 244
    functionLinenumberEnd: 327
    functionName: stream_headers_send
    functionSourceFile: /src/mhd2/src/mhd2/h2/h2_reply_funcs.c
    functionUses: 0
    functionsReached:
    - mhd_h2_frame_init_headers
    - mhd_h2_out_buff_unlock
    - stream_headers_encode
    - mhd_h2_out_buff_acquire_fr_w_payload
    - mhd_h2_frame_set_payload_size
    - mhd_h2_frame_init_continuation
    - mhd_assert
    - mhd_h2_frame_hdr_encode
    linkageType: ''
    returnType: MHD_FN_PAR_NONNULL_ALL_
    signature: MHD_FN_PAR_NONNULL_ALL_ stream_headers_send (struct mhd_H2Stream *s)
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/h2/h2_reply_funcs.c:343,1
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/h2/h2_reply_funcs.c:352,1
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/h2/h2_reply_funcs.c:366,1
    - Dst: memcpy
      Src: /src/mhd2/src/mhd2/h2/h2_reply_funcs.c:372,1
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/h2/h2_reply_funcs.c:385,1
    - Dst: memcpy
      Src: /src/mhd2/src/mhd2/h2/h2_reply_funcs.c:388,1
    - Dst: memcpy
      Src: /src/mhd2/src/mhd2/h2/h2_reply_funcs.c:394,1
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/h2/h2_reply_funcs.c:398,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 36
    argCount: 5
    argNames:
    - r
    - offset
    - buff_size
    - buff
    - written
    argTypes:
    - struct MHD_Response*
    - uint_fast64_t
    - size_t
    - uint8_t*
    - size_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 401
      start: 332
    functionDepth: 1
    functionLinenumber: 332
    functionLinenumberEnd: 401
    functionName: content_read_iovec
    functionSourceFile: /src/mhd2/src/mhd2/h2/h2_reply_funcs.c
    functionUses: 0
    functionsReached:
    - mhd_assert
    - memcpy
    linkageType: ''
    returnType: bool
    signature: "bool content_read_iovec (struct MHD_Response *restrict r,\n                    uint_fast64_t
      offset,\n                    size_t buff_size,\n                    uint8_t
      *restrict buff,\n                    size_t *restrict written)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/h2/h2_reply_funcs.c:415,1
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/h2/h2_reply_funcs.c:417,1
    - Dst: mhd_read_file
      Src: /src/mhd2/src/mhd2/h2/h2_reply_funcs.c:424,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 5
    argNames:
    - r
    - offset
    - buff_size
    - buff
    - written
    argTypes:
    - struct MHD_Response*
    - uint_fast64_t
    - size_t
    - uint8_t*
    - size_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 429
      start: 406
    functionDepth: 1
    functionLinenumber: 406
    functionLinenumberEnd: 429
    functionName: content_read_file
    functionSourceFile: /src/mhd2/src/mhd2/h2/h2_reply_funcs.c
    functionUses: 0
    functionsReached:
    - mhd_read_file
    - mhd_assert
    linkageType: ''
    returnType: bool
    signature: "bool content_read_file (struct MHD_Response *restrict r,\n                   uint_fast64_t
      offset,\n                   size_t buff_size,\n                   uint8_t *restrict
      buff,\n                   size_t *restrict written)"
  - BBCount: 16
    BranchProfiles: []
    Callsites:
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/h2/h2_reply_funcs.c:449,1
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/h2/h2_reply_funcs.c:450,1
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/h2/h2_reply_funcs.c:451,1
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/h2/h2_reply_funcs.c:452,1
    - Dst: mhd_h2_frame_init_data
      Src: /src/mhd2/src/mhd2/h2/h2_reply_funcs.c:476,1
    - Dst: mhd_h2_out_buff_acquire_fr_w_payload_l
      Src: /src/mhd2/src/mhd2/h2/h2_reply_funcs.c:480,1
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/h2/h2_reply_funcs.c:489,1
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/h2/h2_reply_funcs.c:491,1
    - Dst: memcpy
      Src: /src/mhd2/src/mhd2/h2/h2_reply_funcs.c:498,1
    - Dst: content_read_iovec
      Src: /src/mhd2/src/mhd2/h2/h2_reply_funcs.c:503,1
    - Dst: content_read_file
      Src: /src/mhd2/src/mhd2/h2/h2_reply_funcs.c:511,1
    - Dst: mhd_UNREACHABLE
      Src: /src/mhd2/src/mhd2/h2/h2_reply_funcs.c:523,1
    - Dst: mhd_h2_frame_set_payload_size
      Src: /src/mhd2/src/mhd2/h2/h2_reply_funcs.c:532,1
    - Dst: mhd_h2_frame_hdr_encode
      Src: /src/mhd2/src/mhd2/h2/h2_reply_funcs.c:535,1
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/h2/h2_reply_funcs.c:538,1
    - Dst: mhd_h2_out_buff_unlock
      Src: /src/mhd2/src/mhd2/h2/h2_reply_funcs.c:541,1
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/h2/h2_reply_funcs.c:545,1
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/h2/h2_reply_funcs.c:548,1
    - Dst: mhd_h2_out_buff_unlock
      Src: /src/mhd2/src/mhd2/h2/h2_reply_funcs.c:553,1
    CyclomaticComplexity: 16
    EdgeCount: 16
    ICount: 64
    argCount: 1
    argNames:
    - s
    argTypes:
    - struct mhd_H2Stream*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 561
      start: 434
    functionDepth: 2
    functionLinenumber: 434
    functionLinenumberEnd: 561
    functionName: stream_content_send
    functionSourceFile: /src/mhd2/src/mhd2/h2/h2_reply_funcs.c
    functionUses: 0
    functionsReached:
    - mhd_h2_out_buff_unlock
    - memcpy
    - mhd_h2_frame_init_data
    - content_read_file
    - mhd_h2_frame_set_payload_size
    - mhd_h2_out_buff_acquire_fr_w_payload_l
    - mhd_UNREACHABLE
    - content_read_iovec
    - mhd_assert
    - mhd_h2_frame_hdr_encode
    linkageType: ''
    returnType: MHD_FN_PAR_NONNULL_ALL_
    signature: MHD_FN_PAR_NONNULL_ALL_ stream_content_send (struct mhd_H2Stream *s)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/h2/h2_reply_funcs.c:567,1
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/h2/h2_reply_funcs.c:568,1
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/h2/h2_reply_funcs.c:569,1
    - Dst: mhd_hpack_enc_dyn_resize
      Src: /src/mhd2/src/mhd2/h2/h2_reply_funcs.c:573,1
    - Dst: mhd_h2_conn_finish
      Src: /src/mhd2/src/mhd2/h2/h2_reply_funcs.c:577,1
    - Dst: stream_headers_send
      Src: /src/mhd2/src/mhd2/h2/h2_reply_funcs.c:583,1
    - Dst: stream_content_send
      Src: /src/mhd2/src/mhd2/h2/h2_reply_funcs.c:593,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 19
    argCount: 1
    argNames:
    - s
    argTypes:
    - struct mhd_H2Stream*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 599
      start: 564
    functionDepth: 4
    functionLinenumber: 564
    functionLinenumberEnd: 599
    functionName: mhd_h2_stream_reply_send
    functionSourceFile: /src/mhd2/src/mhd2/h2/h2_reply_funcs.c
    functionUses: 0
    functionsReached:
    - mhd_h2_conn_finish
    - mhd_hpack_enc_dyn_resize
    - mhd_assert
    - stream_headers_send
    - stream_content_send
    linkageType: ''
    returnType: MHD_INTERNAL
    signature: MHD_INTERNAL mhd_h2_stream_reply_send (struct mhd_H2Stream *s)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/h2/h2_frame_codec.c:122,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 22
    argCount: 5
    argNames:
    - payload_buff_size
    - payload_buff
    - flags
    - frame_info
    - frame_payload
    argTypes:
    - size_t
    - uint8_t*
    - uint_least8_t
    - union mhd_H2FrameUnion*
    - struct mhd_Buffer*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 153
      start: 111
    functionDepth: 1
    functionLinenumber: 111
    functionLinenumberEnd: 153
    functionName: frame_decode_data
    functionSourceFile: /src/mhd2/src/mhd2/h2/h2_frame_codec.c
    functionUses: 0
    functionsReached:
    - mhd_assert
    linkageType: ''
    returnType: enum mhd_H2FrameDecodeResult
    signature: "enum mhd_H2FrameDecodeResult frame_decode_data (size_t payload_buff_size,\n
      \                  uint8_t *restrict payload_buff,\n                   uint_least8_t
      flags,\n                   union mhd_H2FrameUnion *restrict frame_info,\n                   struct
      mhd_Buffer *restrict frame_payload)"
  - BBCount: 11
    BranchProfiles: []
    Callsites:
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/h2/h2_frame_codec.c:186,1
    - Dst: mhd_GET_32BIT_BE_UNALIGN
      Src: /src/mhd2/src/mhd2/h2/h2_frame_codec.c:215,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 41
    argCount: 5
    argNames:
    - payload_buff_size
    - payload_buff
    - flags
    - frame_info
    - frame_payload
    argTypes:
    - size_t
    - uint8_t*
    - uint_least8_t
    - union mhd_H2FrameUnion*
    - struct mhd_Buffer*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 243
      start: 175
    functionDepth: 1
    functionLinenumber: 175
    functionLinenumberEnd: 243
    functionName: frame_decode_headers
    functionSourceFile: /src/mhd2/src/mhd2/h2/h2_frame_codec.c
    functionUses: 0
    functionsReached:
    - mhd_assert
    - mhd_GET_32BIT_BE_UNALIGN
    linkageType: ''
    returnType: enum mhd_H2FrameDecodeResult
    signature: "enum mhd_H2FrameDecodeResult frame_decode_headers (size_t payload_buff_size,\n
      \                     uint8_t *restrict payload_buff,\n                      uint_least8_t
      flags,\n                      union mhd_H2FrameUnion *restrict frame_info,\n
      \                     struct mhd_Buffer *restrict frame_payload)"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/h2/h2_frame_codec.c:270,1
    - Dst: mhd_GET_32BIT_BE_UNALIGN
      Src: /src/mhd2/src/mhd2/h2/h2_frame_codec.c:279,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 15
    argCount: 3
    argNames:
    - payload_buff_size
    - payload_buff
    - frame_info
    argTypes:
    - size_t
    - uint8_t*
    - union mhd_H2FrameUnion*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 291
      start: 261
    functionDepth: 1
    functionLinenumber: 261
    functionLinenumberEnd: 291
    functionName: frame_decode_priority
    functionSourceFile: /src/mhd2/src/mhd2/h2/h2_frame_codec.c
    functionUses: 0
    functionsReached:
    - mhd_assert
    - mhd_GET_32BIT_BE_UNALIGN
    linkageType: ''
    returnType: enum mhd_H2FrameDecodeResult
    signature: "enum mhd_H2FrameDecodeResult frame_decode_priority (size_t payload_buff_size,\n
      \                      uint8_t *restrict payload_buff,\n                       union
      mhd_H2FrameUnion *restrict frame_info)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/h2/h2_frame_codec.c:318,1
    - Dst: mhd_GET_32BIT_BE_UNALIGN
      Src: /src/mhd2/src/mhd2/h2/h2_frame_codec.c:327,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 11
    argCount: 3
    argNames:
    - payload_buff_size
    - payload_buff
    - frame_info
    argTypes:
    - size_t
    - uint8_t*
    - union mhd_H2FrameUnion*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 331
      start: 309
    functionDepth: 1
    functionLinenumber: 309
    functionLinenumberEnd: 331
    functionName: frame_decode_rst_stream
    functionSourceFile: /src/mhd2/src/mhd2/h2/h2_frame_codec.c
    functionUses: 0
    functionsReached:
    - mhd_assert
    - mhd_GET_32BIT_BE_UNALIGN
    linkageType: ''
    returnType: enum mhd_H2FrameDecodeResult
    signature: "enum mhd_H2FrameDecodeResult frame_decode_rst_stream (size_t payload_buff_size,\n
      \                        uint8_t *restrict payload_buff,\n                         union
      mhd_H2FrameUnion *restrict frame_info)"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/h2/h2_frame_codec.c:362,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 14
    argCount: 5
    argNames:
    - payload_buff_size
    - payload_buff
    - flags
    - frame_info
    - frame_payload
    argTypes:
    - size_t
    - uint8_t*
    - uint_least8_t
    - union mhd_H2FrameUnion*
    - struct mhd_Buffer*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 382
      start: 352
    functionDepth: 1
    functionLinenumber: 352
    functionLinenumberEnd: 382
    functionName: frame_decode_settings
    functionSourceFile: /src/mhd2/src/mhd2/h2/h2_frame_codec.c
    functionUses: 0
    functionsReached:
    - mhd_assert
    linkageType: ''
    returnType: enum mhd_H2FrameDecodeResult
    signature: "enum mhd_H2FrameDecodeResult frame_decode_settings (size_t payload_buff_size,\n
      \                      uint8_t *restrict payload_buff,\n                       uint_least8_t
      flags,\n                       union mhd_H2FrameUnion *restrict frame_info,\n
      \                      struct mhd_Buffer *restrict frame_payload)"
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/h2/h2_frame_codec.c:414,1
    - Dst: mhd_GET_32BIT_BE_UNALIGN
      Src: /src/mhd2/src/mhd2/h2/h2_frame_codec.c:439,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 30
    argCount: 5
    argNames:
    - payload_buff_size
    - payload_buff
    - flags
    - frame_info
    - frame_payload
    argTypes:
    - size_t
    - uint8_t*
    - uint_least8_t
    - union mhd_H2FrameUnion*
    - struct mhd_Buffer*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 458
      start: 403
    functionDepth: 1
    functionLinenumber: 403
    functionLinenumberEnd: 458
    functionName: frame_decode_push_promise
    functionSourceFile: /src/mhd2/src/mhd2/h2/h2_frame_codec.c
    functionUses: 0
    functionsReached:
    - mhd_assert
    - mhd_GET_32BIT_BE_UNALIGN
    linkageType: ''
    returnType: enum mhd_H2FrameDecodeResult
    signature: "enum mhd_H2FrameDecodeResult frame_decode_push_promise (size_t payload_buff_size,\n
      \                          uint8_t *restrict payload_buff,\n                           uint_least8_t
      flags,\n                           union mhd_H2FrameUnion *restrict frame_info,\n
      \                          struct mhd_Buffer *restrict frame_payload)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/h2/h2_frame_codec.c:486,1
    - Dst: memcpy
      Src: /src/mhd2/src/mhd2/h2/h2_frame_codec.c:497,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 11
    argCount: 4
    argNames:
    - payload_buff_size
    - payload_buff
    - flags
    - frame_info
    argTypes:
    - size_t
    - uint8_t*
    - uint_least8_t
    - union mhd_H2FrameUnion*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 502
      start: 477
    functionDepth: 1
    functionLinenumber: 477
    functionLinenumberEnd: 502
    functionName: frame_decode_ping
    functionSourceFile: /src/mhd2/src/mhd2/h2/h2_frame_codec.c
    functionUses: 0
    functionsReached:
    - mhd_assert
    - memcpy
    linkageType: ''
    returnType: enum mhd_H2FrameDecodeResult
    signature: "enum mhd_H2FrameDecodeResult frame_decode_ping (size_t payload_buff_size,\n
      \                  uint8_t *restrict payload_buff,\n                   uint_least8_t
      flags,\n                   union mhd_H2FrameUnion *restrict frame_info)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/h2/h2_frame_codec.c:532,1
    - Dst: mhd_GET_32BIT_BE_UNALIGN
      Src: /src/mhd2/src/mhd2/h2/h2_frame_codec.c:544,1
    - Dst: mhd_GET_32BIT_BE_UNALIGN
      Src: /src/mhd2/src/mhd2/h2/h2_frame_codec.c:547,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 17
    argCount: 4
    argNames:
    - payload_buff_size
    - payload_buff
    - frame_info
    - frame_payload
    argTypes:
    - size_t
    - uint8_t*
    - union mhd_H2FrameUnion*
    - struct mhd_Buffer*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 555
      start: 521
    functionDepth: 1
    functionLinenumber: 521
    functionLinenumberEnd: 555
    functionName: frame_decode_goaway
    functionSourceFile: /src/mhd2/src/mhd2/h2/h2_frame_codec.c
    functionUses: 0
    functionsReached:
    - mhd_assert
    - mhd_GET_32BIT_BE_UNALIGN
    linkageType: ''
    returnType: enum mhd_H2FrameDecodeResult
    signature: "enum mhd_H2FrameDecodeResult frame_decode_goaway (size_t payload_buff_size,\n
      \                    uint8_t *restrict payload_buff,\n                     union
      mhd_H2FrameUnion *restrict frame_info,\n                     struct mhd_Buffer
      *restrict frame_payload)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/h2/h2_frame_codec.c:581,1
    - Dst: mhd_GET_32BIT_BE_UNALIGN
      Src: /src/mhd2/src/mhd2/h2/h2_frame_codec.c:590,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 10
    argCount: 3
    argNames:
    - payload_buff_size
    - payload_buff
    - frame_info
    argTypes:
    - size_t
    - uint8_t*
    - union mhd_H2FrameUnion*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 597
      start: 573
    functionDepth: 1
    functionLinenumber: 573
    functionLinenumberEnd: 597
    functionName: frame_decode_window_update
    functionSourceFile: /src/mhd2/src/mhd2/h2/h2_frame_codec.c
    functionUses: 0
    functionsReached:
    - mhd_assert
    - mhd_GET_32BIT_BE_UNALIGN
    linkageType: ''
    returnType: enum mhd_H2FrameDecodeResult
    signature: "enum mhd_H2FrameDecodeResult frame_decode_window_update (size_t payload_buff_size,\n
      \                           uint8_t *restrict payload_buff,\n                            union
      mhd_H2FrameUnion *restrict frame_info)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/h2/h2_frame_codec.c:625,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 5
    argNames:
    - payload_buff_size
    - payload_buff
    - flags
    - frame_info
    - frame_payload
    argTypes:
    - size_t
    - uint8_t*
    - uint_least8_t
    - union mhd_H2FrameUnion*
    - struct mhd_Buffer*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 639
      start: 615
    functionDepth: 1
    functionLinenumber: 615
    functionLinenumberEnd: 639
    functionName: frame_decode_continuation
    functionSourceFile: /src/mhd2/src/mhd2/h2/h2_frame_codec.c
    functionUses: 0
    functionsReached:
    - mhd_assert
    linkageType: ''
    returnType: enum mhd_H2FrameDecodeResult
    signature: "enum mhd_H2FrameDecodeResult frame_decode_continuation (size_t payload_buff_size,\n
      \                          uint8_t *restrict payload_buff,\n                           uint_least8_t
      flags,\n                           union mhd_H2FrameUnion *restrict frame_info,\n
      \                          struct mhd_Buffer *restrict frame_payload)"
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 4
    argNames:
    - payload_buff_size
    - payload_buff
    - frame_info
    - frame_payload
    argTypes:
    - size_t
    - uint8_t*
    - union mhd_H2FrameUnion*
    - struct mhd_Buffer*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 671
      start: 658
    functionDepth: 0
    functionLinenumber: 658
    functionLinenumberEnd: 671
    functionName: frame_decode_unknown_type
    functionSourceFile: /src/mhd2/src/mhd2/h2/h2_frame_codec.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: enum mhd_H2FrameDecodeResult
    signature: "enum mhd_H2FrameDecodeResult frame_decode_unknown_type (size_t payload_buff_size,\n
      \                          uint8_t *restrict payload_buff,\n                           union
      mhd_H2FrameUnion *restrict frame_info,\n                           struct mhd_Buffer
      *restrict frame_payload)"
  - BBCount: 14
    BranchProfiles: []
    Callsites:
    - Dst: mhd_GET_32BIT_BE_UNALIGN
      Src: /src/mhd2/src/mhd2/h2/h2_frame_codec.c:692,1
    - Dst: mhd_GET_32BIT_BE_UNALIGN
      Src: /src/mhd2/src/mhd2/h2/h2_frame_codec.c:699,1
    - Dst: frame_decode_data
      Src: /src/mhd2/src/mhd2/h2/h2_frame_codec.c:711,1
    - Dst: frame_decode_headers
      Src: /src/mhd2/src/mhd2/h2/h2_frame_codec.c:717,1
    - Dst: frame_decode_priority
      Src: /src/mhd2/src/mhd2/h2/h2_frame_codec.c:725,1
    - Dst: frame_decode_rst_stream
      Src: /src/mhd2/src/mhd2/h2/h2_frame_codec.c:731,1
    - Dst: frame_decode_settings
      Src: /src/mhd2/src/mhd2/h2/h2_frame_codec.c:735,1
    - Dst: frame_decode_push_promise
      Src: /src/mhd2/src/mhd2/h2/h2_frame_codec.c:741,1
    - Dst: frame_decode_ping
      Src: /src/mhd2/src/mhd2/h2/h2_frame_codec.c:749,1
    - Dst: frame_decode_goaway
      Src: /src/mhd2/src/mhd2/h2/h2_frame_codec.c:754,1
    - Dst: frame_decode_window_update
      Src: /src/mhd2/src/mhd2/h2/h2_frame_codec.c:761,1
    - Dst: frame_decode_continuation
      Src: /src/mhd2/src/mhd2/h2/h2_frame_codec.c:765,1
    - Dst: frame_decode_unknown_type
      Src: /src/mhd2/src/mhd2/h2/h2_frame_codec.c:773,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 46
    argCount: 5
    argNames:
    - buff_size
    - buff
    - max_frame_size
    - frame_info
    - frame_payload
    argTypes:
    - size_t
    - uint8_t*
    - uint_least32_t
    - union mhd_H2FrameUnion*
    - struct mhd_Buffer*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 777
      start: 676
    functionDepth: 2
    functionLinenumber: 676
    functionLinenumberEnd: 777
    functionName: mhd_h2_frame_decode
    functionSourceFile: /src/mhd2/src/mhd2/h2/h2_frame_codec.c
    functionUses: 0
    functionsReached:
    - frame_decode_rst_stream
    - frame_decode_continuation
    - frame_decode_data
    - mhd_GET_32BIT_BE_UNALIGN
    - frame_decode_settings
    - frame_decode_headers
    - frame_decode_push_promise
    - frame_decode_ping
    - frame_decode_goaway
    - frame_decode_priority
    - frame_decode_unknown_type
    - frame_decode_window_update
    linkageType: ''
    returnType: enum mhd_H2FrameDecodeResult
    signature: "enum mhd_H2FrameDecodeResult mhd_h2_frame_decode (size_t buff_size,\n
      \                    uint8_t *restrict buff,\n                     uint_least32_t
      max_frame_size,\n                     union mhd_H2FrameUnion *restrict frame_info,\n
      \                    struct mhd_Buffer *restrict frame_payload)"
  - BBCount: 16
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 16
    EdgeCount: 16
    ICount: 41
    argCount: 1
    argNames:
    - frame_info
    argTypes:
    - union mhd_H2FrameUnion*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 828
      start: 782
    functionDepth: 0
    functionLinenumber: 782
    functionLinenumberEnd: 828
    functionName: mhd_h2_frame_get_extra_hdr_size
    functionSourceFile: /src/mhd2/src/mhd2/h2/h2_frame_codec.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: size_t
    signature: "size_t mhd_h2_frame_get_extra_hdr_size (\n  const union mhd_H2FrameUnion
      *restrict frame_info)"
  - BBCount: 12
    BranchProfiles: []
    Callsites:
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/h2/h2_frame_codec.c:840,1
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/h2/h2_frame_codec.c:844,1
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/h2/h2_frame_codec.c:848,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 22
    argCount: 1
    argNames:
    - frame_info
    argTypes:
    - union mhd_H2FrameUnion*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 862
      start: 833
    functionDepth: 1
    functionLinenumber: 833
    functionLinenumberEnd: 862
    functionName: mhd_h2_frame_get_padding_size
    functionSourceFile: /src/mhd2/src/mhd2/h2/h2_frame_codec.c
    functionUses: 0
    functionsReached:
    - mhd_assert
    linkageType: ''
    returnType: size_t
    signature: "size_t mhd_h2_frame_get_padding_size (\n  const union mhd_H2FrameUnion
      *restrict frame_info)"
  - BBCount: 12
    BranchProfiles: []
    Callsites:
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/h2/h2_frame_codec.c:872,1
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/h2/h2_frame_codec.c:874,1
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/h2/h2_frame_codec.c:883,1
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/h2/h2_frame_codec.c:895,1
    - Dst: mhd_h2_frame_get_extra_hdr_size
      Src: /src/mhd2/src/mhd2/h2/h2_frame_codec.c:899,1
    - Dst: mhd_h2_frame_get_padding_size
      Src: /src/mhd2/src/mhd2/h2/h2_frame_codec.c:900,1
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/h2/h2_frame_codec.c:903,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 24
    argCount: 2
    argNames:
    - frame_info
    - payload_size
    argTypes:
    - union mhd_H2FrameUnion*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 908
      start: 866
    functionDepth: 2
    functionLinenumber: 866
    functionLinenumberEnd: 908
    functionName: mhd_h2_frame_set_payload_size
    functionSourceFile: /src/mhd2/src/mhd2/h2/h2_frame_codec.c
    functionUses: 2
    functionsReached:
    - mhd_h2_frame_get_extra_hdr_size
    - mhd_assert
    - mhd_h2_frame_get_padding_size
    linkageType: ''
    returnType: size_t
    signature: "size_t mhd_h2_frame_set_payload_size (union mhd_H2FrameUnion *restrict
      frame_info,\n                               size_t payload_size)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/h2/h2_frame_codec.c:936,1
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/h2/h2_frame_codec.c:938,1
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/h2/h2_frame_codec.c:939,1
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/h2/h2_frame_codec.c:953,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 14
    argCount: 4
    argNames:
    - frame_info
    - flags
    - out_extra_hdr_size
    - out_extra_hdr
    argTypes:
    - union mhd_H2FrameUnion*
    - uint8_t*
    - size_t
    - uint8_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 956
      start: 926
    functionDepth: 1
    functionLinenumber: 926
    functionLinenumberEnd: 956
    functionName: frame_hdr_encode_data
    functionSourceFile: /src/mhd2/src/mhd2/h2/h2_frame_codec.c
    functionUses: 0
    functionsReached:
    - mhd_assert
    linkageType: ''
    returnType: size_t
    signature: "size_t frame_hdr_encode_data (const union mhd_H2FrameUnion *restrict
      frame_info,\n                       uint8_t *restrict flags,\n                       const
      size_t out_extra_hdr_size,\n                       uint8_t *restrict out_extra_hdr)"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/h2/h2_frame_codec.c:982,1
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/h2/h2_frame_codec.c:984,1
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/h2/h2_frame_codec.c:985,1
    - Dst: mhd_PUT_32BIT_BE_UNALIGN
      Src: /src/mhd2/src/mhd2/h2/h2_frame_codec.c:1011,1
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/h2/h2_frame_codec.c:1019,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 25
    argCount: 4
    argNames:
    - frame_info
    - flags
    - out_extra_hdr_size
    - out_extra_hdr
    argTypes:
    - union mhd_H2FrameUnion*
    - uint8_t*
    - size_t
    - uint8_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1022
      start: 972
    functionDepth: 1
    functionLinenumber: 972
    functionLinenumberEnd: 1022
    functionName: frame_hdr_encode_headers
    functionSourceFile: /src/mhd2/src/mhd2/h2/h2_frame_codec.c
    functionUses: 0
    functionsReached:
    - mhd_PUT_32BIT_BE_UNALIGN
    - mhd_assert
    linkageType: ''
    returnType: size_t
    signature: "size_t frame_hdr_encode_headers (const union mhd_H2FrameUnion *restrict
      frame_info,\n                          uint8_t *restrict flags,\n                          const
      size_t out_extra_hdr_size,\n                          uint8_t *restrict out_extra_hdr)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/h2/h2_frame_codec.c:1047,1
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/h2/h2_frame_codec.c:1049,1
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/h2/h2_frame_codec.c:1050,1
    - Dst: mhd_PUT_32BIT_BE_UNALIGN
      Src: /src/mhd2/src/mhd2/h2/h2_frame_codec.c:1061,1
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/h2/h2_frame_codec.c:1068,1
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/h2/h2_frame_codec.c:1069,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 15
    argCount: 3
    argNames:
    - frame_info
    - out_extra_hdr_size
    - out_extra_hdr
    argTypes:
    - union mhd_H2FrameUnion*
    - size_t
    - uint8_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1072
      start: 1037
    functionDepth: 1
    functionLinenumber: 1037
    functionLinenumberEnd: 1072
    functionName: frame_hdr_encode_priority
    functionSourceFile: /src/mhd2/src/mhd2/h2/h2_frame_codec.c
    functionUses: 0
    functionsReached:
    - mhd_PUT_32BIT_BE_UNALIGN
    - mhd_assert
    linkageType: ''
    returnType: size_t
    signature: "size_t frame_hdr_encode_priority (const union mhd_H2FrameUnion *restrict
      frame_info,\n                           const size_t out_extra_hdr_size,\n                           uint8_t
      *restrict out_extra_hdr)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/h2/h2_frame_codec.c:1096,1
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/h2/h2_frame_codec.c:1098,1
    - Dst: mhd_PUT_32BIT_BE_UNALIGN
      Src: /src/mhd2/src/mhd2/h2/h2_frame_codec.c:1105,1
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/h2/h2_frame_codec.c:1109,1
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/h2/h2_frame_codec.c:1110,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 11
    argCount: 3
    argNames:
    - frame_info
    - out_extra_hdr_size
    - out_extra_hdr
    argTypes:
    - union mhd_H2FrameUnion*
    - size_t
    - uint8_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1113
      start: 1087
    functionDepth: 1
    functionLinenumber: 1087
    functionLinenumberEnd: 1113
    functionName: frame_hdr_encode_rst_stream
    functionSourceFile: /src/mhd2/src/mhd2/h2/h2_frame_codec.c
    functionUses: 0
    functionsReached:
    - mhd_PUT_32BIT_BE_UNALIGN
    - mhd_assert
    linkageType: ''
    returnType: size_t
    signature: "size_t frame_hdr_encode_rst_stream (const union mhd_H2FrameUnion *restrict
      frame_info,\n                             const size_t out_extra_hdr_size,\n
      \                            uint8_t *restrict out_extra_hdr)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/h2/h2_frame_codec.c:1136,1
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/h2/h2_frame_codec.c:1138,1
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/h2/h2_frame_codec.c:1139,1
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/h2/h2_frame_codec.c:1140,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 2
    argNames:
    - frame_info
    - flags
    argTypes:
    - union mhd_H2FrameUnion*
    - uint8_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1145
      start: 1129
    functionDepth: 1
    functionLinenumber: 1129
    functionLinenumberEnd: 1145
    functionName: frame_hdr_encode_settings
    functionSourceFile: /src/mhd2/src/mhd2/h2/h2_frame_codec.c
    functionUses: 0
    functionsReached:
    - mhd_assert
    linkageType: ''
    returnType: size_t
    signature: "size_t frame_hdr_encode_settings (const union mhd_H2FrameUnion *restrict
      frame_info,\n                           uint8_t *restrict flags)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/h2/h2_frame_codec.c:1175,1
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/h2/h2_frame_codec.c:1177,1
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/h2/h2_frame_codec.c:1178,1
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/h2/h2_frame_codec.c:1180,1
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/h2/h2_frame_codec.c:1181,1
    - Dst: mhd_PUT_32BIT_BE_UNALIGN
      Src: /src/mhd2/src/mhd2/h2/h2_frame_codec.c:1198,1
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/h2/h2_frame_codec.c:1203,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 20
    argCount: 4
    argNames:
    - frame_info
    - flags
    - out_extra_hdr_size
    - out_extra_hdr
    argTypes:
    - union mhd_H2FrameUnion*
    - uint8_t*
    - size_t
    - uint8_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1207
      start: 1164
    functionDepth: 1
    functionLinenumber: 1164
    functionLinenumberEnd: 1207
    functionName: frame_hdr_encode_push_promise
    functionSourceFile: /src/mhd2/src/mhd2/h2/h2_frame_codec.c
    functionUses: 0
    functionsReached:
    - mhd_PUT_32BIT_BE_UNALIGN
    - mhd_assert
    linkageType: ''
    returnType: size_t
    signature: "size_t frame_hdr_encode_push_promise (\n  const union mhd_H2FrameUnion
      *restrict frame_info,\n  uint8_t *restrict flags,\n  const size_t out_extra_hdr_size,\n
      \ uint8_t *restrict out_extra_hdr)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/h2/h2_frame_codec.c:1233,1
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/h2/h2_frame_codec.c:1235,1
    - Dst: memcpy
      Src: /src/mhd2/src/mhd2/h2/h2_frame_codec.c:1244,1
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/h2/h2_frame_codec.c:1249,1
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/h2/h2_frame_codec.c:1250,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 12
    argCount: 4
    argNames:
    - frame_info
    - flags
    - out_extra_hdr_size
    - out_extra_hdr
    argTypes:
    - union mhd_H2FrameUnion*
    - uint8_t*
    - size_t
    - uint8_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1253
      start: 1223
    functionDepth: 1
    functionLinenumber: 1223
    functionLinenumberEnd: 1253
    functionName: frame_hdr_encode_ping
    functionSourceFile: /src/mhd2/src/mhd2/h2/h2_frame_codec.c
    functionUses: 0
    functionsReached:
    - mhd_assert
    - memcpy
    linkageType: ''
    returnType: size_t
    signature: "size_t frame_hdr_encode_ping (const union mhd_H2FrameUnion *restrict
      frame_info,\n                       uint8_t *restrict flags,\n                       const
      size_t out_extra_hdr_size,\n                       uint8_t *restrict out_extra_hdr)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/h2/h2_frame_codec.c:1280,1
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/h2/h2_frame_codec.c:1282,1
    - Dst: mhd_PUT_32BIT_BE_UNALIGN
      Src: /src/mhd2/src/mhd2/h2/h2_frame_codec.c:1289,1
    - Dst: mhd_PUT_32BIT_BE_UNALIGN
      Src: /src/mhd2/src/mhd2/h2/h2_frame_codec.c:1294,1
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/h2/h2_frame_codec.c:1298,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 12
    argCount: 3
    argNames:
    - frame_info
    - out_extra_hdr_size
    - out_extra_hdr
    argTypes:
    - union mhd_H2FrameUnion*
    - size_t
    - uint8_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1301
      start: 1271
    functionDepth: 1
    functionLinenumber: 1271
    functionLinenumberEnd: 1301
    functionName: frame_hdr_encode_goaway
    functionSourceFile: /src/mhd2/src/mhd2/h2/h2_frame_codec.c
    functionUses: 0
    functionsReached:
    - mhd_PUT_32BIT_BE_UNALIGN
    - mhd_assert
    linkageType: ''
    returnType: size_t
    signature: "size_t frame_hdr_encode_goaway (const union mhd_H2FrameUnion *restrict
      frame_info,\n                         const size_t out_extra_hdr_size,\n                         uint8_t
      *restrict out_extra_hdr)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/h2/h2_frame_codec.c:1326,1
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/h2/h2_frame_codec.c:1327,1
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/h2/h2_frame_codec.c:1328,1
    - Dst: mhd_PUT_32BIT_BE_UNALIGN
      Src: /src/mhd2/src/mhd2/h2/h2_frame_codec.c:1336,1
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/h2/h2_frame_codec.c:1341,1
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/h2/h2_frame_codec.c:1342,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 12
    argCount: 3
    argNames:
    - frame_info
    - out_extra_hdr_size
    - out_extra_hdr
    argTypes:
    - union mhd_H2FrameUnion*
    - size_t
    - uint8_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1345
      start: 1316
    functionDepth: 1
    functionLinenumber: 1316
    functionLinenumberEnd: 1345
    functionName: frame_hdr_encode_window_update
    functionSourceFile: /src/mhd2/src/mhd2/h2/h2_frame_codec.c
    functionUses: 0
    functionsReached:
    - mhd_PUT_32BIT_BE_UNALIGN
    - mhd_assert
    linkageType: ''
    returnType: size_t
    signature: "size_t frame_hdr_encode_window_update (\n  const union mhd_H2FrameUnion
      *restrict frame_info,\n  const size_t out_extra_hdr_size,\n  uint8_t *restrict
      out_extra_hdr)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/h2/h2_frame_codec.c:1368,1
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/h2/h2_frame_codec.c:1370,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 2
    argNames:
    - frame_info
    - flags
    argTypes:
    - union mhd_H2FrameUnion*
    - uint8_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1375
      start: 1360
    functionDepth: 1
    functionLinenumber: 1360
    functionLinenumberEnd: 1375
    functionName: frame_hdr_encode_continuation
    functionSourceFile: /src/mhd2/src/mhd2/h2/h2_frame_codec.c
    functionUses: 0
    functionsReached:
    - mhd_assert
    linkageType: ''
    returnType: size_t
    signature: "size_t frame_hdr_encode_continuation (\n  const union mhd_H2FrameUnion
      *restrict frame_info,\n  uint8_t *restrict flags)"
  - BBCount: 13
    BranchProfiles: []
    Callsites:
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/h2/h2_frame_codec.c:1387,1
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/h2/h2_frame_codec.c:1389,1
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/h2/h2_frame_codec.c:1391,1
    - Dst: mhd_PUT_32BIT_BE_UNALIGN
      Src: /src/mhd2/src/mhd2/h2/h2_frame_codec.c:1403,1
    - Dst: mhd_PUT_32BIT_BE_UNALIGN
      Src: /src/mhd2/src/mhd2/h2/h2_frame_codec.c:1406,1
    - Dst: frame_hdr_encode_data
      Src: /src/mhd2/src/mhd2/h2/h2_frame_codec.c:1413,1
    - Dst: frame_hdr_encode_headers
      Src: /src/mhd2/src/mhd2/h2/h2_frame_codec.c:1418,1
    - Dst: frame_hdr_encode_priority
      Src: /src/mhd2/src/mhd2/h2/h2_frame_codec.c:1423,1
    - Dst: frame_hdr_encode_rst_stream
      Src: /src/mhd2/src/mhd2/h2/h2_frame_codec.c:1427,1
    - Dst: frame_hdr_encode_settings
      Src: /src/mhd2/src/mhd2/h2/h2_frame_codec.c:1431,1
    - Dst: frame_hdr_encode_push_promise
      Src: /src/mhd2/src/mhd2/h2/h2_frame_codec.c:1435,1
    - Dst: frame_hdr_encode_ping
      Src: /src/mhd2/src/mhd2/h2/h2_frame_codec.c:1440,1
    - Dst: frame_hdr_encode_goaway
      Src: /src/mhd2/src/mhd2/h2/h2_frame_codec.c:1445,1
    - Dst: frame_hdr_encode_window_update
      Src: /src/mhd2/src/mhd2/h2/h2_frame_codec.c:1450,1
    - Dst: frame_hdr_encode_continuation
      Src: /src/mhd2/src/mhd2/h2/h2_frame_codec.c:1455,1
    - Dst: mhd_UNREACHABLE_D
      Src: /src/mhd2/src/mhd2/h2/h2_frame_codec.c:1460,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 37
    argCount: 3
    argNames:
    - frame_info
    - out_buff_size
    - out_buff
    argTypes:
    - union mhd_H2FrameUnion*
    - size_t
    - uint8_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1462
      start: 1380
    functionDepth: 2
    functionLinenumber: 1380
    functionLinenumberEnd: 1462
    functionName: mhd_h2_frame_hdr_encode
    functionSourceFile: /src/mhd2/src/mhd2/h2/h2_frame_codec.c
    functionUses: 2
    functionsReached:
    - frame_hdr_encode_continuation
    - frame_hdr_encode_push_promise
    - frame_hdr_encode_headers
    - mhd_PUT_32BIT_BE_UNALIGN
    - frame_hdr_encode_ping
    - mhd_UNREACHABLE_D
    - frame_hdr_encode_goaway
    - frame_hdr_encode_rst_stream
    - frame_hdr_encode_data
    - frame_hdr_encode_window_update
    - frame_hdr_encode_settings
    - mhd_assert
    - frame_hdr_encode_priority
    linkageType: ''
    returnType: size_t
    signature: "size_t mhd_h2_frame_hdr_encode (const union mhd_H2FrameUnion *restrict
      frame_info,\n                         size_t out_buff_size,\n                         uint8_t
      *restrict out_buff)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: mhd_h2_frame_init_settings
      Src: /src/mhd2/src/mhd2/h2/h2_proc_settings.c:74,1
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/h2/h2_proc_settings.c:76,1
    - Dst: mhd_h2_frame_get_extra_hdr_size
      Src: /src/mhd2/src/mhd2/h2/h2_proc_settings.c:76,1
    - Dst: mhd_h2_out_buff_has_space_sz
      Src: /src/mhd2/src/mhd2/h2/h2_proc_settings.c:79,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - c
    argTypes:
    - struct MHD_Connection*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 81
      start: 66
    functionDepth: 1
    functionLinenumber: 66
    functionLinenumberEnd: 81
    functionName: h2_has_space_for_ack
    functionSourceFile: /src/mhd2/src/mhd2/h2/h2_proc_settings.c
    functionUses: 0
    functionsReached:
    - mhd_assert
    - mhd_h2_frame_get_extra_hdr_size
    - mhd_h2_frame_init_settings
    - mhd_h2_out_buff_has_space_sz
    linkageType: ''
    returnType: bool
    signature: bool h2_has_space_for_ack (struct MHD_Connection *restrict c)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: mhd_h2_frame_init_settings
      Src: /src/mhd2/src/mhd2/h2/h2_proc_settings.c:89,1
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/h2/h2_proc_settings.c:92,1
    - Dst: mhd_h2_frame_get_extra_hdr_size
      Src: /src/mhd2/src/mhd2/h2/h2_proc_settings.c:92,1
    - Dst: mhd_h2_q_frame_no_payload
      Src: /src/mhd2/src/mhd2/h2/h2_proc_settings.c:94,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - c
    argTypes:
    - struct MHD_Connection*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 96
      start: 84
    functionDepth: 1
    functionLinenumber: 84
    functionLinenumberEnd: 96
    functionName: h2_q_settings_ack
    functionSourceFile: /src/mhd2/src/mhd2/h2/h2_proc_settings.c
    functionUses: 0
    functionsReached:
    - mhd_assert
    - mhd_h2_frame_get_extra_hdr_size
    - mhd_h2_frame_init_settings
    - mhd_h2_q_frame_no_payload
    linkageType: ''
    returnType: bool
    signature: bool h2_q_settings_ack (struct MHD_Connection *restrict c)
  - BBCount: 17
    BranchProfiles: []
    Callsites:
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/h2/h2_proc_settings.c:106,1
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/h2/h2_proc_settings.c:108,1
    - Dst: h2_has_space_for_ack
      Src: /src/mhd2/src/mhd2/h2/h2_proc_settings.c:108,1
    - Dst: mhd_h2_setting_decode
      Src: /src/mhd2/src/mhd2/h2/h2_proc_settings.c:117,1
    - Dst: mhd_hpack_enc_set_dyn_size
      Src: /src/mhd2/src/mhd2/h2/h2_proc_settings.c:126,1
    - Dst: mhd_h2_conn_finish
      Src: /src/mhd2/src/mhd2/h2/h2_proc_settings.c:139,1
    - Dst: mhd_h2_conn_finish
      Src: /src/mhd2/src/mhd2/h2/h2_proc_settings.c:153,1
    - Dst: h2_q_settings_ack
      Src: /src/mhd2/src/mhd2/h2/h2_proc_settings.c:181,1
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/h2/h2_proc_settings.c:182,1
    CyclomaticComplexity: 17
    EdgeCount: 17
    ICount: 50
    argCount: 2
    argNames:
    - c
    - stngs_payload
    argTypes:
    - struct MHD_Connection*
    - struct mhd_Buffer*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 186
      start: 99
    functionDepth: 2
    functionLinenumber: 99
    functionLinenumberEnd: 186
    functionName: mhd_h2_proc_first_settings
    functionSourceFile: /src/mhd2/src/mhd2/h2/h2_proc_settings.c
    functionUses: 0
    functionsReached:
    - mhd_h2_conn_finish
    - mhd_h2_setting_decode
    - h2_has_space_for_ack
    - h2_q_settings_ack
    - mhd_assert
    - mhd_hpack_enc_set_dyn_size
    linkageType: ''
    returnType: MHD_INTERNAL
    signature: "MHD_INTERNAL mhd_h2_proc_first_settings (struct MHD_Connection *restrict
      c,\n                            const struct mhd_Buffer *restrict stngs_payload)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 2
    argNames:
    - c
    - stngs_payload
    argTypes:
    - struct MHD_Connection*
    - struct mhd_Buffer*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 196
      start: 189
    functionDepth: 0
    functionLinenumber: 189
    functionLinenumberEnd: 196
    functionName: mhd_h2_proc_new_settings
    functionSourceFile: /src/mhd2/src/mhd2/h2/h2_proc_settings.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: MHD_INTERNAL
    signature: "MHD_INTERNAL mhd_h2_proc_new_settings (struct MHD_Connection *restrict
      c,\n                          const struct mhd_Buffer *restrict stngs_payload)"
  - BBCount: 11
    BranchProfiles: []
    Callsites:
    - Dst: mhd_h2_frame_init_settings
      Src: /src/mhd2/src/mhd2/h2/h2_proc_settings.c:211,1
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/h2/h2_proc_settings.c:215,1
    - Dst: mhd_h2_out_buff_acquire_fr_w_payload
      Src: /src/mhd2/src/mhd2/h2/h2_proc_settings.c:217,1
    - Dst: mhd_H2_W_BUFF_UPDATING_CLEAR
      Src: /src/mhd2/src/mhd2/h2/h2_proc_settings.c:222,1
    - Dst: mhd_h2_conn_finish
      Src: /src/mhd2/src/mhd2/h2/h2_proc_settings.c:223,1
    - Dst: mhd_h2_setting_encode3
      Src: /src/mhd2/src/mhd2/h2/h2_proc_settings.c:240,1
    - Dst: mhd_h2_setting_encode3
      Src: /src/mhd2/src/mhd2/h2/h2_proc_settings.c:248,1
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/h2/h2_proc_settings.c:256,1
    - Dst: mhd_h2_setting_encode3
      Src: /src/mhd2/src/mhd2/h2/h2_proc_settings.c:257,1
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/h2/h2_proc_settings.c:265,1
    - Dst: mhd_h2_setting_encode3
      Src: /src/mhd2/src/mhd2/h2/h2_proc_settings.c:266,1
    - Dst: mhd_h2_setting_encode3
      Src: /src/mhd2/src/mhd2/h2/h2_proc_settings.c:274,1
    - Dst: mhd_h2_setting_encode3
      Src: /src/mhd2/src/mhd2/h2/h2_proc_settings.c:282,1
    - Dst: mhd_h2_setting_encode3
      Src: /src/mhd2/src/mhd2/h2/h2_proc_settings.c:290,1
    - Dst: mhd_H2_W_BUFF_UPDATING_CLEAR
      Src: /src/mhd2/src/mhd2/h2/h2_proc_settings.c:301,1
    - Dst: mhd_h2_conn_finish
      Src: /src/mhd2/src/mhd2/h2/h2_proc_settings.c:302,1
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/h2/h2_proc_settings.c:308,1
    - Dst: mhd_h2_frame_set_payload_size
      Src: /src/mhd2/src/mhd2/h2/h2_proc_settings.c:310,1
    - Dst: mhd_h2_frame_hdr_encode
      Src: /src/mhd2/src/mhd2/h2/h2_proc_settings.c:313,1
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/h2/h2_proc_settings.c:316,1
    - Dst: mhd_h2_out_buff_unlock
      Src: /src/mhd2/src/mhd2/h2/h2_proc_settings.c:317,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 58
    argCount: 1
    argNames:
    - c
    argTypes:
    - struct MHD_Connection*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 324
      start: 199
    functionDepth: 3
    functionLinenumber: 199
    functionLinenumberEnd: 324
    functionName: mhd_h2_q_settings_first_fr
    functionSourceFile: /src/mhd2/src/mhd2/h2/h2_proc_settings.c
    functionUses: 0
    functionsReached:
    - mhd_h2_conn_finish
    - mhd_h2_out_buff_unlock
    - mhd_h2_frame_init_settings
    - mhd_h2_out_buff_acquire_fr_w_payload
    - mhd_h2_frame_set_payload_size
    - mhd_H2_W_BUFF_UPDATING_CLEAR
    - mhd_h2_setting_encode3
    - mhd_assert
    - mhd_h2_frame_hdr_encode
    linkageType: ''
    returnType: MHD_INTERNAL
    signature: MHD_INTERNAL mhd_h2_q_settings_first_fr (struct MHD_Connection *restrict
      c)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/h2/h2_app_cb.c:75,1
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/h2/h2_app_cb.c:76,1
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/h2/h2_app_cb.c:77,1
    - Dst: mhd_h2_items_debug_get_streamid
      Src: /src/mhd2/src/mhd2/h2/h2_app_cb.c:77,1
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/h2/h2_app_cb.c:79,1
    - Dst: mhd_h2_items_get_item_value
      Src: /src/mhd2/src/mhd2/h2/h2_app_cb.c:87,1
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/h2/h2_app_cb.c:90,1
    - Dst: struct mhd_H2Stream*::c::daemon::req_cfg::uri_cb::cb
      Src: /src/mhd2/src/mhd2/h2/h2_app_cb.c:97,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 16
    argCount: 1
    argNames:
    - s
    argTypes:
    - struct mhd_H2Stream*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 103
      start: 72
    functionDepth: 1
    functionLinenumber: 72
    functionLinenumberEnd: 103
    functionName: mhd_h2_stream_cb_early_uri
    functionSourceFile: /src/mhd2/src/mhd2/h2/h2_app_cb.c
    functionUses: 0
    functionsReached:
    - mhd_h2_items_debug_get_streamid
    - struct mhd_H2Stream*::c::daemon::req_cfg::uri_cb::cb
    - mhd_h2_items_get_item_value
    - mhd_assert
    linkageType: ''
    returnType: MHD_INTERNAL
    signature: MHD_INTERNAL mhd_h2_stream_cb_early_uri (struct mhd_H2Stream *restrict
      s)
  - BBCount: 27
    BranchProfiles: []
    Callsites:
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/h2/h2_app_cb.c:114,1
    - Dst: mhd_C_IS_HTTP2
      Src: /src/mhd2/src/mhd2/h2/h2_app_cb.c:114,1
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/h2/h2_app_cb.c:115,1
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/h2/h2_app_cb.c:116,1
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/h2/h2_app_cb.c:117,1
    - Dst: mhd_h2_items_debug_get_streamid
      Src: /src/mhd2/src/mhd2/h2/h2_app_cb.c:117,1
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/h2/h2_app_cb.c:119,1
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/h2/h2_app_cb.c:121,1
    - Dst: MHD_PANIC
      Src: /src/mhd2/src/mhd2/h2/h2_app_cb.c:124,1
    - Dst: mhd_h2_items_get_item_value
      Src: /src/mhd2/src/mhd2/h2/h2_app_cb.c:129,1
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/h2/h2_app_cb.c:132,1
    - Dst: struct MHD_Daemon*::req_cfg::cb
      Src: /src/mhd2/src/mhd2/h2/h2_app_cb.c:140,1
    - Dst: mhd_ACTION_IS_VALID
      Src: /src/mhd2/src/mhd2/h2/h2_app_cb.c:148,1
    - Dst: mhd_LOG_MSG
      Src: /src/mhd2/src/mhd2/h2/h2_app_cb.c:150,1
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/h2/h2_app_cb.c:157,1
    - Dst: mhd_response_dec_use_count
      Src: /src/mhd2/src/mhd2/h2/h2_app_cb.c:158,1
    - Dst: mhd_UNREACHABLE
      Src: /src/mhd2/src/mhd2/h2/h2_app_cb.c:175,1
    - Dst: check_and_alloc_buf_for_upload_processing
      Src: /src/mhd2/src/mhd2/h2/h2_app_cb.c:195,1
    - Dst: mhd_stream_prepare_for_post_parse
      Src: /src/mhd2/src/mhd2/h2/h2_app_cb.c:210,1
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/h2/h2_app_cb.c:212,1
    - Dst: need_100_continue
      Src: /src/mhd2/src/mhd2/h2/h2_app_cb.c:215,1
    - Dst: fprintf
      Src: /src/mhd2/src/mhd2/h2/h2_app_cb.c:226,1
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/h2/h2_app_cb.c:234,1
    - Dst: mhd_conn_start_closing_app_abort
      Src: /src/mhd2/src/mhd2/h2/h2_app_cb.c:239,1
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/h2/h2_app_cb.c:243,1
    - Dst: mhd_UNREACHABLE
      Src: /src/mhd2/src/mhd2/h2/h2_app_cb.c:244,1
    - Dst: mhd_h2_stream_abort
      Src: /src/mhd2/src/mhd2/h2/h2_app_cb.c:249,1
    CyclomaticComplexity: 22
    EdgeCount: 22
    ICount: 90
    argCount: 1
    argNames:
    - s
    argTypes:
    - struct mhd_H2Stream*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 251
      start: 106
    functionDepth: 4
    functionLinenumber: 106
    functionLinenumberEnd: 251
    functionName: mhd_h2_stream_cb_request
    functionSourceFile: /src/mhd2/src/mhd2/h2/h2_app_cb.c
    functionUses: 0
    functionsReached:
    - need_100_continue
    - struct MHD_Daemon*::req_cfg::cb
    - fprintf
    - mhd_stream_prepare_for_post_parse
    - mhd_ACTION_IS_VALID
    - MHD_PANIC
    - mhd_LOG_MSG
    - mhd_conn_start_closing_app_abort
    - mhd_h2_stream_abort
    - mhd_h2_items_debug_get_streamid
    - mhd_UNREACHABLE
    - check_and_alloc_buf_for_upload_processing
    - mhd_response_dec_use_count
    - mhd_C_IS_HTTP2
    - mhd_h2_items_get_item_value
    - mhd_assert
    linkageType: ''
    returnType: MHD_INTERNAL
    signature: MHD_INTERNAL mhd_h2_stream_cb_request (struct mhd_H2Stream *restrict
      s)
  - BBCount: 16
    BranchProfiles: []
    Callsites:
    - Dst: mhd_h2_conn_finish
      Src: /src/mhd2/src/mhd2/h2/h2_proc_in.c:96,1
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/h2/h2_proc_in.c:101,1
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/h2/h2_proc_in.c:106,1
    - Dst: mhd_h2_conn_finish
      Src: /src/mhd2/src/mhd2/h2/h2_proc_in.c:107,1
    - Dst: mhd_h2_conn_streamid_in_headers
      Src: /src/mhd2/src/mhd2/h2/h2_proc_in.c:111,1
    - Dst: mhd_h2_conn_streamid_in_rst_stream
      Src: /src/mhd2/src/mhd2/h2/h2_proc_in.c:117,1
    - Dst: mhd_h2_proc_new_settings
      Src: /src/mhd2/src/mhd2/h2/h2_proc_in.c:122,1
    - Dst: mhd_h2_conn_finish
      Src: /src/mhd2/src/mhd2/h2/h2_proc_in.c:125,1
    - Dst: mhd_h2_q_ping
      Src: /src/mhd2/src/mhd2/h2/h2_proc_in.c:129,1
    - Dst: mhd_h2_conn_process_in_goaway
      Src: /src/mhd2/src/mhd2/h2/h2_proc_in.c:133,1
    - Dst: mhd_h2_conn_streamid_window_incr
      Src: /src/mhd2/src/mhd2/h2/h2_proc_in.c:140,1
    - Dst: mhd_h2_conn_finish
      Src: /src/mhd2/src/mhd2/h2/h2_proc_in.c:147,1
    - Dst: mhd_h2_conn_streamid_in_continuation
      Src: /src/mhd2/src/mhd2/h2/h2_proc_in.c:155,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 38
    argCount: 3
    argNames:
    - c
    - h2frame
    - payload
    argTypes:
    - struct MHD_Connection*
    - union mhd_H2FrameUnion*
    - struct mhd_Buffer*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 165
      start: 86
    functionDepth: 1
    functionLinenumber: 86
    functionLinenumberEnd: 165
    functionName: process_inc_frame
    functionSourceFile: /src/mhd2/src/mhd2/h2/h2_proc_in.c
    functionUses: 0
    functionsReached:
    - mhd_h2_conn_finish
    - mhd_h2_q_ping
    - mhd_h2_conn_streamid_in_rst_stream
    - mhd_h2_conn_streamid_in_headers
    - mhd_h2_conn_process_in_goaway
    - mhd_h2_conn_streamid_in_continuation
    - mhd_h2_proc_new_settings
    - mhd_assert
    - mhd_h2_conn_streamid_window_incr
    linkageType: ''
    returnType: MHD_FN_PAR_NONNULL_ALL_
    signature: "MHD_FN_PAR_NONNULL_ALL_ process_inc_frame (struct MHD_Connection *restrict
      c,\n                   const union mhd_H2FrameUnion *h2frame,\n                   struct
      mhd_Buffer *payload)"
  - BBCount: 15
    BranchProfiles: []
    Callsites:
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/h2/h2_proc_in.c:171,1
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/h2/h2_proc_in.c:173,1
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/h2/h2_proc_in.c:174,1
    - Dst: mhd_h2_frame_decode
      Src: /src/mhd2/src/mhd2/h2/h2_proc_in.c:190,1
    - Dst: process_inc_frame
      Src: /src/mhd2/src/mhd2/h2/h2_proc_in.c:198,1
    - Dst: mhd_h2_frame_get_total_size
      Src: /src/mhd2/src/mhd2/h2/h2_proc_in.c:211,1
    - Dst: mhd_h2_conn_streamid_abort
      Src: /src/mhd2/src/mhd2/h2/h2_proc_in.c:218,1
    - Dst: mhd_h2_conn_finish
      Src: /src/mhd2/src/mhd2/h2/h2_proc_in.c:227,1
    - Dst: mhd_h2_conn_finish
      Src: /src/mhd2/src/mhd2/h2/h2_proc_in.c:232,1
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/h2/h2_proc_in.c:244,1
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/h2/h2_proc_in.c:246,1
    - Dst: mhd_h2_frame_get_total_size
      Src: /src/mhd2/src/mhd2/h2/h2_proc_in.c:247,1
    - Dst: mhd_h2_frame_get_total_size
      Src: /src/mhd2/src/mhd2/h2/h2_proc_in.c:249,1
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/h2/h2_proc_in.c:252,1
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/h2/h2_proc_in.c:257,1
    - Dst: memmove
      Src: /src/mhd2/src/mhd2/h2/h2_proc_in.c:259,1
    - Dst: memmove
      Src: /src/mhd2/src/mhd2/h2/h2_proc_in.c:264,1
    CyclomaticComplexity: 16
    EdgeCount: 16
    ICount: 56
    argCount: 1
    argNames:
    - c
    argTypes:
    - struct MHD_Connection*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 273
      start: 168
    functionDepth: 3
    functionLinenumber: 168
    functionLinenumberEnd: 273
    functionName: mhd_h2_conn_process_in_data
    functionSourceFile: /src/mhd2/src/mhd2/h2/h2_proc_in.c
    functionUses: 0
    functionsReached:
    - mhd_h2_conn_finish
    - mhd_h2_conn_streamid_abort
    - memmove
    - process_inc_frame
    - mhd_h2_frame_decode
    - mhd_h2_frame_get_total_size
    - mhd_assert
    linkageType: ''
    returnType: MHD_INTERNAL
    signature: MHD_INTERNAL mhd_h2_conn_process_in_data (struct MHD_Connection *restrict
      c)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - c
    argTypes:
    - struct MHD_Connection*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 84
      start: 80
    functionDepth: 0
    functionLinenumber: 80
    functionLinenumberEnd: 84
    functionName: mhd_h2_blank_init
    functionSourceFile: /src/mhd2/src/mhd2/h2/h2_comm.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: MHD_INTERNAL
    signature: MHD_INTERNAL mhd_h2_blank_init (struct MHD_Connection *restrict c)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/h2/h2_comm.c:132,1
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/h2/h2_comm.c:133,1
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/h2/h2_comm.c:134,1
    - Dst: memcmp
      Src: /src/mhd2/src/mhd2/h2/h2_comm.c:142,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 1
    argNames:
    - c
    argTypes:
    - struct MHD_Connection*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 149
      start: 127
    functionDepth: 1
    functionLinenumber: 127
    functionLinenumberEnd: 149
    functionName: mhd_h2_check_preface
    functionSourceFile: /src/mhd2/src/mhd2/h2/h2_comm.c
    functionUses: 0
    functionsReached:
    - mhd_assert
    - memcmp
    linkageType: ''
    returnType: mhd_static_inline
    signature: mhd_static_inline mhd_h2_check_preface (struct MHD_Connection *restrict
      c)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/h2/h2_comm.c:175,1
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/h2/h2_comm.c:176,1
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/h2/h2_comm.c:177,1
    - Dst: mhd_DLINKEDL_INIT_LIST_D
      Src: /src/mhd2/src/mhd2/h2/h2_comm.c:179,1
    - Dst: mhd_DLINKEDL_INIT_LIST_D
      Src: /src/mhd2/src/mhd2/h2/h2_comm.c:180,1
    - Dst: mhd_pool_get_size
      Src: /src/mhd2/src/mhd2/h2/h2_comm.c:205,1
    - Dst: mhd_pool_reset
      Src: /src/mhd2/src/mhd2/h2/h2_comm.c:208,1
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/h2/h2_comm.c:212,1
    - Dst: mhd_pool_create
      Src: /src/mhd2/src/mhd2/h2/h2_comm.c:217,1
    - Dst: mhd_pool_get_size
      Src: /src/mhd2/src/mhd2/h2/h2_comm.c:221,1
    - Dst: mhd_pool_allocate
      Src: /src/mhd2/src/mhd2/h2/h2_comm.c:224,1
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/h2/h2_comm.c:227,1
    - Dst: mhd_hpack_dec_init
      Src: /src/mhd2/src/mhd2/h2/h2_comm.c:232,1
    - Dst: mhd_hpack_enc_init
      Src: /src/mhd2/src/mhd2/h2/h2_comm.c:234,1
    - Dst: mhd_h2_items_block_create
      Src: /src/mhd2/src/mhd2/h2/h2_comm.c:237,1
    - Dst: mhd_hpack_enc_deinit
      Src: /src/mhd2/src/mhd2/h2/h2_comm.c:247,1
    - Dst: mhd_hpack_dec_deinit
      Src: /src/mhd2/src/mhd2/h2/h2_comm.c:249,1
    - Dst: mhd_pool_destroy
      Src: /src/mhd2/src/mhd2/h2/h2_comm.c:252,1
    - Dst: mhd_LOG_MSG
      Src: /src/mhd2/src/mhd2/h2/h2_comm.c:254,1
    - Dst: mhd_LOG_MSG
      Src: /src/mhd2/src/mhd2/h2/h2_comm.c:259,1
    - Dst: mhd_conn_start_closing_no_sys_res
      Src: /src/mhd2/src/mhd2/h2/h2_comm.c:262,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 57
    argCount: 1
    argNames:
    - c
    argTypes:
    - struct MHD_Connection*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 266
      start: 171
    functionDepth: 2
    functionLinenumber: 171
    functionLinenumberEnd: 266
    functionName: h2_switch_to_h2
    functionSourceFile: /src/mhd2/src/mhd2/h2/h2_comm.c
    functionUses: 0
    functionsReached:
    - mhd_hpack_enc_deinit
    - mhd_hpack_enc_init
    - mhd_conn_start_closing_no_sys_res
    - mhd_pool_reset
    - mhd_pool_allocate
    - mhd_hpack_dec_init
    - mhd_h2_items_block_create
    - mhd_LOG_MSG
    - mhd_DLINKEDL_INIT_LIST_D
    - mhd_assert
    - mhd_hpack_dec_deinit
    - mhd_pool_destroy
    - mhd_pool_create
    - mhd_pool_get_size
    linkageType: ''
    returnType: MHD_FN_PAR_NONNULL_ALL_
    signature: MHD_FN_PAR_NONNULL_ALL_ h2_switch_to_h2 (struct MHD_Connection *restrict
      c)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/h2/h2_comm.c:277,1
    - Dst: mhd_C_IS_HTTP2
      Src: /src/mhd2/src/mhd2/h2/h2_comm.c:277,1
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/h2/h2_comm.c:278,1
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/h2/h2_comm.c:281,1
    - Dst: mhd_h2_conn_close_streams_all
      Src: /src/mhd2/src/mhd2/h2/h2_comm.c:283,1
    - Dst: mhd_h2_items_block_destroy
      Src: /src/mhd2/src/mhd2/h2/h2_comm.c:285,1
    - Dst: mhd_hpack_enc_deinit
      Src: /src/mhd2/src/mhd2/h2/h2_comm.c:287,1
    - Dst: mhd_hpack_dec_deinit
      Src: /src/mhd2/src/mhd2/h2/h2_comm.c:288,1
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/h2/h2_comm.c:290,1
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/h2/h2_comm.c:291,1
    - Dst: mhd_pool_destroy
      Src: /src/mhd2/src/mhd2/h2/h2_comm.c:296,1
    - Dst: mhd_conn_start_closing_h2_hard
      Src: /src/mhd2/src/mhd2/h2/h2_comm.c:306,1
    - Dst: mhd_conn_start_closing_h2_soft
      Src: /src/mhd2/src/mhd2/h2/h2_comm.c:308,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 23
    argCount: 1
    argNames:
    - c
    argTypes:
    - struct MHD_Connection*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 312
      start: 274
    functionDepth: 2
    functionLinenumber: 274
    functionLinenumberEnd: 312
    functionName: mhd_h2_conn_h2_deinit_start_closing
    functionSourceFile: /src/mhd2/src/mhd2/h2/h2_comm.c
    functionUses: 1
    functionsReached:
    - mhd_hpack_enc_deinit
    - mhd_h2_conn_close_streams_all
    - mhd_conn_start_closing_h2_soft
    - mhd_conn_start_closing_h2_hard
    - mhd_pool_destroy
    - mhd_hpack_dec_deinit
    - mhd_C_IS_HTTP2
    - mhd_assert
    - mhd_h2_items_block_destroy
    linkageType: ''
    returnType: MHD_INTERNAL
    signature: MHD_INTERNAL mhd_h2_conn_h2_deinit_start_closing (struct MHD_Connection
      *restrict c)
  - BBCount: 11
    BranchProfiles: []
    Callsites:
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/h2/h2_comm.c:331,1
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/h2/h2_comm.c:332,1
    - Dst: mhd_D_IS_HTTP2_ENABLED
      Src: /src/mhd2/src/mhd2/h2/h2_comm.c:334,1
    - Dst: mhd_RESPOND_WITH_ERROR_STATIC
      Src: /src/mhd2/src/mhd2/h2/h2_comm.c:338,1
    - Dst: mhd_C_HAS_TLS
      Src: /src/mhd2/src/mhd2/h2/h2_comm.c:345,1
    - Dst: mhd_tls_conn_get_alpn_prot
      Src: /src/mhd2/src/mhd2/h2/h2_comm.c:347,1
    - Dst: mhd_RESPOND_WITH_ERROR_STATIC
      Src: /src/mhd2/src/mhd2/h2/h2_comm.c:355,1
    - Dst: mhd_RESPOND_WITH_ERROR_STATIC
      Src: /src/mhd2/src/mhd2/h2/h2_comm.c:369,1
    - Dst: mhd_UNREACHABLE
      Src: /src/mhd2/src/mhd2/h2/h2_comm.c:376,1
    - Dst: h2_switch_to_h2
      Src: /src/mhd2/src/mhd2/h2/h2_comm.c:381,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 37
    argCount: 1
    argNames:
    - c
    argTypes:
    - struct MHD_Connection*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 382
      start: 323
    functionDepth: 3
    functionLinenumber: 323
    functionLinenumberEnd: 382
    functionName: h2_handle_preface_found
    functionSourceFile: /src/mhd2/src/mhd2/h2/h2_comm.c
    functionUses: 0
    functionsReached:
    - mhd_C_HAS_TLS
    - mhd_D_IS_HTTP2_ENABLED
    - mhd_RESPOND_WITH_ERROR_STATIC
    - mhd_UNREACHABLE
    - mhd_tls_conn_get_alpn_prot
    - mhd_assert
    - h2_switch_to_h2
    linkageType: ''
    returnType: MHD_FN_PAR_NONNULL_ALL_
    signature: MHD_FN_PAR_NONNULL_ALL_ h2_handle_preface_found (struct MHD_Connection
      *restrict c)
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/h2/h2_comm.c:408,1
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/h2/h2_comm.c:409,1
    - Dst: mhd_C_HAS_TLS
      Src: /src/mhd2/src/mhd2/h2/h2_comm.c:412,1
    - Dst: mhd_tls_conn_get_alpn_prot
      Src: /src/mhd2/src/mhd2/h2/h2_comm.c:414,1
    - Dst: mhd_conn_start_closing
      Src: /src/mhd2/src/mhd2/h2/h2_comm.c:426,1
    - Dst: mhd_MSG4LOG
      Src: /src/mhd2/src/mhd2/h2/h2_comm.c:428,1
    - Dst: mhd_UNREACHABLE
      Src: /src/mhd2/src/mhd2/h2/h2_comm.c:435,1
    - Dst: mhd_D_IS_HTTP1_ENABLED
      Src: /src/mhd2/src/mhd2/h2/h2_comm.c:444,1
    - Dst: mhd_RESPOND_WITH_ERROR_STATIC
      Src: /src/mhd2/src/mhd2/h2/h2_comm.c:448,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 35
    argCount: 1
    argNames:
    - c
    argTypes:
    - struct MHD_Connection*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 458
      start: 402
    functionDepth: 5
    functionLinenumber: 402
    functionLinenumberEnd: 458
    functionName: h2_handle_preface_not_found
    functionSourceFile: /src/mhd2/src/mhd2/h2/h2_comm.c
    functionUses: 0
    functionsReached:
    - mhd_C_HAS_TLS
    - mhd_MSG4LOG
    - mhd_conn_start_closing
    - mhd_RESPOND_WITH_ERROR_STATIC
    - mhd_UNREACHABLE
    - mhd_D_IS_HTTP1_ENABLED
    - mhd_tls_conn_get_alpn_prot
    - mhd_assert
    linkageType: ''
    returnType: MHD_FN_PAR_NONNULL_ALL_
    signature: MHD_FN_PAR_NONNULL_ALL_ h2_handle_preface_not_found (struct MHD_Connection
      *restrict c)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/h2/h2_comm.c:464,1
    - Dst: mhd_h2_check_preface
      Src: /src/mhd2/src/mhd2/h2/h2_comm.c:466,1
    - Dst: h2_handle_preface_found
      Src: /src/mhd2/src/mhd2/h2/h2_comm.c:470,1
    - Dst: h2_handle_preface_not_found
      Src: /src/mhd2/src/mhd2/h2/h2_comm.c:473,1
    - Dst: mhd_UNREACHABLE
      Src: /src/mhd2/src/mhd2/h2/h2_comm.c:480,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 14
    argCount: 1
    argNames:
    - c
    argTypes:
    - struct MHD_Connection*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 482
      start: 461
    functionDepth: 6
    functionLinenumber: 461
    functionLinenumberEnd: 482
    functionName: mhd_h2_process_preface
    functionSourceFile: /src/mhd2/src/mhd2/h2/h2_comm.c
    functionUses: 1
    functionsReached:
    - h2_handle_preface_found
    - mhd_h2_check_preface
    - mhd_UNREACHABLE
    - h2_handle_preface_not_found
    - mhd_assert
    linkageType: ''
    returnType: enum mhd_CommLayerState
    signature: enum mhd_CommLayerState mhd_h2_process_preface (struct MHD_Connection
      *restrict c)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/h2/h2_comm.c:490,1
    - Dst: mhd_C_IS_HTTP2
      Src: /src/mhd2/src/mhd2/h2/h2_comm.c:490,1
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/h2/h2_comm.c:492,1
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/h2/h2_comm.c:494,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 1
    argNames:
    - c
    argTypes:
    - struct MHD_Connection*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 506
      start: 485
    functionDepth: 1
    functionLinenumber: 485
    functionLinenumberEnd: 506
    functionName: mhd_h2_conn_state_update
    functionSourceFile: /src/mhd2/src/mhd2/h2/h2_comm.c
    functionUses: 1
    functionsReached:
    - mhd_C_IS_HTTP2
    - mhd_assert
    linkageType: ''
    returnType: MHD_INTERNAL
    signature: MHD_INTERNAL mhd_h2_conn_state_update (struct MHD_Connection *restrict
      c)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/h2/h2_comm.c:512,1
    - Dst: memmove
      Src: /src/mhd2/src/mhd2/h2/h2_comm.c:523,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 11
    argCount: 1
    argNames:
    - c
    argTypes:
    - struct MHD_Connection*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 529
      start: 509
    functionDepth: 1
    functionLinenumber: 509
    functionLinenumberEnd: 529
    functionName: h2_conn_manage_buff_out
    functionSourceFile: /src/mhd2/src/mhd2/h2/h2_comm.c
    functionUses: 0
    functionsReached:
    - mhd_assert
    - memmove
    linkageType: ''
    returnType: MHD_FN_PAR_NONNULL_ALL_
    signature: MHD_FN_PAR_NONNULL_ALL_ h2_conn_manage_buff_out (struct MHD_Connection
      *restrict c)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: mhd_h2_q_settings_first_fr
      Src: /src/mhd2/src/mhd2/h2/h2_comm.c:539,1
    - Dst: mhd_h2_conn_process_first_fr
      Src: /src/mhd2/src/mhd2/h2/h2_comm.c:546,1
    - Dst: h2_conn_manage_buff_out
      Src: /src/mhd2/src/mhd2/h2/h2_comm.c:550,1
    - Dst: mhd_h2_conn_process_in_data
      Src: /src/mhd2/src/mhd2/h2/h2_comm.c:558,1
    - Dst: mhd_h2_conn_process_changes
      Src: /src/mhd2/src/mhd2/h2/h2_comm.c:567,1
    - Dst: mhd_h2_conn_process_streams_sending_queue
      Src: /src/mhd2/src/mhd2/h2/h2_comm.c:571,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 16
    argCount: 1
    argNames:
    - c
    argTypes:
    - struct MHD_Connection*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 574
      start: 532
    functionDepth: 4
    functionLinenumber: 532
    functionLinenumberEnd: 574
    functionName: h2_conn_process_data_inner
    functionSourceFile: /src/mhd2/src/mhd2/h2/h2_comm.c
    functionUses: 0
    functionsReached:
    - mhd_h2_q_settings_first_fr
    - h2_conn_manage_buff_out
    - mhd_h2_conn_process_changes
    - mhd_h2_conn_process_first_fr
    - mhd_h2_conn_process_in_data
    - mhd_h2_conn_process_streams_sending_queue
    linkageType: ''
    returnType: MHD_FN_PAR_NONNULL_ALL_
    signature: MHD_FN_PAR_NONNULL_ALL_ h2_conn_process_data_inner (struct MHD_Connection
      *restrict c)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/h2/h2_comm.c:580,1
    - Dst: mhd_C_IS_HTTP2
      Src: /src/mhd2/src/mhd2/h2/h2_comm.c:580,1
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/h2/h2_comm.c:582,1
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/h2/h2_comm.c:583,1
    - Dst: mhd_h2_conn_h2_deinit_start_closing
      Src: /src/mhd2/src/mhd2/h2/h2_comm.c:590,1
    - Dst: h2_conn_process_data_inner
      Src: /src/mhd2/src/mhd2/h2/h2_comm.c:596,1
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/h2/h2_comm.c:598,1
    - Dst: mhd_h2_conn_h2_deinit_start_closing
      Src: /src/mhd2/src/mhd2/h2/h2_comm.c:602,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 18
    argCount: 1
    argNames:
    - c
    argTypes:
    - struct MHD_Connection*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 607
      start: 577
    functionDepth: 5
    functionLinenumber: 577
    functionLinenumberEnd: 607
    functionName: mhd_h2_conn_process_data
    functionSourceFile: /src/mhd2/src/mhd2/h2/h2_comm.c
    functionUses: 1
    functionsReached:
    - mhd_C_IS_HTTP2
    - mhd_h2_conn_h2_deinit_start_closing
    - mhd_assert
    - h2_conn_process_data_inner
    linkageType: ''
    returnType: MHD_INTERNAL
    signature: MHD_INTERNAL mhd_h2_conn_process_data (struct MHD_Connection *restrict
      c)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: MHD_FN_PAR_FIX_ARR_SIZE_
      Src: /src/mhd2/src/mhd2/h2/h2_settings.h:129,1
    - Dst: mhd_GET_16BIT_BE_UNALIGN
      Src: /src/mhd2/src/mhd2/h2/h2_settings.h:133,1
    - Dst: mhd_GET_32BIT_BE_UNALIGN
      Src: /src/mhd2/src/mhd2/h2/h2_settings.h:134,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 3
    argNames:
    - encoded
    - p_identifier
    - p_value
    argTypes:
    - uint8_t[]
    - uint_least16_t*
    - uint_least32_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 135
      start: 128
    functionDepth: 1
    functionLinenumber: 128
    functionLinenumberEnd: 135
    functionName: mhd_h2_setting_decode3
    functionSourceFile: /src/mhd2/src/mhd2/h2/h2_settings.h
    functionUses: 0
    functionsReached:
    - mhd_GET_32BIT_BE_UNALIGN
    - MHD_FN_PAR_FIX_ARR_SIZE_
    - mhd_GET_16BIT_BE_UNALIGN
    linkageType: ''
    returnType: void
    signature: "void mhd_h2_setting_decode3 (const uint8_t encoded[MHD_FN_PAR_FIX_ARR_SIZE_
      (6)],\n                        uint_least16_t *restrict p_identifier,\n                        uint_least32_t
      *restrict p_value)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: MHD_FN_PAR_FIX_ARR_SIZE_
      Src: /src/mhd2/src/mhd2/h2/h2_settings.h:147,1
    - Dst: mhd_h2_setting_decode3
      Src: /src/mhd2/src/mhd2/h2/h2_settings.h:151,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - encoded
    - setting
    argTypes:
    - uint8_t[]
    - struct mhd_H2Setting*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 155
      start: 146
    functionDepth: 2
    functionLinenumber: 146
    functionLinenumberEnd: 155
    functionName: mhd_h2_setting_decode
    functionSourceFile: /src/mhd2/src/mhd2/h2/h2_settings.h
    functionUses: 1
    functionsReached:
    - mhd_h2_setting_decode3
    - MHD_FN_PAR_FIX_ARR_SIZE_
    linkageType: ''
    returnType: void
    signature: "void mhd_h2_setting_decode (const uint8_t encoded[MHD_FN_PAR_FIX_ARR_SIZE_
      (6)],\n                       struct mhd_H2Setting *restrict setting)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: MHD_FN_PAR_FIX_ARR_SIZE_
      Src: /src/mhd2/src/mhd2/h2/h2_settings.h:169,1
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/h2/h2_settings.h:171,1
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/h2/h2_settings.h:172,1
    - Dst: mhd_PUT_16BIT_BE_UNALIGN
      Src: /src/mhd2/src/mhd2/h2/h2_settings.h:173,1
    - Dst: mhd_PUT_32BIT_BE_UNALIGN
      Src: /src/mhd2/src/mhd2/h2/h2_settings.h:175,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 3
    argNames:
    - identifier
    - value
    - encoded
    argTypes:
    - uint_least16_t
    - uint_least32_t
    - uint8_t[]
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 177
      start: 166
    functionDepth: 1
    functionLinenumber: 166
    functionLinenumberEnd: 177
    functionName: mhd_h2_setting_encode3
    functionSourceFile: /src/mhd2/src/mhd2/h2/h2_settings.h
    functionUses: 1
    functionsReached:
    - mhd_PUT_32BIT_BE_UNALIGN
    - mhd_assert
    - mhd_PUT_16BIT_BE_UNALIGN
    - MHD_FN_PAR_FIX_ARR_SIZE_
    linkageType: ''
    returnType: void
    signature: "void mhd_h2_setting_encode3 (uint_least16_t identifier,\n                        uint_least32_t
      value,\n                        uint8_t encoded[MHD_FN_PAR_FIX_ARR_SIZE_ (6)])"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: MHD_FN_PAR_FIX_ARR_SIZE_
      Src: /src/mhd2/src/mhd2/h2/h2_settings.h:190,1
    - Dst: mhd_h2_setting_encode3
      Src: /src/mhd2/src/mhd2/h2/h2_settings.h:192,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - setting
    - encoded
    argTypes:
    - struct mhd_H2Setting*
    - uint8_t[]
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 195
      start: 188
    functionDepth: 2
    functionLinenumber: 188
    functionLinenumberEnd: 195
    functionName: mhd_h2_setting_encode
    functionSourceFile: /src/mhd2/src/mhd2/h2/h2_settings.h
    functionUses: 0
    functionsReached:
    - mhd_h2_setting_encode3
    - MHD_FN_PAR_FIX_ARR_SIZE_
    linkageType: ''
    returnType: void
    signature: "void mhd_h2_setting_encode (const struct mhd_H2Setting *restrict setting,\n
      \                      uint8_t encoded[MHD_FN_PAR_FIX_ARR_SIZE_ (6)])"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - c
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 67
      start: 66
    functionDepth: 0
    functionLinenumber: 66
    functionLinenumberEnd: 67
    functionName: mhd_h2_blank_init
    functionSourceFile: /src/mhd2/src/mhd2/h2/h2_comm.h
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: mhd_h2_blank_init(c)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/h2/h2_req_items_funcs.c:93,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - ib
    argTypes:
    - struct mhd_H2ReqItemsBlock*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 95
      start: 90
    functionDepth: 1
    functionLinenumber: 90
    functionLinenumberEnd: 95
    functionName: h2_ib_get_buff
    functionSourceFile: /src/mhd2/src/mhd2/h2/h2_req_items_funcs.c
    functionUses: 0
    functionsReached:
    - mhd_assert
    linkageType: ''
    returnType: mhd_static_inline
    signature: 'mhd_static_inline *

      h2_ib_get_buff (struct mhd_H2ReqItemsBlock *ib)'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/h2/h2_req_items_funcs.c:101,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - ib
    argTypes:
    - struct mhd_H2ReqItemsBlock*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 103
      start: 98
    functionDepth: 1
    functionLinenumber: 98
    functionLinenumberEnd: 103
    functionName: h2_ib_get_buffc
    functionSourceFile: /src/mhd2/src/mhd2/h2/h2_req_items_funcs.c
    functionUses: 0
    functionsReached:
    - mhd_assert
    linkageType: ''
    returnType: mhd_static_inline
    signature: 'mhd_static_inline *

      h2_ib_get_buffc (const struct mhd_H2ReqItemsBlock *ib)'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: h2_ib_get_buff
      Src: /src/mhd2/src/mhd2/h2/h2_req_items_funcs.c:110,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ib
    argTypes:
    - struct mhd_H2ReqItemsBlock*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 112
      start: 106
    functionDepth: 2
    functionLinenumber: 106
    functionLinenumberEnd: 112
    functionName: h2_ib_get_zero_item
    functionSourceFile: /src/mhd2/src/mhd2/h2/h2_req_items_funcs.c
    functionUses: 0
    functionsReached:
    - h2_ib_get_buff
    linkageType: ''
    returnType: mhd_static_inline
    signature: 'mhd_static_inline *

      h2_ib_get_zero_item (struct mhd_H2ReqItemsBlock *ib)'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: h2_ib_get_buffc
      Src: /src/mhd2/src/mhd2/h2/h2_req_items_funcs.c:119,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ib
    argTypes:
    - struct mhd_H2ReqItemsBlock*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 121
      start: 115
    functionDepth: 2
    functionLinenumber: 115
    functionLinenumberEnd: 121
    functionName: h2_ib_get_zero_itemc
    functionSourceFile: /src/mhd2/src/mhd2/h2/h2_req_items_funcs.c
    functionUses: 0
    functionsReached:
    - h2_ib_get_buffc
    linkageType: ''
    returnType: mhd_static_inline
    signature: 'mhd_static_inline *

      h2_ib_get_zero_itemc (const struct mhd_H2ReqItemsBlock *ib)'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: h2_ib_get_zero_item
      Src: /src/mhd2/src/mhd2/h2/h2_req_items_funcs.c:129,1
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/h2/h2_req_items_funcs.c:130,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - ib
    - pos
    argTypes:
    - struct mhd_H2ReqItemsBlock*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 133
      start: 125
    functionDepth: 3
    functionLinenumber: 125
    functionLinenumberEnd: 133
    functionName: h2_ib_get_n_item
    functionSourceFile: /src/mhd2/src/mhd2/h2/h2_req_items_funcs.c
    functionUses: 0
    functionsReached:
    - mhd_assert
    - h2_ib_get_zero_item
    linkageType: ''
    returnType: mhd_static_inline
    signature: "mhd_static_inline *\nh2_ib_get_n_item (struct mhd_H2ReqItemsBlock
      *ib,\n                  size_t pos)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: h2_ib_get_zero_itemc
      Src: /src/mhd2/src/mhd2/h2/h2_req_items_funcs.c:141,1
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/h2/h2_req_items_funcs.c:142,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - ib
    - pos
    argTypes:
    - struct mhd_H2ReqItemsBlock*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 145
      start: 137
    functionDepth: 3
    functionLinenumber: 137
    functionLinenumberEnd: 145
    functionName: h2_ib_get_n_itemc
    functionSourceFile: /src/mhd2/src/mhd2/h2/h2_req_items_funcs.c
    functionUses: 0
    functionsReached:
    - h2_ib_get_zero_itemc
    - mhd_assert
    linkageType: ''
    returnType: mhd_static_inline
    signature: "mhd_static_inline *\nh2_ib_get_n_itemc (const struct mhd_H2ReqItemsBlock
      *ib,\n                   size_t pos)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/h2/h2_req_items_funcs.c:151,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - ib
    argTypes:
    - struct mhd_H2ReqItemsBlock*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 154
      start: 148
    functionDepth: 1
    functionLinenumber: 148
    functionLinenumberEnd: 154
    functionName: h2_ib_get_buff_free_size
    functionSourceFile: /src/mhd2/src/mhd2/h2/h2_req_items_funcs.c
    functionUses: 0
    functionsReached:
    - mhd_assert
    linkageType: ''
    returnType: mhd_static_inline
    signature: mhd_static_inline h2_ib_get_buff_free_size (const struct mhd_H2ReqItemsBlock
      *ib)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: h2_ib_get_buff
      Src: /src/mhd2/src/mhd2/h2/h2_req_items_funcs.c:160,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ib
    argTypes:
    - struct mhd_H2ReqItemsBlock*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 161
      start: 157
    functionDepth: 2
    functionLinenumber: 157
    functionLinenumberEnd: 161
    functionName: h2_ib_get_buff_free_ptr
    functionSourceFile: /src/mhd2/src/mhd2/h2/h2_req_items_funcs.c
    functionUses: 0
    functionsReached:
    - h2_ib_get_buff
    linkageType: ''
    returnType: mhd_static_inline
    signature: 'mhd_static_inline *

      h2_ib_get_buff_free_ptr (struct mhd_H2ReqItemsBlock *ib)'
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: mhd_COND_HARDLY_EVER
      Src: /src/mhd2/src/mhd2/h2/h2_req_items_funcs.c:173,1
    - Dst: mhd_ALIGNOF
      Src: /src/mhd2/src/mhd2/h2/h2_req_items_funcs.c:174,1
    - Dst: mhd_ALIGNOF
      Src: /src/mhd2/src/mhd2/h2/h2_req_items_funcs.c:177,1
    - Dst: mhd_ALIGNOF
      Src: /src/mhd2/src/mhd2/h2/h2_req_items_funcs.c:183,1
    - Dst: mhd_ALIGNOF
      Src: /src/mhd2/src/mhd2/h2/h2_req_items_funcs.c:184,1
    - Dst: mhd_ALIGNOF
      Src: /src/mhd2/src/mhd2/h2/h2_req_items_funcs.c:191,1
    - Dst: mhd_ALIGNOF
      Src: /src/mhd2/src/mhd2/h2/h2_req_items_funcs.c:192,1
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/h2/h2_req_items_funcs.c:194,1
    - Dst: mhd_ALIGNOF
      Src: /src/mhd2/src/mhd2/h2/h2_req_items_funcs.c:195,1
    - Dst: malloc
      Src: /src/mhd2/src/mhd2/h2/h2_req_items_funcs.c:198,1
    - Dst: mhd_h2_items_block_reset
      Src: /src/mhd2/src/mhd2/h2/h2_req_items_funcs.c:207,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 14
    argCount: 1
    argNames:
    - buffer_size
    argTypes:
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 210
      start: 166
    functionDepth: 1
    functionLinenumber: 166
    functionLinenumberEnd: 210
    functionName: mhd_h2_items_block_create
    functionSourceFile: /src/mhd2/src/mhd2/h2/h2_req_items_funcs.c
    functionUses: 1
    functionsReached:
    - mhd_h2_items_block_reset
    - malloc
    - mhd_COND_HARDLY_EVER
    - mhd_assert
    - mhd_ALIGNOF
    linkageType: ''
    returnType: struct mhd_H2ReqItemsBlock
    signature: 'struct mhd_H2ReqItemsBlock *

      mhd_h2_items_block_create (size_t buffer_size)'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: free
      Src: /src/mhd2/src/mhd2/h2/h2_req_items_funcs.c:216,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ib
    argTypes:
    - struct mhd_H2ReqItemsBlock*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 217
      start: 213
    functionDepth: 0
    functionLinenumber: 213
    functionLinenumberEnd: 217
    functionName: mhd_h2_items_block_destroy
    functionSourceFile: /src/mhd2/src/mhd2/h2/h2_req_items_funcs.c
    functionUses: 1
    functionsReached:
    - free
    linkageType: ''
    returnType: MHD_INTERNAL
    signature: MHD_INTERNAL mhd_h2_items_block_destroy (struct mhd_H2ReqItemsBlock
      *ib)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/h2/h2_req_items_funcs.c:224,1
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/h2/h2_req_items_funcs.c:225,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 1
    argNames:
    - ib
    argTypes:
    - struct mhd_H2ReqItemsBlock*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 233
      start: 221
    functionDepth: 1
    functionLinenumber: 221
    functionLinenumberEnd: 233
    functionName: mhd_h2_items_block_reset
    functionSourceFile: /src/mhd2/src/mhd2/h2/h2_req_items_funcs.c
    functionUses: 1
    functionsReached:
    - mhd_assert
    linkageType: ''
    returnType: void
    signature: void mhd_h2_items_block_reset (struct mhd_H2ReqItemsBlock *restrict
      ib)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: h2_ib_get_buff_free_size
      Src: /src/mhd2/src/mhd2/h2/h2_req_items_funcs.c:242,1
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/h2/h2_req_items_funcs.c:244,1
    - Dst: h2_ib_get_buff_free_ptr
      Src: /src/mhd2/src/mhd2/h2/h2_req_items_funcs.c:253,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 2
    argNames:
    - ib
    - buff
    argTypes:
    - struct mhd_H2ReqItemsBlock*
    - struct mhd_Buffer*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 257
      start: 238
    functionDepth: 3
    functionLinenumber: 238
    functionLinenumberEnd: 257
    functionName: mhd_h2_items_get_buff_new_item
    functionSourceFile: /src/mhd2/src/mhd2/h2/h2_req_items_funcs.c
    functionUses: 0
    functionsReached:
    - h2_ib_get_buff_free_size
    - mhd_assert
    - h2_ib_get_buff_free_ptr
    linkageType: ''
    returnType: bool
    signature: "bool mhd_h2_items_get_buff_new_item (struct mhd_H2ReqItemsBlock *restrict
      ib,\n                                struct mhd_Buffer *restrict buff)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: h2_ib_get_buff_free_size
      Src: /src/mhd2/src/mhd2/h2/h2_req_items_funcs.c:264,1
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/h2/h2_req_items_funcs.c:266,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - ib
    argTypes:
    - struct mhd_H2ReqItemsBlock*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 276
      start: 261
    functionDepth: 2
    functionLinenumber: 261
    functionLinenumberEnd: 276
    functionName: mhd_h2_items_reserve_new_item
    functionSourceFile: /src/mhd2/src/mhd2/h2/h2_req_items_funcs.c
    functionUses: 0
    functionsReached:
    - h2_ib_get_buff_free_size
    - mhd_assert
    linkageType: ''
    returnType: MHD_FN_PAR_NONNULL_ALL_
    signature: MHD_FN_PAR_NONNULL_ALL_ mhd_h2_items_reserve_new_item (struct mhd_H2ReqItemsBlock
      *restrict ib)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: h2_ib_get_n_item
      Src: /src/mhd2/src/mhd2/h2/h2_req_items_funcs.c:286,1
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/h2/h2_req_items_funcs.c:288,1
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/h2/h2_req_items_funcs.c:289,1
    - Dst: h2_ib_get_buff_free_size
      Src: /src/mhd2/src/mhd2/h2/h2_req_items_funcs.c:289,1
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/h2/h2_req_items_funcs.c:291,1
    - Dst: h2_ib_get_buff_free_ptr
      Src: /src/mhd2/src/mhd2/h2/h2_req_items_funcs.c:291,1
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/h2/h2_req_items_funcs.c:292,1
    - Dst: h2_ib_get_buff_free_ptr
      Src: /src/mhd2/src/mhd2/h2/h2_req_items_funcs.c:292,1
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/h2/h2_req_items_funcs.c:306,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 13
    argCount: 4
    argNames:
    - ib
    - name_len
    - val_len
    - kind
    argTypes:
    - struct mhd_H2ReqItemsBlock*
    - size_t
    - size_t
    - enum mhd_H2RequestItemKind
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 308
      start: 280
    functionDepth: 4
    functionLinenumber: 280
    functionLinenumberEnd: 308
    functionName: mhd_h2_items_add_new_item_buff
    functionSourceFile: /src/mhd2/src/mhd2/h2/h2_req_items_funcs.c
    functionUses: 0
    functionsReached:
    - h2_ib_get_buff_free_size
    - h2_ib_get_n_item
    - mhd_assert
    - h2_ib_get_buff_free_ptr
    linkageType: ''
    returnType: MHD_FN_PAR_NONNULL_ALL_
    signature: "MHD_FN_PAR_NONNULL_ALL_ mhd_h2_items_add_new_item_buff (struct mhd_H2ReqItemsBlock
      *restrict ib,\n                                size_t name_len,\n                                size_t
      val_len,\n                                enum mhd_H2RequestItemKind kind)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: h2_ib_get_n_item
      Src: /src/mhd2/src/mhd2/h2/h2_req_items_funcs.c:319,1
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/h2/h2_req_items_funcs.c:321,1
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/h2/h2_req_items_funcs.c:322,1
    - Dst: h2_ib_get_buff_free_size
      Src: /src/mhd2/src/mhd2/h2/h2_req_items_funcs.c:322,1
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/h2/h2_req_items_funcs.c:323,1
    - Dst: h2_ib_get_buffc
      Src: /src/mhd2/src/mhd2/h2/h2_req_items_funcs.c:323,1
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/h2/h2_req_items_funcs.c:324,1
    - Dst: h2_ib_get_buffc
      Src: /src/mhd2/src/mhd2/h2/h2_req_items_funcs.c:326,1
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/h2/h2_req_items_funcs.c:327,1
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/h2/h2_req_items_funcs.c:328,1
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/h2/h2_req_items_funcs.c:341,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 14
    argCount: 5
    argNames:
    - ib
    - name_start
    - name_len
    - val_len
    - kind
    argTypes:
    - struct mhd_H2ReqItemsBlock*
    - size_t
    - size_t
    - size_t
    - enum mhd_H2RequestItemKind
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 343
      start: 312
    functionDepth: 4
    functionLinenumber: 312
    functionLinenumberEnd: 343
    functionName: mhd_h2_items_add_new_item_reserved
    functionSourceFile: /src/mhd2/src/mhd2/h2/h2_req_items_funcs.c
    functionUses: 0
    functionsReached:
    - h2_ib_get_buff_free_size
    - h2_ib_get_n_item
    - mhd_assert
    - h2_ib_get_buffc
    linkageType: ''
    returnType: MHD_FN_PAR_NONNULL_ALL_
    signature: "MHD_FN_PAR_NONNULL_ALL_ mhd_h2_items_add_new_item_reserved (struct
      mhd_H2ReqItemsBlock *restrict ib,\n                                    size_t
      name_start,\n                                    size_t name_len,\n                                    size_t
      val_len,\n                                    enum mhd_H2RequestItemKind kind)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/h2/h2_req_items_funcs.c:351,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - ib
    argTypes:
    - struct mhd_H2ReqItemsBlock*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 353
      start: 348
    functionDepth: 1
    functionLinenumber: 348
    functionLinenumberEnd: 353
    functionName: mhd_h2_items_cancel_new_item_buff
    functionSourceFile: /src/mhd2/src/mhd2/h2/h2_req_items_funcs.c
    functionUses: 0
    functionsReached:
    - mhd_assert
    linkageType: ''
    returnType: MHD_FN_PAR_NONNULL_ALL_
    signature: MHD_FN_PAR_NONNULL_ALL_ mhd_h2_items_cancel_new_item_buff (struct mhd_H2ReqItemsBlock
      *restrict ib)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: h2_ib_get_buff
      Src: /src/mhd2/src/mhd2/h2/h2_req_items_funcs.c:363,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ib
    argTypes:
    - struct mhd_H2ReqItemsBlock*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 364
      start: 359
    functionDepth: 2
    functionLinenumber: 359
    functionLinenumberEnd: 364
    functionName: mhd_h2_items_get_strings_buff
    functionSourceFile: /src/mhd2/src/mhd2/h2/h2_req_items_funcs.c
    functionUses: 0
    functionsReached:
    - h2_ib_get_buff
    linkageType: ''
    returnType: MHD_INTERNAL
    signature: 'MHD_INTERNAL *

      mhd_h2_items_get_strings_buff (struct mhd_H2ReqItemsBlock *restrict ib)'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: h2_ib_get_buffc
      Src: /src/mhd2/src/mhd2/h2/h2_req_items_funcs.c:371,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ib
    argTypes:
    - struct mhd_H2ReqItemsBlock*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 372
      start: 367
    functionDepth: 2
    functionLinenumber: 367
    functionLinenumberEnd: 372
    functionName: mhd_h2_items_get_strings_buffc
    functionSourceFile: /src/mhd2/src/mhd2/h2/h2_req_items_funcs.c
    functionUses: 0
    functionsReached:
    - h2_ib_get_buffc
    linkageType: ''
    returnType: MHD_INTERNAL
    signature: 'MHD_INTERNAL *

      mhd_h2_items_get_strings_buffc (const struct mhd_H2ReqItemsBlock *restrict ib)'
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: h2_ib_get_n_item
      Src: /src/mhd2/src/mhd2/h2/h2_req_items_funcs.c:381,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 2
    argNames:
    - ib
    - pos
    argTypes:
    - struct mhd_H2ReqItemsBlock*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 383
      start: 375
    functionDepth: 4
    functionLinenumber: 375
    functionLinenumberEnd: 383
    functionName: mhd_h2_items_get_item_n
    functionSourceFile: /src/mhd2/src/mhd2/h2/h2_req_items_funcs.c
    functionUses: 0
    functionsReached:
    - h2_ib_get_n_item
    linkageType: ''
    returnType: struct mhd_H2ReqItem
    signature: "struct mhd_H2ReqItem *\nmhd_h2_items_get_item_n (struct mhd_H2ReqItemsBlock
      *restrict ib,\n                         size_t pos)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: h2_ib_get_n_itemc
      Src: /src/mhd2/src/mhd2/h2/h2_req_items_funcs.c:392,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 2
    argNames:
    - ib
    - pos
    argTypes:
    - struct mhd_H2ReqItemsBlock*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 394
      start: 386
    functionDepth: 4
    functionLinenumber: 386
    functionLinenumberEnd: 394
    functionName: mhd_h2_items_get_item_nc
    functionSourceFile: /src/mhd2/src/mhd2/h2/h2_req_items_funcs.c
    functionUses: 0
    functionsReached:
    - h2_ib_get_n_itemc
    linkageType: ''
    returnType: struct mhd_H2ReqItem
    signature: "struct mhd_H2ReqItem *\nmhd_h2_items_get_item_nc (const struct mhd_H2ReqItemsBlock
      *restrict ib,\n                          size_t pos)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: h2_ib_get_n_itemc
      Src: /src/mhd2/src/mhd2/h2/h2_req_items_funcs.c:403,1
    - Dst: h2_ib_get_buffc
      Src: /src/mhd2/src/mhd2/h2/h2_req_items_funcs.c:408,1
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/h2/h2_req_items_funcs.c:410,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 3
    argNames:
    - ib
    - pos
    - name
    argTypes:
    - struct mhd_H2ReqItemsBlock*
    - size_t
    - struct MHD_String*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 413
      start: 398
    functionDepth: 4
    functionLinenumber: 398
    functionLinenumberEnd: 413
    functionName: mhd_h2_items_get_item_name
    functionSourceFile: /src/mhd2/src/mhd2/h2/h2_req_items_funcs.c
    functionUses: 0
    functionsReached:
    - h2_ib_get_n_itemc
    - mhd_assert
    - h2_ib_get_buffc
    linkageType: ''
    returnType: MHD_FN_PURE_
    signature: "MHD_FN_PURE_ mhd_h2_items_get_item_name (struct mhd_H2ReqItemsBlock
      *restrict ib,\n                            size_t pos,\n                            struct
      MHD_String *restrict name)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: h2_ib_get_n_itemc
      Src: /src/mhd2/src/mhd2/h2/h2_req_items_funcs.c:422,1
    - Dst: h2_ib_get_buffc
      Src: /src/mhd2/src/mhd2/h2/h2_req_items_funcs.c:427,1
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/h2/h2_req_items_funcs.c:429,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 3
    argNames:
    - ib
    - pos
    - value
    argTypes:
    - struct mhd_H2ReqItemsBlock*
    - size_t
    - struct MHD_String*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 432
      start: 417
    functionDepth: 4
    functionLinenumber: 417
    functionLinenumberEnd: 432
    functionName: mhd_h2_items_get_item_value
    functionSourceFile: /src/mhd2/src/mhd2/h2/h2_req_items_funcs.c
    functionUses: 2
    functionsReached:
    - h2_ib_get_n_itemc
    - mhd_assert
    - h2_ib_get_buffc
    linkageType: ''
    returnType: MHD_FN_PURE_
    signature: "MHD_FN_PURE_ mhd_h2_items_get_item_value (struct mhd_H2ReqItemsBlock
      *restrict ib,\n                             size_t pos,\n                             struct
      MHD_String *restrict value)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: h2_ib_get_n_itemc
      Src: /src/mhd2/src/mhd2/h2/h2_req_items_funcs.c:441,1
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/h2/h2_req_items_funcs.c:447,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 3
    argNames:
    - ib
    - pos
    - kind
    argTypes:
    - struct mhd_H2ReqItemsBlock*
    - size_t
    - enum mhd_H2RequestItemKind*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 451
      start: 436
    functionDepth: 4
    functionLinenumber: 436
    functionLinenumberEnd: 451
    functionName: mhd_h2_items_get_item_kind
    functionSourceFile: /src/mhd2/src/mhd2/h2/h2_req_items_funcs.c
    functionUses: 0
    functionsReached:
    - h2_ib_get_n_itemc
    - mhd_assert
    linkageType: ''
    returnType: MHD_FN_PURE_
    signature: "MHD_FN_PURE_ mhd_h2_items_get_item_kind (struct mhd_H2ReqItemsBlock
      *restrict ib,\n                            size_t pos,\n                            enum
      mhd_H2RequestItemKind *restrict kind)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: h2_ib_get_n_itemc
      Src: /src/mhd2/src/mhd2/h2/h2_req_items_funcs.c:462,1
    - Dst: h2_ib_get_buffc
      Src: /src/mhd2/src/mhd2/h2/h2_req_items_funcs.c:464,1
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/h2/h2_req_items_funcs.c:475,1
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/h2/h2_req_items_funcs.c:476,1
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/h2/h2_req_items_funcs.c:477,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 12
    argCount: 5
    argNames:
    - ib
    - pos
    - name
    - value
    - kind
    argTypes:
    - struct mhd_H2ReqItemsBlock*
    - size_t
    - struct MHD_String*
    - struct MHD_String*
    - enum mhd_H2RequestItemKind*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 480
      start: 454
    functionDepth: 4
    functionLinenumber: 454
    functionLinenumberEnd: 480
    functionName: mhd_h2_items_get_item_full
    functionSourceFile: /src/mhd2/src/mhd2/h2/h2_req_items_funcs.c
    functionUses: 0
    functionsReached:
    - h2_ib_get_n_itemc
    - mhd_assert
    - h2_ib_get_buffc
    linkageType: ''
    returnType: MHD_INTERNAL
    signature: "MHD_INTERNAL mhd_h2_items_get_item_full (struct mhd_H2ReqItemsBlock
      *restrict ib,\n                            size_t pos,\n                            struct
      MHD_String *restrict name,\n                            struct MHD_String *restrict
      value,\n                            enum mhd_H2RequestItemKind *restrict kind)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ib
    - stream_id
    argTypes:
    - struct mhd_H2ReqItemsBlock*
    - uint_least32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 489
      start: 484
    functionDepth: 0
    functionLinenumber: 484
    functionLinenumberEnd: 489
    functionName: mhd_h2_items_debug_set_streamid
    functionSourceFile: /src/mhd2/src/mhd2/h2/h2_req_items_funcs.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: MHD_INTERNAL
    signature: "MHD_INTERNAL mhd_h2_items_debug_set_streamid (struct mhd_H2ReqItemsBlock
      *restrict ib,\n                                 uint_least32_t stream_id)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ib
    argTypes:
    - struct mhd_H2ReqItemsBlock*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 496
      start: 492
    functionDepth: 0
    functionLinenumber: 492
    functionLinenumberEnd: 496
    functionName: mhd_h2_items_debug_get_streamid
    functionSourceFile: /src/mhd2/src/mhd2/h2/h2_req_items_funcs.c
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: MHD_INTERNAL
    signature: MHD_INTERNAL mhd_h2_items_debug_get_streamid (struct mhd_H2ReqItemsBlock
      *restrict ib)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - res
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 121
      start: 119
    functionDepth: 0
    functionLinenumber: 119
    functionLinenumberEnd: 121
    functionName: mhd_H2_FRAME_DEC_ERR_IS_HARD
    functionSourceFile: /src/mhd2/src/mhd2/h2/h2_frame_codec.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: mhd_H2_FRAME_DEC_ERR_IS_HARD(res)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/h2/h2_frame_codec.h:196,1
    - Dst: mhd_h2_frame_get_extra_hdr_size
      Src: /src/mhd2/src/mhd2/h2/h2_frame_codec.h:196,1
    - Dst: mhd_h2_frame_get_padding_size
      Src: /src/mhd2/src/mhd2/h2/h2_frame_codec.h:197,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - frame_info
    argTypes:
    - union mhd_H2FrameUnion*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 200
      start: 193
    functionDepth: 2
    functionLinenumber: 193
    functionLinenumberEnd: 200
    functionName: mhd_h2_frame_get_total_size
    functionSourceFile: /src/mhd2/src/mhd2/h2/h2_frame_codec.h
    functionUses: 1
    functionsReached:
    - mhd_h2_frame_get_extra_hdr_size
    - mhd_assert
    - mhd_h2_frame_get_padding_size
    linkageType: ''
    returnType: size_t
    signature: size_t mhd_h2_frame_get_total_size (const union mhd_H2FrameUnion *restrict
      frame_info)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/h2/h2_proc_conn.c:75,1
    - Dst: mhd_C_IS_HTTP2
      Src: /src/mhd2/src/mhd2/h2/h2_proc_conn.c:75,1
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/h2/h2_proc_conn.c:76,1
    - Dst: mhd_h2_frame_decode
      Src: /src/mhd2/src/mhd2/h2/h2_proc_conn.c:78,1
    - Dst: mhd_H2_FRAME_DEC_ERR_IS_HARD
      Src: /src/mhd2/src/mhd2/h2/h2_proc_conn.c:84,1
    - Dst: mhd_h2_conn_finish
      Src: /src/mhd2/src/mhd2/h2/h2_proc_conn.c:86,1
    - Dst: mhd_h2_conn_finish
      Src: /src/mhd2/src/mhd2/h2/h2_proc_conn.c:99,1
    - Dst: mhd_h2_proc_first_settings
      Src: /src/mhd2/src/mhd2/h2/h2_proc_conn.c:105,1
    - Dst: mhd_h2_frame_get_total_size
      Src: /src/mhd2/src/mhd2/h2/h2_proc_conn.c:108,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 17
    argCount: 1
    argNames:
    - c
    argTypes:
    - struct MHD_Connection*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 111
      start: 67
    functionDepth: 3
    functionLinenumber: 67
    functionLinenumberEnd: 111
    functionName: mhd_h2_conn_process_first_fr
    functionSourceFile: /src/mhd2/src/mhd2/h2/h2_proc_conn.c
    functionUses: 1
    functionsReached:
    - mhd_h2_conn_finish
    - mhd_H2_FRAME_DEC_ERR_IS_HARD
    - mhd_h2_frame_get_total_size
    - mhd_h2_frame_decode
    - mhd_C_IS_HTTP2
    - mhd_h2_proc_first_settings
    - mhd_assert
    linkageType: ''
    returnType: MHD_INTERNAL
    signature: MHD_INTERNAL mhd_h2_conn_process_first_fr (struct MHD_Connection *restrict
      c)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 3
    argNames:
    - c
    - last_stream_id
    - err
    argTypes:
    - struct MHD_Connection*
    - uint_least32_t
    - enum mhd_H2ErrorCode
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 126
      start: 114
    functionDepth: 0
    functionLinenumber: 114
    functionLinenumberEnd: 126
    functionName: mhd_h2_conn_process_in_goaway
    functionSourceFile: /src/mhd2/src/mhd2/h2/h2_proc_conn.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: MHD_INTERNAL
    signature: "MHD_INTERNAL mhd_h2_conn_process_in_goaway (struct MHD_Connection
      *restrict c,\n                               uint_least32_t last_stream_id,\n
      \                              enum mhd_H2ErrorCode err)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/h2/h2_proc_conn.c:133,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 2
    argNames:
    - c
    - init_wind_size
    argTypes:
    - struct MHD_Connection*
    - uint_least32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 138
      start: 129
    functionDepth: 1
    functionLinenumber: 129
    functionLinenumberEnd: 138
    functionName: mhd_h2_conn_update_stream_init_window
    functionSourceFile: /src/mhd2/src/mhd2/h2/h2_proc_conn.c
    functionUses: 0
    functionsReached:
    - mhd_assert
    linkageType: ''
    returnType: MHD_INTERNAL
    signature: "MHD_INTERNAL mhd_h2_conn_update_stream_init_window (struct MHD_Connection
      *restrict c,\n                                       uint_least32_t init_wind_size)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/h2/h2_proc_conn.c:144,1
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/h2/h2_proc_conn.c:154,1
    - Dst: mhd_h2_q_window_update
      Src: /src/mhd2/src/mhd2/h2/h2_proc_conn.c:155,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 1
    argNames:
    - c
    argTypes:
    - struct MHD_Connection*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 162
      start: 141
    functionDepth: 1
    functionLinenumber: 141
    functionLinenumberEnd: 162
    functionName: conn_win_update
    functionSourceFile: /src/mhd2/src/mhd2/h2/h2_proc_conn.c
    functionUses: 0
    functionsReached:
    - mhd_assert
    - mhd_h2_q_window_update
    linkageType: ''
    returnType: MHD_FN_PAR_NONNULL_ALL_
    signature: MHD_FN_PAR_NONNULL_ALL_ conn_win_update (struct MHD_Connection *restrict
      c)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: conn_win_update
      Src: /src/mhd2/src/mhd2/h2/h2_proc_conn.c:168,1
    - Dst: mhd_h2_conn_maintain_streams_all
      Src: /src/mhd2/src/mhd2/h2/h2_proc_conn.c:171,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 1
    argNames:
    - c
    argTypes:
    - struct MHD_Connection*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 175
      start: 165
    functionDepth: 2
    functionLinenumber: 165
    functionLinenumberEnd: 175
    functionName: mhd_h2_conn_process_changes
    functionSourceFile: /src/mhd2/src/mhd2/h2/h2_proc_conn.c
    functionUses: 1
    functionsReached:
    - conn_win_update
    - mhd_h2_conn_maintain_streams_all
    linkageType: ''
    returnType: MHD_INTERNAL
    signature: MHD_INTERNAL mhd_h2_conn_process_changes (struct MHD_Connection *restrict
      c)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: mhd_h2_q_goaway
      Src: /src/mhd2/src/mhd2/h2/h2_proc_conn.c:183,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 13
    argCount: 3
    argNames:
    - c
    - err
    - forced
    argTypes:
    - struct MHD_Connection*
    - enum mhd_H2ErrorCode
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 201
      start: 178
    functionDepth: 1
    functionLinenumber: 178
    functionLinenumberEnd: 201
    functionName: mhd_h2_conn_finish
    functionSourceFile: /src/mhd2/src/mhd2/h2/h2_proc_conn.c
    functionUses: 6
    functionsReached:
    - mhd_h2_q_goaway
    linkageType: ''
    returnType: MHD_INTERNAL
    signature: "MHD_INTERNAL mhd_h2_conn_finish (struct MHD_Connection *restrict c,\n
      \                   enum mhd_H2ErrorCode err,\n                    bool forced)"
  - BBCount: 5
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 13
    argCount: 1
    argNames:
    - kind
    argTypes:
    - enum MHD_ValueKind
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 85
      start: 67
    functionDepth: 0
    functionLinenumber: 67
    functionLinenumberEnd: 85
    functionName: req_items_kind_mask
    functionSourceFile: /src/mhd2/src/mhd2/h2/h2_req_get_items.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: mhd_static_inline unsigned
    signature: mhd_static_inline unsigned req_items_kind_mask (enum MHD_ValueKind
      kind)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: mhd_CNTNR_PTR
      Src: /src/mhd2/src/mhd2/h2/h2_req_get_items.c:99,1
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/h2/h2_req_get_items.c:106,1
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/h2/h2_req_get_items.c:107,1
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/h2/h2_req_get_items.c:115,1
    - Dst: mhd_h2_items_debug_get_streamid
      Src: /src/mhd2/src/mhd2/h2/h2_req_get_items.c:115,1
    - Dst: req_items_kind_mask
      Src: /src/mhd2/src/mhd2/h2/h2_req_get_items.c:118,1
    - Dst: mhd_h2_items_get_strings_buffc
      Src: /src/mhd2/src/mhd2/h2/h2_req_get_items.c:119,1
    - Dst: mhd_h2_items_get_item_nc
      Src: /src/mhd2/src/mhd2/h2/h2_req_get_items.c:126,1
    - Dst: mhd_str_equal_lowercase_bin_n
      Src: /src/mhd2/src/mhd2/h2/h2_req_get_items.c:138,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 29
    argCount: 5
    argNames:
    - r
    - kind
    - key_len
    - key
    - value_out
    argTypes:
    - struct MHD_Request*
    - enum MHD_ValueKind
    - size_t
    - char*
    - struct MHD_StringNullable*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 158
      start: 91
    functionDepth: 5
    functionLinenumber: 91
    functionLinenumberEnd: 158
    functionName: mhd_h2_request_get_value_n
    functionSourceFile: /src/mhd2/src/mhd2/h2/h2_req_get_items.c
    functionUses: 1
    functionsReached:
    - mhd_h2_items_get_strings_buffc
    - mhd_h2_items_get_item_nc
    - mhd_str_equal_lowercase_bin_n
    - mhd_h2_items_debug_get_streamid
    - req_items_kind_mask
    - mhd_CNTNR_PTR
    - mhd_assert
    linkageType: ''
    returnType: bool
    signature: "bool mhd_h2_request_get_value_n (struct MHD_Request *restrict r,\n
      \                           enum MHD_ValueKind kind,\n                            size_t
      key_len,\n                            const char *restrict key,\n                            struct
      MHD_StringNullable *restrict value_out)"
  - BBCount: 10
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 18
    argCount: 1
    argNames:
    - h2kind
    argTypes:
    - enum mhd_H2RequestItemKind
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 182
      start: 161
    functionDepth: 0
    functionLinenumber: 161
    functionLinenumberEnd: 182
    functionName: req_item_kind_h2_to_h1
    functionSourceFile: /src/mhd2/src/mhd2/h2/h2_req_get_items.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: mhd_static_inline
    signature: mhd_static_inline req_item_kind_h2_to_h1 (enum mhd_H2RequestItemKind
      h2kind)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: mhd_CNTNR_PTR
      Src: /src/mhd2/src/mhd2/h2/h2_req_get_items.c:193,1
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/h2/h2_req_get_items.c:202,1
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/h2/h2_req_get_items.c:203,1
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/h2/h2_req_get_items.c:211,1
    - Dst: mhd_h2_items_debug_get_streamid
      Src: /src/mhd2/src/mhd2/h2/h2_req_get_items.c:211,1
    - Dst: req_items_kind_mask
      Src: /src/mhd2/src/mhd2/h2/h2_req_get_items.c:214,1
    - Dst: mhd_h2_items_get_strings_buffc
      Src: /src/mhd2/src/mhd2/h2/h2_req_get_items.c:215,1
    - Dst: mhd_h2_items_get_item_nc
      Src: /src/mhd2/src/mhd2/h2/h2_req_get_items.c:223,1
    - Dst: iterator
      Src: /src/mhd2/src/mhd2/h2/h2_req_get_items.c:251,1
    - Dst: req_item_kind_h2_to_h1
      Src: /src/mhd2/src/mhd2/h2/h2_req_get_items.c:252,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 32
    argCount: 4
    argNames:
    - r
    - kind
    - iterator
    - iterator_cls
    argTypes:
    - struct MHD_Request*
    - enum MHD_ValueKind
    - MHD_NameValueIterator
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 259
      start: 186
    functionDepth: 5
    functionLinenumber: 186
    functionLinenumberEnd: 259
    functionName: mhd_h2_request_get_values_cb
    functionSourceFile: /src/mhd2/src/mhd2/h2/h2_req_get_items.c
    functionUses: 1
    functionsReached:
    - mhd_h2_items_get_strings_buffc
    - iterator
    - mhd_h2_items_get_item_nc
    - mhd_h2_items_debug_get_streamid
    - req_items_kind_mask
    - mhd_CNTNR_PTR
    - req_item_kind_h2_to_h1
    - mhd_assert
    linkageType: ''
    returnType: size_t
    signature: "size_t mhd_h2_request_get_values_cb (struct MHD_Request *r,\n                              enum
      MHD_ValueKind kind,\n                              MHD_NameValueIterator iterator,\n
      \                             void *iterator_cls)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    argCount: 3
    argNames:
    - frame_info
    - stream_id
    - end_stream
    argTypes:
    - union mhd_H2FrameUnion*
    - uint_least32_t
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 80
      start: 64
    functionDepth: 0
    functionLinenumber: 64
    functionLinenumberEnd: 80
    functionName: mhd_h2_frame_init_data
    functionSourceFile: /src/mhd2/src/mhd2/h2/h2_frame_init.h
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: mhd_static_inline
    signature: "mhd_static_inline *\nmhd_h2_frame_init_data (union mhd_H2FrameUnion
      *restrict frame_info,\n                        uint_least32_t stream_id,\n                        bool
      end_stream)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 13
    argCount: 4
    argNames:
    - frame_info
    - stream_id
    - end_headers
    - end_stream
    argTypes:
    - union mhd_H2FrameUnion*
    - uint_least32_t
    - bool
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 105
      start: 83
    functionDepth: 0
    functionLinenumber: 83
    functionLinenumberEnd: 105
    functionName: mhd_h2_frame_init_headers
    functionSourceFile: /src/mhd2/src/mhd2/h2/h2_frame_init.h
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: mhd_static_inline
    signature: "mhd_static_inline *\nmhd_h2_frame_init_headers (union mhd_H2FrameUnion
      *restrict frame_info,\n                           uint_least32_t stream_id,\n
      \                          bool end_headers,\n                           bool
      end_stream)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 3
    argNames:
    - frame_info
    - stream_id
    - error_code
    argTypes:
    - union mhd_H2FrameUnion*
    - uint_least32_t
    - enum mhd_H2ErrorCode
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 121
      start: 108
    functionDepth: 0
    functionLinenumber: 108
    functionLinenumberEnd: 121
    functionName: mhd_h2_frame_init_rst_stream
    functionSourceFile: /src/mhd2/src/mhd2/h2/h2_frame_init.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: mhd_static_inline
    signature: "mhd_static_inline *\nmhd_h2_frame_init_rst_stream (union mhd_H2FrameUnion
      *restrict frame_info,\n                              uint_least32_t stream_id,\n
      \                             enum mhd_H2ErrorCode error_code)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 2
    argNames:
    - frame_info
    - ack
    argTypes:
    - union mhd_H2FrameUnion*
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 136
      start: 124
    functionDepth: 0
    functionLinenumber: 124
    functionLinenumberEnd: 136
    functionName: mhd_h2_frame_init_settings
    functionSourceFile: /src/mhd2/src/mhd2/h2/h2_frame_init.h
    functionUses: 3
    functionsReached: []
    linkageType: ''
    returnType: mhd_static_inline
    signature: "mhd_static_inline *\nmhd_h2_frame_init_settings (union mhd_H2FrameUnion
      *restrict frame_info,\n                            bool ack)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: MHD_FN_PAR_FIX_ARR_SIZE_
      Src: /src/mhd2/src/mhd2/h2/h2_frame_init.h:142,1
    - Dst: memcpy
      Src: /src/mhd2/src/mhd2/h2/h2_frame_init.h:151,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 3
    argNames:
    - frame_info
    - ack
    - opaque_data
    argTypes:
    - union mhd_H2FrameUnion*
    - bool
    - uint8_t[]
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 156
      start: 139
    functionDepth: 0
    functionLinenumber: 139
    functionLinenumberEnd: 156
    functionName: mhd_h2_frame_init_ping
    functionSourceFile: /src/mhd2/src/mhd2/h2/h2_frame_init.h
    functionUses: 0
    functionsReached:
    - memcpy
    - MHD_FN_PAR_FIX_ARR_SIZE_
    linkageType: ''
    returnType: mhd_static_inline
    signature: "mhd_static_inline *\nmhd_h2_frame_init_ping (union mhd_H2FrameUnion
      *restrict frame_info,\n                        bool ack,\n                        const
      uint8_t opaque_data[MHD_FN_PAR_FIX_ARR_SIZE_ (8)])"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 3
    argNames:
    - frame_info
    - last_stream_id
    - error_code
    argTypes:
    - union mhd_H2FrameUnion*
    - uint_least32_t
    - enum mhd_H2ErrorCode
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 173
      start: 159
    functionDepth: 0
    functionLinenumber: 159
    functionLinenumberEnd: 173
    functionName: mhd_h2_frame_init_goaway
    functionSourceFile: /src/mhd2/src/mhd2/h2/h2_frame_init.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: mhd_static_inline
    signature: "mhd_static_inline *\nmhd_h2_frame_init_goaway (union mhd_H2FrameUnion
      *restrict frame_info,\n                          uint_least32_t last_stream_id,\n
      \                         enum mhd_H2ErrorCode error_code)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 3
    argNames:
    - frame_info
    - stream_id
    - window_size_increment
    argTypes:
    - union mhd_H2FrameUnion*
    - uint_least32_t
    - uint_least32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 190
      start: 176
    functionDepth: 0
    functionLinenumber: 176
    functionLinenumberEnd: 190
    functionName: mhd_h2_frame_init_window_update
    functionSourceFile: /src/mhd2/src/mhd2/h2/h2_frame_init.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: mhd_static_inline
    signature: "mhd_static_inline *\nmhd_h2_frame_init_window_update (union mhd_H2FrameUnion
      *restrict frame_info,\n                                 uint_least32_t stream_id,\n
      \                                uint_least32_t window_size_increment)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 3
    argNames:
    - frame_info
    - stream_id
    - end_headers
    argTypes:
    - union mhd_H2FrameUnion*
    - uint_least32_t
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 207
      start: 193
    functionDepth: 0
    functionLinenumber: 193
    functionLinenumberEnd: 207
    functionName: mhd_h2_frame_init_continuation
    functionSourceFile: /src/mhd2/src/mhd2/h2/h2_frame_init.h
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: mhd_static_inline
    signature: "mhd_static_inline *\nmhd_h2_frame_init_continuation (union mhd_H2FrameUnion
      *restrict frame_info,\n                                uint_least32_t stream_id,\n
      \                               bool end_headers)"
  - BBCount: 18
    BranchProfiles: []
    Callsites:
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/h2/h2_req_fields.c:109,1
    - Dst: mhd_h2_items_get_buff_new_item
      Src: /src/mhd2/src/mhd2/h2/h2_req_fields.c:111,1
    - Dst: mhd_hpack_dec_data
      Src: /src/mhd2/src/mhd2/h2/h2_req_fields.c:115,1
    - Dst: mhd_HPACK_DEC_RES_IS_ERR
      Src: /src/mhd2/src/mhd2/h2/h2_req_fields.c:124,1
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/h2/h2_req_fields.c:126,1
    - Dst: mhd_h2_items_cancel_new_item_buff
      Src: /src/mhd2/src/mhd2/h2/h2_req_fields.c:138,1
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/h2/h2_req_fields.c:141,1
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/h2/h2_req_fields.c:142,1
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/h2/h2_req_fields.c:143,1
    - Dst: mhd_h2_items_add_new_item_buff
      Src: /src/mhd2/src/mhd2/h2/h2_req_fields.c:144,1
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/h2/h2_req_fields.c:151,1
    - Dst: mhd_UNREACHABLE_D
      Src: /src/mhd2/src/mhd2/h2/h2_req_fields.c:172,1
    - Dst: mhd_h2_items_cancel_new_item_buff
      Src: /src/mhd2/src/mhd2/h2/h2_req_fields.c:176,1
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/h2/h2_req_fields.c:180,1
    CyclomaticComplexity: 15
    EdgeCount: 15
    ICount: 59
    argCount: 5
    argNames:
    - hk_dec
    - enc_data
    - are_trailers
    - ib
    - left_unprocessed
    argTypes:
    - struct mhd_HpackDecContext*
    - struct mhd_Buffer*
    - bool
    - struct mhd_H2ReqItemsBlock*
    - size_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 184
      start: 83
    functionDepth: 5
    functionLinenumber: 83
    functionLinenumberEnd: 184
    functionName: mhd_h2_req_fields_decode
    functionSourceFile: /src/mhd2/src/mhd2/h2/h2_req_fields.c
    functionUses: 0
    functionsReached:
    - mhd_h2_items_cancel_new_item_buff
    - mhd_h2_items_add_new_item_buff
    - mhd_UNREACHABLE_D
    - mhd_hpack_dec_data
    - mhd_HPACK_DEC_RES_IS_ERR
    - mhd_h2_items_get_buff_new_item
    - mhd_assert
    linkageType: ''
    returnType: enum mhd_H2DecFieldsResult
    signature: "enum mhd_H2DecFieldsResult mhd_h2_req_fields_decode (struct mhd_HpackDecContext
      *restrict hk_dec,\n                          const struct mhd_Buffer *restrict
      enc_data,\n                          bool are_trailers,\n                          struct
      mhd_H2ReqItemsBlock *restrict ib,\n                          size_t *restrict
      left_unprocessed)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - s
    argTypes:
    - struct mhd_H2Stream*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 194
      start: 188
    functionDepth: 0
    functionLinenumber: 188
    functionLinenumberEnd: 194
    functionName: req_validate_fields_chars
    functionSourceFile: /src/mhd2/src/mhd2/h2/h2_req_fields.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool req_validate_fields_chars (struct mhd_H2Stream *restrict s)
  - BBCount: 15
    BranchProfiles: []
    Callsites:
    - Dst: mhd_MSTR_INIT
      Src: /src/mhd2/src/mhd2/h2/h2_req_fields.c:203,1
    - Dst: mhd_MSTR_INIT
      Src: /src/mhd2/src/mhd2/h2/h2_req_fields.c:204,1
    - Dst: mhd_MSTR_INIT
      Src: /src/mhd2/src/mhd2/h2/h2_req_fields.c:205,1
    - Dst: mhd_MSTR_INIT
      Src: /src/mhd2/src/mhd2/h2/h2_req_fields.c:206,1
    - Dst: mhd_h2_items_get_strings_buffc
      Src: /src/mhd2/src/mhd2/h2/h2_req_fields.c:208,1
    - Dst: mhd_h2_items_get_item_nc
      Src: /src/mhd2/src/mhd2/h2/h2_req_fields.c:218,1
    - Dst: memcmp
      Src: /src/mhd2/src/mhd2/h2/h2_req_fields.c:226,1
    - Dst: mhd_h2_stream_req_problem
      Src: /src/mhd2/src/mhd2/h2/h2_req_fields.c:231,1
    - Dst: mhd_parse_http_method
      Src: /src/mhd2/src/mhd2/h2/h2_req_fields.c:236,1
    - Dst: memcmp
      Src: /src/mhd2/src/mhd2/h2/h2_req_fields.c:240,1
    - Dst: mhd_h2_stream_req_problem
      Src: /src/mhd2/src/mhd2/h2/h2_req_fields.c:245,1
    - Dst: memcmp
      Src: /src/mhd2/src/mhd2/h2/h2_req_fields.c:251,1
    - Dst: mhd_h2_stream_req_problem
      Src: /src/mhd2/src/mhd2/h2/h2_req_fields.c:256,1
    - Dst: memcmp
      Src: /src/mhd2/src/mhd2/h2/h2_req_fields.c:262,1
    - Dst: mhd_h2_stream_req_problem
      Src: /src/mhd2/src/mhd2/h2/h2_req_fields.c:267,1
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/h2/h2_req_fields.c:271,1
    - Dst: mhd_h2_stream_req_problem
      Src: /src/mhd2/src/mhd2/h2/h2_req_fields.c:276,1
    - Dst: mhd_h2_stream_req_problem
      Src: /src/mhd2/src/mhd2/h2/h2_req_fields.c:282,1
    - Dst: mhd_h2_stream_req_problem
      Src: /src/mhd2/src/mhd2/h2/h2_req_fields.c:288,1
    CyclomaticComplexity: 23
    EdgeCount: 23
    ICount: 45
    argCount: 2
    argNames:
    - s
    - pos
    argTypes:
    - struct mhd_H2Stream*
    - size_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 293
      start: 199
    functionDepth: 5
    functionLinenumber: 199
    functionLinenumberEnd: 293
    functionName: req_pseudoheaders_preprocess
    functionSourceFile: /src/mhd2/src/mhd2/h2/h2_req_fields.c
    functionUses: 0
    functionsReached:
    - mhd_h2_stream_req_problem
    - mhd_parse_http_method
    - mhd_h2_items_get_strings_buffc
    - mhd_h2_items_get_item_nc
    - mhd_MSTR_INIT
    - mhd_assert
    - memcmp
    linkageType: ''
    returnType: bool
    signature: "bool req_pseudoheaders_preprocess (struct mhd_H2Stream *restrict s,\n
      \                             size_t *pos)"
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: mhd_MSTR_INIT
      Src: /src/mhd2/src/mhd2/h2/h2_req_fields.c:302,1
    - Dst: mhd_MSTR_INIT
      Src: /src/mhd2/src/mhd2/h2/h2_req_fields.c:303,1
    - Dst: mhd_h2_items_get_strings_buffc
      Src: /src/mhd2/src/mhd2/h2/h2_req_fields.c:305,1
    - Dst: mhd_h2_items_get_item_nc
      Src: /src/mhd2/src/mhd2/h2/h2_req_fields.c:310,1
    - Dst: mhd_h2_stream_req_problem
      Src: /src/mhd2/src/mhd2/h2/h2_req_fields.c:316,1
    - Dst: memcmp
      Src: /src/mhd2/src/mhd2/h2/h2_req_fields.c:321,1
    - Dst: mhd_str_to_uint64
      Src: /src/mhd2/src/mhd2/h2/h2_req_fields.c:329,1
    - Dst: mhd_h2_stream_req_problem
      Src: /src/mhd2/src/mhd2/h2/h2_req_fields.c:331,1
    - Dst: mhd_h2_stream_req_problem
      Src: /src/mhd2/src/mhd2/h2/h2_req_fields.c:336,1
    - Dst: memcmp
      Src: /src/mhd2/src/mhd2/h2/h2_req_fields.c:342,1
    - Dst: mhd_h2_items_get_item_nc
      Src: /src/mhd2/src/mhd2/h2/h2_req_fields.c:351,1
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/h2/h2_req_fields.c:353,1
    - Dst: mhd_str_equal_caseless_bin_n
      Src: /src/mhd2/src/mhd2/h2/h2_req_fields.c:355,1
    - Dst: mhd_h2_stream_req_problem
      Src: /src/mhd2/src/mhd2/h2/h2_req_fields.c:361,1
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/h2/h2_req_fields.c:367,1
    CyclomaticComplexity: 17
    EdgeCount: 17
    ICount: 28
    argCount: 2
    argNames:
    - s
    - pos
    argTypes:
    - struct mhd_H2Stream*
    - size_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 372
      start: 298
    functionDepth: 5
    functionLinenumber: 298
    functionLinenumberEnd: 372
    functionName: req_headers_preprocess
    functionSourceFile: /src/mhd2/src/mhd2/h2/h2_req_fields.c
    functionUses: 0
    functionsReached:
    - mhd_h2_stream_req_problem
    - mhd_str_equal_caseless_bin_n
    - mhd_h2_items_get_strings_buffc
    - mhd_h2_items_get_item_nc
    - mhd_str_to_uint64
    - mhd_MSTR_INIT
    - mhd_assert
    - memcmp
    linkageType: ''
    returnType: bool
    signature: "bool req_headers_preprocess (struct mhd_H2Stream *restrict s,\n                        size_t
      *pos)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/h2/h2_req_fields.c:381,1
    - Dst: mhd_h2_items_debug_get_streamid
      Src: /src/mhd2/src/mhd2/h2/h2_req_fields.c:381,1
    - Dst: req_validate_fields_chars
      Src: /src/mhd2/src/mhd2/h2/h2_req_fields.c:384,1
    - Dst: req_pseudoheaders_preprocess
      Src: /src/mhd2/src/mhd2/h2/h2_req_fields.c:387,1
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/h2/h2_req_fields.c:391,1
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/h2/h2_req_fields.c:392,1
    - Dst: req_headers_preprocess
      Src: /src/mhd2/src/mhd2/h2/h2_req_fields.c:394,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 11
    argCount: 1
    argNames:
    - s
    argTypes:
    - struct mhd_H2Stream*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 399
      start: 376
    functionDepth: 6
    functionLinenumber: 376
    functionLinenumberEnd: 399
    functionName: mhd_h2_req_headers_preprocess
    functionSourceFile: /src/mhd2/src/mhd2/h2/h2_req_fields.c
    functionUses: 0
    functionsReached:
    - req_headers_preprocess
    - req_validate_fields_chars
    - req_pseudoheaders_preprocess
    - mhd_h2_items_debug_get_streamid
    - mhd_assert
    linkageType: ''
    returnType: bool
    signature: bool mhd_h2_req_headers_preprocess (struct mhd_H2Stream *restrict s)
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: mhd_h2_items_get_strings_buff
      Src: /src/mhd2/src/mhd2/h2/h2_req_fields.c:407,1
    - Dst: mhd_h2_items_get_item_n
      Src: /src/mhd2/src/mhd2/h2/h2_req_fields.c:409,1
    - Dst: memchr
      Src: /src/mhd2/src/mhd2/h2/h2_req_fields.c:414,1
    - Dst: mhd_str_dec_norm_uri_path
      Src: /src/mhd2/src/mhd2/h2/h2_req_fields.c:421,1
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/h2/h2_req_fields.c:430,1
    - Dst: mhd_str_dec_norm_uri_path
      Src: /src/mhd2/src/mhd2/h2/h2_req_fields.c:435,1
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/h2/h2_req_fields.c:470,1
    - Dst: mhd_str_pct_decode_lenient_n
      Src: /src/mhd2/src/mhd2/h2/h2_req_fields.c:479,1
    - Dst: mhd_str_pct_decode_lenient_n
      Src: /src/mhd2/src/mhd2/h2/h2_req_fields.c:489,1
    - Dst: mhd_h2_items_reserve_new_item
      Src: /src/mhd2/src/mhd2/h2/h2_req_fields.c:497,1
    - Dst: mhd_h2_items_add_new_item_reserved
      Src: /src/mhd2/src/mhd2/h2/h2_req_fields.c:500,1
    CyclomaticComplexity: 16
    EdgeCount: 16
    ICount: 45
    argCount: 1
    argNames:
    - s
    argTypes:
    - struct mhd_H2Stream*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 513
      start: 403
    functionDepth: 5
    functionLinenumber: 403
    functionLinenumberEnd: 513
    functionName: mhd_h2_req_uri_parse
    functionSourceFile: /src/mhd2/src/mhd2/h2/h2_req_fields.c
    functionUses: 0
    functionsReached:
    - mhd_str_pct_decode_lenient_n
    - memchr
    - mhd_h2_items_get_item_n
    - mhd_str_dec_norm_uri_path
    - mhd_h2_items_reserve_new_item
    - mhd_h2_items_get_strings_buff
    - mhd_h2_items_add_new_item_reserved
    - mhd_assert
    linkageType: ''
    returnType: bool
    signature: bool mhd_h2_req_uri_parse (struct mhd_H2Stream *restrict s)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - s
    argTypes:
    - struct mhd_H2Stream*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 523
      start: 517
    functionDepth: 0
    functionLinenumber: 517
    functionLinenumberEnd: 523
    functionName: mhd_h2_req_cookie_parse
    functionSourceFile: /src/mhd2/src/mhd2/h2/h2_req_fields.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool mhd_h2_req_cookie_parse (struct mhd_H2Stream *restrict s)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/h2/h2_proc_out.c:69,1
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/h2/h2_proc_out.c:71,1
    - Dst: mhd_H2_W_BUFF_UPDATING_SET
      Src: /src/mhd2/src/mhd2/h2/h2_proc_out.c:72,1
    - Dst: mhd_H2_W_BUFF_UPDATING_CLEAR
      Src: /src/mhd2/src/mhd2/h2/h2_proc_out.c:76,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 2
    argNames:
    - c
    - space_needed
    argTypes:
    - struct MHD_Connection*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 79
      start: 64
    functionDepth: 1
    functionLinenumber: 64
    functionLinenumberEnd: 79
    functionName: mhd_h2_out_buff_has_space_sz
    functionSourceFile: /src/mhd2/src/mhd2/h2/h2_proc_out.c
    functionUses: 1
    functionsReached:
    - mhd_H2_W_BUFF_UPDATING_SET
    - mhd_H2_W_BUFF_UPDATING_CLEAR
    - mhd_assert
    linkageType: ''
    returnType: MHD_INTERNAL
    signature: "MHD_INTERNAL mhd_h2_out_buff_has_space_sz (struct MHD_Connection *restrict
      c,\n                              size_t space_needed)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: mhd_h2_out_buff_has_space_sz
      Src: /src/mhd2/src/mhd2/h2/h2_proc_out.c:86,1
    - Dst: mhd_h2_frame_get_total_size
      Src: /src/mhd2/src/mhd2/h2/h2_proc_out.c:87,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - c
    - h2frame
    argTypes:
    - struct MHD_Connection*
    - union mhd_H2FrameUnion*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 88
      start: 82
    functionDepth: 3
    functionLinenumber: 82
    functionLinenumberEnd: 88
    functionName: mhd_h2_out_buff_has_space_fr
    functionSourceFile: /src/mhd2/src/mhd2/h2/h2_proc_out.c
    functionUses: 0
    functionsReached:
    - mhd_h2_frame_get_total_size
    - mhd_h2_out_buff_has_space_sz
    linkageType: ''
    returnType: MHD_INTERNAL
    signature: "MHD_INTERNAL mhd_h2_out_buff_has_space_fr (struct MHD_Connection *restrict
      c,\n                              union mhd_H2FrameUnion *restrict h2frame)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: mhd_h2_frame_get_extra_hdr_size
      Src: /src/mhd2/src/mhd2/h2/h2_proc_out.c:99,1
    - Dst: mhd_h2_frame_get_padding_size
      Src: /src/mhd2/src/mhd2/h2/h2_proc_out.c:100,1
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/h2/h2_proc_out.c:103,1
    - Dst: mhd_H2_W_BUFF_UPDATING_SET
      Src: /src/mhd2/src/mhd2/h2/h2_proc_out.c:104,1
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/h2/h2_proc_out.c:105,1
    - Dst: mhd_H2_W_BUFF_UPDATING_CLEAR
      Src: /src/mhd2/src/mhd2/h2/h2_proc_out.c:115,1
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/h2/h2_proc_out.c:119,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 18
    argCount: 5
    argNames:
    - c
    - h2frame
    - full_payload_limit
    - buff
    - payload_offset
    argTypes:
    - struct MHD_Connection*
    - union mhd_H2FrameUnion*
    - uint_least32_t
    - struct mhd_Buffer*
    - size_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 129
      start: 91
    functionDepth: 2
    functionLinenumber: 91
    functionLinenumberEnd: 129
    functionName: mhd_h2_out_buff_acquire_fr_w_payload_l
    functionSourceFile: /src/mhd2/src/mhd2/h2/h2_proc_out.c
    functionUses: 1
    functionsReached:
    - mhd_h2_frame_get_padding_size
    - mhd_h2_frame_get_extra_hdr_size
    - mhd_H2_W_BUFF_UPDATING_SET
    - mhd_H2_W_BUFF_UPDATING_CLEAR
    - mhd_assert
    linkageType: ''
    returnType: MHD_INTERNAL
    signature: "MHD_INTERNAL mhd_h2_out_buff_acquire_fr_w_payload_l (\n  struct MHD_Connection
      *restrict c,\n  const union mhd_H2FrameUnion *restrict h2frame,\n  uint_least32_t
      full_payload_limit,\n  struct mhd_Buffer *restrict buff,\n  size_t *restrict
      payload_offset)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: mhd_h2_out_buff_acquire_fr_w_payload_l
      Src: /src/mhd2/src/mhd2/h2/h2_proc_out.c:140,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 4
    argNames:
    - c
    - h2frame
    - buff
    - payload_offset
    argTypes:
    - struct MHD_Connection*
    - union mhd_H2FrameUnion*
    - struct mhd_Buffer*
    - size_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 145
      start: 132
    functionDepth: 3
    functionLinenumber: 132
    functionLinenumberEnd: 145
    functionName: mhd_h2_out_buff_acquire_fr_w_payload
    functionSourceFile: /src/mhd2/src/mhd2/h2/h2_proc_out.c
    functionUses: 2
    functionsReached:
    - mhd_h2_out_buff_acquire_fr_w_payload_l
    linkageType: ''
    returnType: MHD_INTERNAL
    signature: "MHD_INTERNAL mhd_h2_out_buff_acquire_fr_w_payload (\n  struct MHD_Connection
      *restrict c,\n  const union mhd_H2FrameUnion *restrict h2frame,\n  struct mhd_Buffer
      *restrict buff,\n  size_t *restrict payload_offset)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/h2/h2_proc_out.c:152,1
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/h2/h2_proc_out.c:153,1
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/h2/h2_proc_out.c:154,1
    - Dst: mhd_H2_W_BUFF_UPDATING_CLEAR
      Src: /src/mhd2/src/mhd2/h2/h2_proc_out.c:158,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 2
    argNames:
    - c
    - size_used
    argTypes:
    - struct MHD_Connection*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 159
      start: 148
    functionDepth: 1
    functionLinenumber: 148
    functionLinenumberEnd: 159
    functionName: mhd_h2_out_buff_unlock
    functionSourceFile: /src/mhd2/src/mhd2/h2/h2_proc_out.c
    functionUses: 3
    functionsReached:
    - mhd_H2_W_BUFF_UPDATING_CLEAR
    - mhd_assert
    linkageType: ''
    returnType: MHD_INTERNAL
    signature: "MHD_INTERNAL mhd_h2_out_buff_unlock (struct MHD_Connection *restrict
      c,\n                        size_t size_used)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/h2/h2_proc_out.c:170,1
    - Dst: mhd_h2_frame_get_extra_hdr_size
      Src: /src/mhd2/src/mhd2/h2/h2_proc_out.c:170,1
    - Dst: mhd_h2_frame_get_extra_hdr_size
      Src: /src/mhd2/src/mhd2/h2/h2_proc_out.c:174,1
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/h2/h2_proc_out.c:176,1
    - Dst: mhd_H2_W_BUFF_UPDATING_SET
      Src: /src/mhd2/src/mhd2/h2/h2_proc_out.c:177,1
    - Dst: mhd_h2_frame_hdr_encode
      Src: /src/mhd2/src/mhd2/h2/h2_proc_out.c:187,1
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/h2/h2_proc_out.c:190,1
    - Dst: mhd_H2_W_BUFF_UPDATING_CLEAR
      Src: /src/mhd2/src/mhd2/h2/h2_proc_out.c:196,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 16
    argCount: 2
    argNames:
    - c
    - h2frame
    argTypes:
    - struct MHD_Connection*
    - union mhd_H2FrameUnion*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 198
      start: 162
    functionDepth: 3
    functionLinenumber: 162
    functionLinenumberEnd: 198
    functionName: mhd_h2_q_frame_no_payload
    functionSourceFile: /src/mhd2/src/mhd2/h2/h2_proc_out.c
    functionUses: 1
    functionsReached:
    - mhd_h2_frame_get_extra_hdr_size
    - mhd_H2_W_BUFF_UPDATING_SET
    - mhd_H2_W_BUFF_UPDATING_CLEAR
    - mhd_assert
    - mhd_h2_frame_hdr_encode
    linkageType: ''
    returnType: MHD_INTERNAL
    signature: "MHD_INTERNAL mhd_h2_q_frame_no_payload (struct MHD_Connection *restrict
      c,\n                           union mhd_H2FrameUnion *restrict h2frame)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/h2/h2_proc_out.c:208,1
    - Dst: mhd_h2_frame_init_rst_stream
      Src: /src/mhd2/src/mhd2/h2/h2_proc_out.c:212,1
    - Dst: mhd_h2_q_frame_no_payload
      Src: /src/mhd2/src/mhd2/h2/h2_proc_out.c:216,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 3
    argNames:
    - c
    - stream_id
    - err
    argTypes:
    - struct MHD_Connection*
    - uint_least32_t
    - enum mhd_H2ErrorCode
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 218
      start: 201
    functionDepth: 4
    functionLinenumber: 201
    functionLinenumberEnd: 218
    functionName: mhd_h2_q_rst_stream
    functionSourceFile: /src/mhd2/src/mhd2/h2/h2_proc_out.c
    functionUses: 0
    functionsReached:
    - mhd_h2_q_frame_no_payload
    - mhd_assert
    - mhd_h2_frame_init_rst_stream
    linkageType: ''
    returnType: MHD_INTERNAL
    signature: "MHD_INTERNAL mhd_h2_q_rst_stream (struct MHD_Connection *restrict
      c,\n                     uint_least32_t stream_id,\n                     enum
      mhd_H2ErrorCode err)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: MHD_FN_PAR_FIX_ARR_SIZE_
      Src: /src/mhd2/src/mhd2/h2/h2_proc_out.c:224,1
    - Dst: mhd_h2_frame_init_ping
      Src: /src/mhd2/src/mhd2/h2/h2_proc_out.c:228,1
    - Dst: mhd_h2_q_frame_no_payload
      Src: /src/mhd2/src/mhd2/h2/h2_proc_out.c:232,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 3
    argNames:
    - c
    - ack
    - opaque_data
    argTypes:
    - struct MHD_Connection*
    - bool
    - uint8_t[]
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 234
      start: 221
    functionDepth: 4
    functionLinenumber: 221
    functionLinenumberEnd: 234
    functionName: mhd_h2_q_ping
    functionSourceFile: /src/mhd2/src/mhd2/h2/h2_proc_out.c
    functionUses: 1
    functionsReached:
    - mhd_h2_q_frame_no_payload
    - mhd_h2_frame_init_ping
    - MHD_FN_PAR_FIX_ARR_SIZE_
    linkageType: ''
    returnType: MHD_INTERNAL
    signature: "MHD_INTERNAL mhd_h2_q_ping (struct MHD_Connection *restrict c,\n               bool
      ack,\n               const uint8_t opaque_data[MHD_FN_PAR_FIX_ARR_SIZE_ (8)])"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: mhd_h2_frame_init_goaway
      Src: /src/mhd2/src/mhd2/h2/h2_proc_out.c:243,1
    - Dst: mhd_h2_q_frame_no_payload
      Src: /src/mhd2/src/mhd2/h2/h2_proc_out.c:247,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - c
    - err
    argTypes:
    - struct MHD_Connection*
    - enum mhd_H2ErrorCode
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 249
      start: 237
    functionDepth: 4
    functionLinenumber: 237
    functionLinenumberEnd: 249
    functionName: mhd_h2_q_goaway
    functionSourceFile: /src/mhd2/src/mhd2/h2/h2_proc_out.c
    functionUses: 1
    functionsReached:
    - mhd_h2_q_frame_no_payload
    - mhd_h2_frame_init_goaway
    linkageType: ''
    returnType: MHD_INTERNAL
    signature: "MHD_INTERNAL mhd_h2_q_goaway (struct MHD_Connection *restrict c,\n
      \                enum mhd_H2ErrorCode err)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/h2/h2_proc_out.c:259,1
    - Dst: mhd_h2_frame_init_window_update
      Src: /src/mhd2/src/mhd2/h2/h2_proc_out.c:261,1
    - Dst: mhd_h2_q_frame_no_payload
      Src: /src/mhd2/src/mhd2/h2/h2_proc_out.c:265,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 3
    argNames:
    - c
    - stream_id
    - win_size_incr
    argTypes:
    - struct MHD_Connection*
    - uint_least32_t
    - uint_least32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 267
      start: 252
    functionDepth: 4
    functionLinenumber: 252
    functionLinenumberEnd: 267
    functionName: mhd_h2_q_window_update
    functionSourceFile: /src/mhd2/src/mhd2/h2/h2_proc_out.c
    functionUses: 1
    functionsReached:
    - mhd_h2_q_frame_no_payload
    - mhd_h2_frame_init_window_update
    - mhd_assert
    linkageType: ''
    returnType: MHD_INTERNAL
    signature: "MHD_INTERNAL mhd_h2_q_window_update (struct MHD_Connection *restrict
      c,\n                        uint_least32_t stream_id,\n                        uint_least32_t
      win_size_incr)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/h2/h2_conn_streams.c:90,1
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/h2/h2_conn_streams.c:91,1
    - Dst: mhd_calloc
      Src: /src/mhd2/src/mhd2/h2/h2_conn_streams.c:93,1
    - Dst: mhd_DLINKEDL_INIT_LINKS
      Src: /src/mhd2/src/mhd2/h2/h2_conn_streams.c:102,1
    - Dst: mhd_DLINKEDL_INIT_LINKS
      Src: /src/mhd2/src/mhd2/h2/h2_conn_streams.c:103,1
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/h2/h2_conn_streams.c:116,1
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/h2/h2_conn_streams.c:118,1
    - Dst: mhd_DLINKEDL_INS_LAST_D
      Src: /src/mhd2/src/mhd2/h2/h2_conn_streams.c:120,1
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/h2/h2_conn_streams.c:121,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 25
    argCount: 2
    argNames:
    - c
    - stream_id
    argTypes:
    - struct MHD_Connection*
    - uint_least32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 125
      start: 84
    functionDepth: 1
    functionLinenumber: 84
    functionLinenumberEnd: 125
    functionName: conn_add_new_stream
    functionSourceFile: /src/mhd2/src/mhd2/h2/h2_conn_streams.c
    functionUses: 0
    functionsReached:
    - mhd_DLINKEDL_INS_LAST_D
    - mhd_calloc
    - mhd_DLINKEDL_INIT_LINKS
    - mhd_assert
    linkageType: ''
    returnType: MHD_FN_PAR_NONNULL_ALL_
    signature: "MHD_FN_PAR_NONNULL_ALL_ *\nconn_add_new_stream (struct MHD_Connection
      *restrict c,\n                     uint_least32_t stream_id)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/h2/h2_conn_streams.c:132,1
    - Dst: mhd_response_dec_use_count
      Src: /src/mhd2/src/mhd2/h2/h2_conn_streams.c:135,1
    - Dst: mhd_DLINKEDL_DEL_D
      Src: /src/mhd2/src/mhd2/h2/h2_conn_streams.c:136,1
    - Dst: free
      Src: /src/mhd2/src/mhd2/h2/h2_conn_streams.c:138,1
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/h2/h2_conn_streams.c:139,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 2
    argNames:
    - c
    - s
    argTypes:
    - struct MHD_Connection*
    - struct mhd_H2Stream*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 141
      start: 128
    functionDepth: 2
    functionLinenumber: 128
    functionLinenumberEnd: 141
    functionName: conn_remove_stream
    functionSourceFile: /src/mhd2/src/mhd2/h2/h2_conn_streams.c
    functionUses: 0
    functionsReached:
    - free
    - mhd_assert
    - mhd_DLINKEDL_DEL_D
    - mhd_response_dec_use_count
    linkageType: ''
    returnType: MHD_FN_PAR_NONNULL_ALL_
    signature: "MHD_FN_PAR_NONNULL_ALL_ conn_remove_stream (struct MHD_Connection
      *c,\n                    struct mhd_H2Stream *restrict s)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: mhd_DLINKEDL_GET_FIRST_D
      Src: /src/mhd2/src/mhd2/h2/h2_conn_streams.c:151,1
    - Dst: mhd_DLINKEDL_GET_NEXT
      Src: /src/mhd2/src/mhd2/h2/h2_conn_streams.c:153,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 2
    argNames:
    - c
    - stream_id
    argTypes:
    - struct MHD_Connection*
    - uint_least32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 160
      start: 144
    functionDepth: 1
    functionLinenumber: 144
    functionLinenumberEnd: 160
    functionName: conn_find_stream
    functionSourceFile: /src/mhd2/src/mhd2/h2/h2_conn_streams.c
    functionUses: 0
    functionsReached:
    - mhd_DLINKEDL_GET_FIRST_D
    - mhd_DLINKEDL_GET_NEXT
    linkageType: ''
    returnType: MHD_FN_PAR_NONNULL_ALL_
    signature: "MHD_FN_PAR_NONNULL_ALL_ *\nconn_find_stream (struct MHD_Connection
      *restrict c,\n                  uint_least32_t stream_id)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: mhd_h2_stream_abort
      Src: /src/mhd2/src/mhd2/h2/h2_conn_streams.c:173,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - s
    - problem_type
    argTypes:
    - struct mhd_H2Stream*
    - enum mhd_H2RequestProblemType
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 175
      start: 167
    functionDepth: 1
    functionLinenumber: 167
    functionLinenumberEnd: 175
    functionName: mhd_h2_stream_req_problem
    functionSourceFile: /src/mhd2/src/mhd2/h2/h2_conn_streams.c
    functionUses: 2
    functionsReached:
    - mhd_h2_stream_abort
    linkageType: ''
    returnType: MHD_INTERNAL
    signature: "MHD_INTERNAL mhd_h2_stream_req_problem (struct mhd_H2Stream *restrict
      s,\n                           enum mhd_H2RequestProblemType problem_type)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/h2/h2_conn_streams.c:182,1
    - Dst: mhd_h2_q_rst_stream
      Src: /src/mhd2/src/mhd2/h2/h2_conn_streams.c:185,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 2
    argNames:
    - s
    - err
    argTypes:
    - struct mhd_H2Stream*
    - enum mhd_H2ErrorCode
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 194
      start: 178
    functionDepth: 5
    functionLinenumber: 178
    functionLinenumberEnd: 194
    functionName: stream_send_rst_stream
    functionSourceFile: /src/mhd2/src/mhd2/h2/h2_conn_streams.c
    functionUses: 0
    functionsReached:
    - mhd_h2_q_rst_stream
    - mhd_assert
    linkageType: ''
    returnType: MHD_FN_PAR_NONNULL_ALL_
    signature: "MHD_FN_PAR_NONNULL_ALL_ stream_send_rst_stream (struct mhd_H2Stream
      *restrict s,\n                        enum mhd_H2ErrorCode err)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: mhd_h2_conn_finish
      Src: /src/mhd2/src/mhd2/h2/h2_conn_streams.c:203,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 2
    argNames:
    - s
    - err
    argTypes:
    - struct mhd_H2Stream*
    - enum mhd_H2ErrorCode
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 207
      start: 197
    functionDepth: 2
    functionLinenumber: 197
    functionLinenumberEnd: 207
    functionName: mhd_h2_stream_abort
    functionSourceFile: /src/mhd2/src/mhd2/h2/h2_conn_streams.c
    functionUses: 2
    functionsReached:
    - mhd_h2_conn_finish
    linkageType: ''
    returnType: MHD_INTERNAL
    signature: "MHD_INTERNAL mhd_h2_stream_abort (struct mhd_H2Stream *restrict s,\n
      \                    enum mhd_H2ErrorCode err)"
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/h2/h2_conn_streams.c:213,1
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/h2/h2_conn_streams.c:214,1
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/h2/h2_conn_streams.c:215,1
    - Dst: mhd_h2_items_debug_get_streamid
      Src: /src/mhd2/src/mhd2/h2/h2_conn_streams.c:215,1
    - Dst: mhd_h2_req_headers_preprocess
      Src: /src/mhd2/src/mhd2/h2/h2_conn_streams.c:221,1
    - Dst: mhd_h2_stream_cb_early_uri
      Src: /src/mhd2/src/mhd2/h2/h2_conn_streams.c:224,1
    - Dst: mhd_h2_req_uri_parse
      Src: /src/mhd2/src/mhd2/h2/h2_conn_streams.c:227,1
    - Dst: mhd_h2_req_cookie_parse
      Src: /src/mhd2/src/mhd2/h2/h2_conn_streams.c:230,1
    - Dst: mhd_h2_stream_cb_request
      Src: /src/mhd2/src/mhd2/h2/h2_conn_streams.c:235,1
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/h2/h2_conn_streams.c:238,1
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/h2/h2_conn_streams.c:243,1
    - Dst: stream_start_replying
      Src: /src/mhd2/src/mhd2/h2/h2_conn_streams.c:249,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 26
    argCount: 1
    argNames:
    - s
    argTypes:
    - struct mhd_H2Stream*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 252
      start: 210
    functionDepth: 7
    functionLinenumber: 210
    functionLinenumberEnd: 252
    functionName: stream_proc_complete_headers
    functionSourceFile: /src/mhd2/src/mhd2/h2/h2_conn_streams.c
    functionUses: 0
    functionsReached:
    - mhd_h2_stream_cb_early_uri
    - mhd_h2_req_cookie_parse
    - mhd_h2_req_headers_preprocess
    - mhd_h2_req_uri_parse
    - stream_start_replying
    - mhd_h2_items_debug_get_streamid
    - mhd_h2_stream_cb_request
    - mhd_assert
    linkageType: ''
    returnType: MHD_FN_PAR_NONNULL_ALL_
    signature: MHD_FN_PAR_NONNULL_ALL_ stream_proc_complete_headers (struct mhd_H2Stream
      *restrict s)
  - BBCount: 12
    BranchProfiles: []
    Callsites:
    - Dst: mhd_h2_req_fields_decode
      Src: /src/mhd2/src/mhd2/h2/h2_conn_streams.c:263,1
    - Dst: mhd_h2_stream_req_problem
      Src: /src/mhd2/src/mhd2/h2/h2_conn_streams.c:274,1
    - Dst: mhd_h2_conn_finish
      Src: /src/mhd2/src/mhd2/h2/h2_conn_streams.c:278,1
    - Dst: mhd_h2_conn_finish
      Src: /src/mhd2/src/mhd2/h2/h2_conn_streams.c:284,1
    - Dst: mhd_UNREACHABLE
      Src: /src/mhd2/src/mhd2/h2/h2_conn_streams.c:289,1
    - Dst: mhd_h2_conn_finish
      Src: /src/mhd2/src/mhd2/h2/h2_conn_streams.c:291,1
    - Dst: mhd_h2_conn_finish
      Src: /src/mhd2/src/mhd2/h2/h2_conn_streams.c:298,1
    - Dst: mhd_h2_stream_req_problem
      Src: /src/mhd2/src/mhd2/h2/h2_conn_streams.c:312,1
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/h2/h2_conn_streams.c:315,1
    - Dst: mhd_pool_get_size
      Src: /src/mhd2/src/mhd2/h2/h2_conn_streams.c:315,1
    - Dst: mhd_pool_get_size
      Src: /src/mhd2/src/mhd2/h2/h2_conn_streams.c:316,1
    - Dst: mhd_h2_stream_req_problem
      Src: /src/mhd2/src/mhd2/h2/h2_conn_streams.c:318,1
    - Dst: stream_proc_complete_headers
      Src: /src/mhd2/src/mhd2/h2/h2_conn_streams.c:329,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 38
    argCount: 3
    argNames:
    - s
    - end_headers
    - payload
    argTypes:
    - struct mhd_H2Stream*
    - bool
    - struct mhd_Buffer*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 333
      start: 255
    functionDepth: 8
    functionLinenumber: 255
    functionLinenumberEnd: 333
    functionName: stream_proc_in_headers
    functionSourceFile: /src/mhd2/src/mhd2/h2/h2_conn_streams.c
    functionUses: 0
    functionsReached:
    - mhd_h2_req_fields_decode
    - mhd_h2_stream_req_problem
    - mhd_h2_conn_finish
    - stream_proc_complete_headers
    - mhd_pool_get_size
    - mhd_UNREACHABLE
    - mhd_assert
    linkageType: ''
    returnType: MHD_FN_PAR_NONNULL_ALL_
    signature: "MHD_FN_PAR_NONNULL_ALL_ stream_proc_in_headers (struct mhd_H2Stream
      *restrict s,\n                        bool end_headers,\n                        struct
      mhd_Buffer *restrict payload)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/h2/h2_conn_streams.c:345,1
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/h2/h2_conn_streams.c:346,1
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/h2/h2_conn_streams.c:347,1
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/h2/h2_conn_streams.c:348,1
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/h2/h2_conn_streams.c:349,1
    - Dst: conn_find_stream
      Src: /src/mhd2/src/mhd2/h2/h2_conn_streams.c:349,1
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/h2/h2_conn_streams.c:350,1
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/h2/h2_conn_streams.c:351,1
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/h2/h2_conn_streams.c:352,1
    - Dst: mhd_h2_q_rst_stream
      Src: /src/mhd2/src/mhd2/h2/h2_conn_streams.c:356,1
    - Dst: conn_add_new_stream
      Src: /src/mhd2/src/mhd2/h2/h2_conn_streams.c:360,1
    - Dst: mhd_h2_q_rst_stream
      Src: /src/mhd2/src/mhd2/h2/h2_conn_streams.c:364,1
    - Dst: mhd_h2_items_block_reset
      Src: /src/mhd2/src/mhd2/h2/h2_conn_streams.c:367,1
    - Dst: mhd_h2_items_debug_set_streamid
      Src: /src/mhd2/src/mhd2/h2/h2_conn_streams.c:370,1
    - Dst: stream_proc_in_headers
      Src: /src/mhd2/src/mhd2/h2/h2_conn_streams.c:378,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 18
    argCount: 5
    argNames:
    - c
    - stream_id
    - end_stream
    - end_headers
    - payload
    argTypes:
    - struct MHD_Connection*
    - uint_least32_t
    - bool
    - bool
    - struct mhd_Buffer*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 381
      start: 336
    functionDepth: 9
    functionLinenumber: 336
    functionLinenumberEnd: 381
    functionName: conn_proc_new_in_stream
    functionSourceFile: /src/mhd2/src/mhd2/h2/h2_conn_streams.c
    functionUses: 0
    functionsReached:
    - mhd_h2_items_debug_set_streamid
    - conn_add_new_stream
    - mhd_h2_items_block_reset
    - stream_proc_in_headers
    - mhd_h2_q_rst_stream
    - conn_find_stream
    - mhd_assert
    linkageType: ''
    returnType: MHD_FN_PAR_NONNULL_ALL_
    signature: "MHD_FN_PAR_NONNULL_ALL_ conn_proc_new_in_stream (struct MHD_Connection
      *restrict c,\n                         uint_least32_t stream_id,\n                         bool
      end_stream,\n                         bool end_headers,\n                         struct
      mhd_Buffer *restrict payload)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/h2/h2_conn_streams.c:391,1
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/h2/h2_conn_streams.c:392,1
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/h2/h2_conn_streams.c:393,1
    - Dst: mhd_h2_conn_finish
      Src: /src/mhd2/src/mhd2/h2/h2_conn_streams.c:396,1
    - Dst: conn_proc_new_in_stream
      Src: /src/mhd2/src/mhd2/h2/h2_conn_streams.c:401,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 5
    argNames:
    - c
    - stream_id
    - end_stream
    - end_headers
    - payload
    argTypes:
    - struct MHD_Connection*
    - uint_least32_t
    - bool
    - bool
    - struct mhd_Buffer*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 406
      start: 384
    functionDepth: 10
    functionLinenumber: 384
    functionLinenumberEnd: 406
    functionName: mhd_h2_conn_streamid_in_headers
    functionSourceFile: /src/mhd2/src/mhd2/h2/h2_conn_streams.c
    functionUses: 1
    functionsReached:
    - mhd_h2_conn_finish
    - conn_proc_new_in_stream
    - mhd_assert
    linkageType: ''
    returnType: MHD_INTERNAL
    signature: "MHD_INTERNAL mhd_h2_conn_streamid_in_headers (struct MHD_Connection
      *restrict c,\n                                 uint_least32_t stream_id,\n                                 bool
      end_stream,\n                                 bool end_headers,\n                                 struct
      mhd_Buffer *restrict payload)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/h2/h2_conn_streams.c:418,1
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/h2/h2_conn_streams.c:419,1
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/h2/h2_conn_streams.c:420,1
    - Dst: mhd_h2_conn_finish
      Src: /src/mhd2/src/mhd2/h2/h2_conn_streams.c:423,1
    - Dst: conn_find_stream
      Src: /src/mhd2/src/mhd2/h2/h2_conn_streams.c:426,1
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/h2/h2_conn_streams.c:428,1
    - Dst: memmove
      Src: /src/mhd2/src/mhd2/h2/h2_conn_streams.c:440,1
    - Dst: stream_proc_in_headers
      Src: /src/mhd2/src/mhd2/h2/h2_conn_streams.c:447,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 15
    argCount: 4
    argNames:
    - c
    - stream_id
    - end_headers
    - payload
    argTypes:
    - struct MHD_Connection*
    - uint_least32_t
    - bool
    - struct mhd_Buffer*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 450
      start: 409
    functionDepth: 9
    functionLinenumber: 409
    functionLinenumberEnd: 450
    functionName: mhd_h2_conn_streamid_in_continuation
    functionSourceFile: /src/mhd2/src/mhd2/h2/h2_conn_streams.c
    functionUses: 1
    functionsReached:
    - mhd_h2_conn_finish
    - stream_proc_in_headers
    - memmove
    - conn_find_stream
    - mhd_assert
    linkageType: ''
    returnType: MHD_INTERNAL
    signature: "MHD_INTERNAL mhd_h2_conn_streamid_in_continuation (struct MHD_Connection
      *restrict c,\n                                      uint_least32_t stream_id,\n
      \                                     bool end_headers,\n                                      struct
      mhd_Buffer *payload)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/h2/h2_conn_streams.c:456,1
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/h2/h2_conn_streams.c:457,1
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/h2/h2_conn_streams.c:459,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 21
    argCount: 1
    argNames:
    - s
    argTypes:
    - struct mhd_H2Stream*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 489
      start: 453
    functionDepth: 1
    functionLinenumber: 453
    functionLinenumberEnd: 489
    functionName: stream_set_reply_props
    functionSourceFile: /src/mhd2/src/mhd2/h2/h2_conn_streams.c
    functionUses: 0
    functionsReached:
    - mhd_assert
    linkageType: ''
    returnType: MHD_FN_PAR_NONNULL_ALL_
    signature: MHD_FN_PAR_NONNULL_ALL_ stream_set_reply_props (struct mhd_H2Stream
      *restrict s)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/h2/h2_conn_streams.c:498,1
    - Dst: mhd_DLINKEDL_GET_NEXT
      Src: /src/mhd2/src/mhd2/h2/h2_conn_streams.c:498,1
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/h2/h2_conn_streams.c:499,1
    - Dst: mhd_DLINKEDL_GET_LAST_D
      Src: /src/mhd2/src/mhd2/h2/h2_conn_streams.c:499,1
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/h2/h2_conn_streams.c:500,1
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/h2/h2_conn_streams.c:501,1
    - Dst: stream_set_reply_props
      Src: /src/mhd2/src/mhd2/h2/h2_conn_streams.c:503,1
    - Dst: mhd_DLINKEDL_INS_LAST
      Src: /src/mhd2/src/mhd2/h2/h2_conn_streams.c:505,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 1
    argNames:
    - s
    argTypes:
    - struct mhd_H2Stream*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 506
      start: 492
    functionDepth: 2
    functionLinenumber: 492
    functionLinenumberEnd: 506
    functionName: stream_start_replying
    functionSourceFile: /src/mhd2/src/mhd2/h2/h2_conn_streams.c
    functionUses: 1
    functionsReached:
    - mhd_DLINKEDL_GET_LAST_D
    - mhd_DLINKEDL_INS_LAST
    - stream_set_reply_props
    - mhd_DLINKEDL_GET_NEXT
    - mhd_assert
    linkageType: ''
    returnType: MHD_FN_PAR_NONNULL_ALL_
    signature: MHD_FN_PAR_NONNULL_ALL_ stream_start_replying (struct mhd_H2Stream
      *restrict s)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 3
    argNames:
    - c
    - stream_id
    - err
    argTypes:
    - struct MHD_Connection*
    - uint_least32_t
    - enum mhd_H2ErrorCode
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 515
      start: 509
    functionDepth: 0
    functionLinenumber: 509
    functionLinenumberEnd: 515
    functionName: mhd_h2_conn_streamid_in_rst_stream
    functionSourceFile: /src/mhd2/src/mhd2/h2/h2_conn_streams.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: MHD_INTERNAL
    signature: "MHD_INTERNAL mhd_h2_conn_streamid_in_rst_stream (struct MHD_Connection
      *restrict c,\n                                    uint_least32_t stream_id,\n
      \                                   enum mhd_H2ErrorCode err)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: conn_find_stream
      Src: /src/mhd2/src/mhd2/h2/h2_conn_streams.c:523,1
    - Dst: mhd_h2_conn_finish
      Src: /src/mhd2/src/mhd2/h2/h2_conn_streams.c:529,1
    - Dst: mhd_h2_stream_req_problem
      Src: /src/mhd2/src/mhd2/h2/h2_conn_streams.c:537,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 10
    argCount: 3
    argNames:
    - c
    - stream_id
    - incr
    argTypes:
    - struct MHD_Connection*
    - uint_least32_t
    - uint_least32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 541
      start: 518
    functionDepth: 2
    functionLinenumber: 518
    functionLinenumberEnd: 541
    functionName: mhd_h2_conn_streamid_window_incr
    functionSourceFile: /src/mhd2/src/mhd2/h2/h2_conn_streams.c
    functionUses: 1
    functionsReached:
    - mhd_h2_conn_finish
    - conn_find_stream
    - mhd_h2_stream_req_problem
    linkageType: ''
    returnType: MHD_INTERNAL
    signature: "MHD_INTERNAL mhd_h2_conn_streamid_window_incr (struct MHD_Connection
      *restrict c,\n                                  uint_least32_t stream_id,\n
      \                                 uint_least32_t incr)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 3
    argNames:
    - c
    - stream_id
    - err
    argTypes:
    - struct MHD_Connection*
    - uint_least32_t
    - enum mhd_H2ErrorCode
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 550
      start: 544
    functionDepth: 0
    functionLinenumber: 544
    functionLinenumberEnd: 550
    functionName: mhd_h2_conn_streamid_abort
    functionSourceFile: /src/mhd2/src/mhd2/h2/h2_conn_streams.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: MHD_INTERNAL
    signature: "MHD_INTERNAL mhd_h2_conn_streamid_abort (struct MHD_Connection *restrict
      c,\n                            uint_least32_t stream_id,\n                            enum
      mhd_H2ErrorCode err)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/h2/h2_conn_streams.c:558,1
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/h2/h2_conn_streams.c:569,1
    - Dst: mhd_h2_q_window_update
      Src: /src/mhd2/src/mhd2/h2/h2_conn_streams.c:570,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 1
    argNames:
    - s
    argTypes:
    - struct mhd_H2Stream*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 579
      start: 553
    functionDepth: 5
    functionLinenumber: 553
    functionLinenumberEnd: 579
    functionName: stream_maintain_rcv_window
    functionSourceFile: /src/mhd2/src/mhd2/h2/h2_conn_streams.c
    functionUses: 0
    functionsReached:
    - mhd_assert
    - mhd_h2_q_window_update
    linkageType: ''
    returnType: MHD_FN_PAR_NONNULL_ALL_
    signature: MHD_FN_PAR_NONNULL_ALL_ stream_maintain_rcv_window (struct mhd_H2Stream
      *restrict s)
  - BBCount: 3
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 6
    argCount: 1
    argNames:
    - s
    argTypes:
    - struct mhd_H2Stream*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 594
      start: 582
    functionDepth: 0
    functionLinenumber: 582
    functionLinenumberEnd: 594
    functionName: stream_is_closed
    functionSourceFile: /src/mhd2/src/mhd2/h2/h2_conn_streams.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: mhd_static_inline
    signature: mhd_static_inline stream_is_closed (const struct mhd_H2Stream *restrict
      s)
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/h2/h2_conn_streams.c:602,1
    - Dst: mhd_DLINKEDL_GET_FIRST_D
      Src: /src/mhd2/src/mhd2/h2/h2_conn_streams.c:605,1
    - Dst: mhd_DLINKEDL_GET_NEXT
      Src: /src/mhd2/src/mhd2/h2/h2_conn_streams.c:608,1
    - Dst: stream_send_rst_stream
      Src: /src/mhd2/src/mhd2/h2/h2_conn_streams.c:621,1
    - Dst: stream_is_closed
      Src: /src/mhd2/src/mhd2/h2/h2_conn_streams.c:628,1
    - Dst: conn_remove_stream
      Src: /src/mhd2/src/mhd2/h2/h2_conn_streams.c:630,1
    - Dst: stream_maintain_rcv_window
      Src: /src/mhd2/src/mhd2/h2/h2_conn_streams.c:637,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 24
    argCount: 1
    argNames:
    - c
    argTypes:
    - struct MHD_Connection*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 643
      start: 597
    functionDepth: 6
    functionLinenumber: 597
    functionLinenumberEnd: 643
    functionName: mhd_h2_conn_maintain_streams_all
    functionSourceFile: /src/mhd2/src/mhd2/h2/h2_conn_streams.c
    functionUses: 1
    functionsReached:
    - mhd_DLINKEDL_GET_FIRST_D
    - stream_is_closed
    - stream_maintain_rcv_window
    - mhd_DLINKEDL_GET_NEXT
    - conn_remove_stream
    - stream_send_rst_stream
    - mhd_assert
    linkageType: ''
    returnType: MHD_INTERNAL
    signature: MHD_INTERNAL mhd_h2_conn_maintain_streams_all (struct MHD_Connection
      *c)
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/h2/h2_conn_streams.c:652,1
    - Dst: mhd_DLINKEDL_GET_FIRST_D
      Src: /src/mhd2/src/mhd2/h2/h2_conn_streams.c:659,1
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/h2/h2_conn_streams.c:667,1
    - Dst: stream_is_closed
      Src: /src/mhd2/src/mhd2/h2/h2_conn_streams.c:667,1
    - Dst: mhd_h2_stream_reply_send
      Src: /src/mhd2/src/mhd2/h2/h2_conn_streams.c:669,1
    - Dst: mhd_DLINKEDL_DEL_D
      Src: /src/mhd2/src/mhd2/h2/h2_conn_streams.c:673,1
    - Dst: stream_is_closed
      Src: /src/mhd2/src/mhd2/h2/h2_conn_streams.c:674,1
    - Dst: conn_remove_stream
      Src: /src/mhd2/src/mhd2/h2/h2_conn_streams.c:675,1
    - Dst: mhd_DLINKEDL_INS_LAST_D
      Src: /src/mhd2/src/mhd2/h2/h2_conn_streams.c:680,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 24
    argCount: 1
    argNames:
    - c
    argTypes:
    - struct MHD_Connection*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 689
      start: 648
    functionDepth: 5
    functionLinenumber: 648
    functionLinenumberEnd: 689
    functionName: mhd_h2_conn_process_streams_sending_queue
    functionSourceFile: /src/mhd2/src/mhd2/h2/h2_conn_streams.c
    functionUses: 1
    functionsReached:
    - mhd_DLINKEDL_GET_FIRST_D
    - stream_is_closed
    - mhd_DLINKEDL_INS_LAST_D
    - conn_remove_stream
    - mhd_h2_stream_reply_send
    - mhd_assert
    - mhd_DLINKEDL_DEL_D
    linkageType: ''
    returnType: MHD_INTERNAL
    signature: MHD_INTERNAL mhd_h2_conn_process_streams_sending_queue (struct MHD_Connection
      *c)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: mhd_DLINKEDL_GET_FIRST_D
      Src: /src/mhd2/src/mhd2/h2/h2_conn_streams.c:698,1
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/h2/h2_conn_streams.c:703,1
    - Dst: stream_is_closed
      Src: /src/mhd2/src/mhd2/h2/h2_conn_streams.c:703,1
    - Dst: mhd_DLINKEDL_DEL_D
      Src: /src/mhd2/src/mhd2/h2/h2_conn_streams.c:705,1
    - Dst: conn_remove_stream
      Src: /src/mhd2/src/mhd2/h2/h2_conn_streams.c:706,1
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/h2/h2_conn_streams.c:709,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 9
    argCount: 1
    argNames:
    - c
    argTypes:
    - struct MHD_Connection*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 710
      start: 692
    functionDepth: 3
    functionLinenumber: 692
    functionLinenumberEnd: 710
    functionName: mhd_h2_conn_close_streams_all
    functionSourceFile: /src/mhd2/src/mhd2/h2/h2_conn_streams.c
    functionUses: 1
    functionsReached:
    - mhd_DLINKEDL_GET_FIRST_D
    - stream_is_closed
    - conn_remove_stream
    - mhd_assert
    - mhd_DLINKEDL_DEL_D
    linkageType: ''
    returnType: MHD_INTERNAL
    signature: MHD_INTERNAL mhd_h2_conn_close_streams_all (struct MHD_Connection *restrict
      c)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - ib
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 157
      start: 156
    functionDepth: 0
    functionLinenumber: 156
    functionLinenumberEnd: 157
    functionName: mhd_h2_items_cancel_new_item_buff
    functionSourceFile: /src/mhd2/src/mhd2/h2/h2_req_items_funcs.h
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: mhd_h2_items_cancel_new_item_buff(ib)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - ib
    - ','
    - stream_id
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 218
      start: 217
    functionDepth: 0
    functionLinenumber: 217
    functionLinenumberEnd: 218
    functionName: mhd_h2_items_debug_set_streamid
    functionSourceFile: /src/mhd2/src/mhd2/h2/h2_req_items_funcs.h
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: mhd_h2_items_debug_set_streamid(ib, stream_id)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - ib
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 219
      start: 218
    functionDepth: 0
    functionLinenumber: 218
    functionLinenumberEnd: 219
    functionName: mhd_h2_items_debug_get_streamid
    functionSourceFile: /src/mhd2/src/mhd2/h2/h2_req_items_funcs.h
    functionUses: 6
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: mhd_h2_items_debug_get_streamid(ib)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/h2/h2_action.c:61,1
    - Dst: mhd_RESP_HAS_AUTH_DIGEST
      Src: /src/mhd2/src/mhd2/h2/h2_action.c:76,1
    CyclomaticComplexity: 15
    EdgeCount: 15
    ICount: 15
    argCount: 2
    argNames:
    - req
    - response
    argTypes:
    - struct mhd_H2RequestData*
    - struct MHD_Response*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 93
      start: 57
    functionDepth: 1
    functionLinenumber: 57
    functionLinenumberEnd: 93
    functionName: mhd_h2_act_is_resp_h2_compatible
    functionSourceFile: /src/mhd2/src/mhd2/h2/h2_action.c
    functionUses: 2
    functionsReached:
    - mhd_RESP_HAS_AUTH_DIGEST
    - mhd_assert
    linkageType: ''
    returnType: MHD_INTERNAL
    signature: "MHD_INTERNAL mhd_h2_act_is_resp_h2_compatible (const struct mhd_H2RequestData
      *restrict req,\n                                  const struct MHD_Response
      *restrict response)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - val
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 146
      start: 145
    functionDepth: 0
    functionLinenumber: 145
    functionLinenumberEnd: 146
    functionName: mhd_DTBL_VALUE_FITS
    functionSourceFile: /src/mhd2/src/mhd2/h2/hpack/mhd_hpack_codec.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: mhd_DTBL_VALUE_FITS(val)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - val
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 189
      start: 188
    functionDepth: 0
    functionLinenumber: 188
    functionLinenumberEnd: 189
    functionName: mhd_DTBL_VALUE_FITS
    functionSourceFile: /src/mhd2/src/mhd2/h2/hpack/mhd_hpack_codec.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: mhd_DTBL_VALUE_FITS(val)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/h2/hpack/mhd_hpack_codec.c:277,1
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/h2/hpack/mhd_hpack_codec.c:278,1
    - Dst: mhd_DTBL_VALUE_FITS
      Src: /src/mhd2/src/mhd2/h2/hpack/mhd_hpack_codec.c:278,1
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/h2/hpack/mhd_hpack_codec.c:279,1
    - Dst: mhd_DTBL_VALUE_FITS
      Src: /src/mhd2/src/mhd2/h2/hpack/mhd_hpack_codec.c:279,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 1
    argNames:
    - strings_len
    argTypes:
    - dtbl_size_ft
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 281
      start: 273
    functionDepth: 1
    functionLinenumber: 273
    functionLinenumberEnd: 281
    functionName: dtbl_new_entry_strs_size_formal
    functionSourceFile: /src/mhd2/src/mhd2/h2/hpack/mhd_hpack_codec.c
    functionUses: 0
    functionsReached:
    - mhd_assert
    - mhd_DTBL_VALUE_FITS
    linkageType: ''
    returnType: MHD_FN_PURE_
    signature: MHD_FN_PURE_ dtbl_new_entry_strs_size_formal (dtbl_size_ft strings_len)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/h2/hpack/mhd_hpack_codec.c:295,1
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/h2/hpack/mhd_hpack_codec.c:296,1
    - Dst: mhd_DTBL_VALUE_FITS
      Src: /src/mhd2/src/mhd2/h2/hpack/mhd_hpack_codec.c:296,1
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/h2/hpack/mhd_hpack_codec.c:297,1
    - Dst: mhd_DTBL_VALUE_FITS
      Src: /src/mhd2/src/mhd2/h2/hpack/mhd_hpack_codec.c:297,1
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/h2/hpack/mhd_hpack_codec.c:298,1
    - Dst: mhd_DTBL_VALUE_FITS
      Src: /src/mhd2/src/mhd2/h2/hpack/mhd_hpack_codec.c:298,1
    - Dst: dtbl_new_entry_strs_size_formal
      Src: /src/mhd2/src/mhd2/h2/hpack/mhd_hpack_codec.c:299,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 2
    argNames:
    - name_len
    - val_len
    argTypes:
    - dtbl_size_ft
    - dtbl_size_ft
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 300
      start: 290
    functionDepth: 2
    functionLinenumber: 290
    functionLinenumberEnd: 300
    functionName: dtbl_new_entry_size_formal
    functionSourceFile: /src/mhd2/src/mhd2/h2/hpack/mhd_hpack_codec.c
    functionUses: 0
    functionsReached:
    - dtbl_new_entry_strs_size_formal
    - mhd_assert
    - mhd_DTBL_VALUE_FITS
    linkageType: ''
    returnType: MHD_FN_PURE_
    signature: "MHD_FN_PURE_ dtbl_new_entry_size_formal (dtbl_size_ft name_len,\n
      \                           dtbl_size_ft val_len)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - entr_inf
    argTypes:
    - struct mhd_HpackDTblEntryInfo*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 313
      start: 309
    functionDepth: 0
    functionLinenumber: 309
    functionLinenumberEnd: 313
    functionName: dtbl_entr_strs_size_min
    functionSourceFile: /src/mhd2/src/mhd2/h2/hpack/mhd_hpack_codec.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: MHD_FN_PURE_
    signature: MHD_FN_PURE_ dtbl_entr_strs_size_min (const struct mhd_HpackDTblEntryInfo
      *entr_inf)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: dtbl_entr_strs_size_min
      Src: /src/mhd2/src/mhd2/h2/hpack/mhd_hpack_codec.c:326,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - entr_inf
    argTypes:
    - struct mhd_HpackDTblEntryInfo*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 327
      start: 323
    functionDepth: 1
    functionLinenumber: 323
    functionLinenumberEnd: 327
    functionName: dtbl_entr_strs_size_optm
    functionSourceFile: /src/mhd2/src/mhd2/h2/hpack/mhd_hpack_codec.c
    functionUses: 0
    functionsReached:
    - dtbl_entr_strs_size_min
    linkageType: ''
    returnType: MHD_FN_PURE_
    signature: MHD_FN_PURE_ dtbl_entr_strs_size_optm (const struct mhd_HpackDTblEntryInfo
      *entr_inf)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: dtbl_new_entry_size_formal
      Src: /src/mhd2/src/mhd2/h2/hpack/mhd_hpack_codec.c:340,1
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/h2/hpack/mhd_hpack_codec.c:342,1
    - Dst: dtbl_entr_strs_size_min
      Src: /src/mhd2/src/mhd2/h2/hpack/mhd_hpack_codec.c:342,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - entr_inf
    argTypes:
    - struct mhd_HpackDTblEntryInfo*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 345
      start: 337
    functionDepth: 3
    functionLinenumber: 337
    functionLinenumberEnd: 345
    functionName: dtbl_entr_size_formal
    functionSourceFile: /src/mhd2/src/mhd2/h2/hpack/mhd_hpack_codec.c
    functionUses: 0
    functionsReached:
    - dtbl_entr_strs_size_min
    - dtbl_new_entry_size_formal
    - mhd_assert
    linkageType: ''
    returnType: MHD_FN_PURE_
    signature: MHD_FN_PURE_ dtbl_entr_size_formal (const struct mhd_HpackDTblEntryInfo
      *entr_inf)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - entr_inf
    argTypes:
    - struct mhd_HpackDTblEntryInfo*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 362
      start: 358
    functionDepth: 0
    functionLinenumber: 358
    functionLinenumberEnd: 362
    functionName: dtbl_entr_strs_start
    functionSourceFile: /src/mhd2/src/mhd2/h2/hpack/mhd_hpack_codec.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: MHD_FN_PURE_
    signature: MHD_FN_PURE_ dtbl_entr_strs_start (const struct mhd_HpackDTblEntryInfo
      *entr_inf)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: dtbl_entr_strs_start
      Src: /src/mhd2/src/mhd2/h2/hpack/mhd_hpack_codec.c:375,1
    - Dst: dtbl_entr_strs_size_min
      Src: /src/mhd2/src/mhd2/h2/hpack/mhd_hpack_codec.c:375,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - entr_inf
    argTypes:
    - struct mhd_HpackDTblEntryInfo*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 376
      start: 372
    functionDepth: 1
    functionLinenumber: 372
    functionLinenumberEnd: 376
    functionName: dtbl_entr_strs_end_min
    functionSourceFile: /src/mhd2/src/mhd2/h2/hpack/mhd_hpack_codec.c
    functionUses: 0
    functionsReached:
    - dtbl_entr_strs_size_min
    - dtbl_entr_strs_start
    linkageType: ''
    returnType: MHD_FN_PURE_
    signature: MHD_FN_PURE_ dtbl_entr_strs_end_min (const struct mhd_HpackDTblEntryInfo
      *entr_inf)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: dtbl_entr_strs_start
      Src: /src/mhd2/src/mhd2/h2/hpack/mhd_hpack_codec.c:389,1
    - Dst: dtbl_entr_strs_size_optm
      Src: /src/mhd2/src/mhd2/h2/hpack/mhd_hpack_codec.c:389,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - entr_inf
    argTypes:
    - struct mhd_HpackDTblEntryInfo*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 390
      start: 386
    functionDepth: 2
    functionLinenumber: 386
    functionLinenumberEnd: 390
    functionName: dtbl_entr_strs_end_optm
    functionSourceFile: /src/mhd2/src/mhd2/h2/hpack/mhd_hpack_codec.c
    functionUses: 0
    functionsReached:
    - dtbl_entr_strs_size_optm
    - dtbl_entr_strs_start
    linkageType: ''
    returnType: MHD_FN_PURE_
    signature: MHD_FN_PURE_ dtbl_entr_strs_end_optm (const struct mhd_HpackDTblEntryInfo
      *entr_inf)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - dyn
    argTypes:
    - struct mhd_HpackDTblContext*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 494
      start: 490
    functionDepth: 0
    functionLinenumber: 490
    functionLinenumberEnd: 494
    functionName: dtbl_get_num_entries
    functionSourceFile: /src/mhd2/src/mhd2/h2/hpack/mhd_hpack_codec.c
    functionUses: 11
    functionsReached: []
    linkageType: ''
    returnType: MHD_FN_PURE_
    signature: MHD_FN_PURE_ dtbl_get_num_entries (const struct mhd_HpackDTblContext
      *dyn)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/h2/hpack/mhd_hpack_codec.c:506,1
    - Dst: dtbl_get_num_entries
      Src: /src/mhd2/src/mhd2/h2/hpack/mhd_hpack_codec.c:507,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - dyn
    argTypes:
    - struct mhd_HpackDTblContext*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 508
      start: 503
    functionDepth: 1
    functionLinenumber: 503
    functionLinenumberEnd: 508
    functionName: dtbl_is_empty
    functionSourceFile: /src/mhd2/src/mhd2/h2/hpack/mhd_hpack_codec.c
    functionUses: 0
    functionsReached:
    - mhd_assert
    - dtbl_get_num_entries
    linkageType: ''
    returnType: MHD_FN_PURE_
    signature: MHD_FN_PURE_ dtbl_is_empty (const struct mhd_HpackDTblContext *dyn)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - dyn
    argTypes:
    - struct mhd_HpackDTblContext*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 521
      start: 516
    functionDepth: 0
    functionLinenumber: 516
    functionLinenumberEnd: 521
    functionName: dtbl_get_strs_buff
    functionSourceFile: /src/mhd2/src/mhd2/h2/hpack/mhd_hpack_codec.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: MHD_FN_CONST_
    signature: 'MHD_FN_CONST_ *

      dtbl_get_strs_buff (struct mhd_HpackDTblContext *dyn)'
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - dyn
    argTypes:
    - struct mhd_HpackDTblContext*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 534
      start: 529
    functionDepth: 0
    functionLinenumber: 529
    functionLinenumberEnd: 534
    functionName: dtbl_get_strs_buffc
    functionSourceFile: /src/mhd2/src/mhd2/h2/hpack/mhd_hpack_codec.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: MHD_FN_CONST_
    signature: 'MHD_FN_CONST_ *

      dtbl_get_strs_buffc (const struct mhd_HpackDTblContext *dyn)'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: dtbl_get_strs_buff
      Src: /src/mhd2/src/mhd2/h2/hpack/mhd_hpack_codec.c:548,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - dyn
    argTypes:
    - struct mhd_HpackDTblContext*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 549
      start: 543
    functionDepth: 1
    functionLinenumber: 543
    functionLinenumberEnd: 549
    functionName: dtbl_get_infos
    functionSourceFile: /src/mhd2/src/mhd2/h2/hpack/mhd_hpack_codec.c
    functionUses: 0
    functionsReached:
    - dtbl_get_strs_buff
    linkageType: ''
    returnType: MHD_FN_PURE_
    signature: 'MHD_FN_PURE_ *

      dtbl_get_infos (struct mhd_HpackDTblContext *dyn)'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: dtbl_get_strs_buffc
      Src: /src/mhd2/src/mhd2/h2/hpack/mhd_hpack_codec.c:564,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - dyn
    argTypes:
    - struct mhd_HpackDTblContext*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 565
      start: 559
    functionDepth: 1
    functionLinenumber: 559
    functionLinenumberEnd: 565
    functionName: dtbl_get_infosc
    functionSourceFile: /src/mhd2/src/mhd2/h2/hpack/mhd_hpack_codec.c
    functionUses: 0
    functionsReached:
    - dtbl_get_strs_buffc
    linkageType: ''
    returnType: struct mhd_HpackDTblEntryInfo
    signature: 'struct mhd_HpackDTblEntryInfo *

      dtbl_get_infosc (const struct mhd_HpackDTblContext *dyn)'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/h2/hpack/mhd_hpack_codec.c:586,1
    - Dst: dtbl_is_empty
      Src: /src/mhd2/src/mhd2/h2/hpack/mhd_hpack_codec.c:586,1
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/h2/hpack/mhd_hpack_codec.c:587,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - dyn
    argTypes:
    - struct mhd_HpackDTblContext*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 590
      start: 583
    functionDepth: 2
    functionLinenumber: 583
    functionLinenumberEnd: 590
    functionName: dtbl_get_pos_edge
    functionSourceFile: /src/mhd2/src/mhd2/h2/hpack/mhd_hpack_codec.c
    functionUses: 0
    functionsReached:
    - mhd_assert
    - dtbl_is_empty
    linkageType: ''
    returnType: MHD_FN_PURE_
    signature: MHD_FN_PURE_ dtbl_get_pos_edge (const struct mhd_HpackDTblContext *dyn)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/h2/hpack/mhd_hpack_codec.c:610,1
    - Dst: dtbl_is_empty
      Src: /src/mhd2/src/mhd2/h2/hpack/mhd_hpack_codec.c:610,1
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/h2/hpack/mhd_hpack_codec.c:611,1
    - Dst: dtbl_get_pos_edge
      Src: /src/mhd2/src/mhd2/h2/hpack/mhd_hpack_codec.c:611,1
    - Dst: dtbl_get_pos_edge
      Src: /src/mhd2/src/mhd2/h2/hpack/mhd_hpack_codec.c:614,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 2
    argNames:
    - dyn
    - loc_pos
    argTypes:
    - struct mhd_HpackDTblContext*
    - dtbl_idx_ft
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 619
      start: 606
    functionDepth: 3
    functionLinenumber: 606
    functionLinenumberEnd: 619
    functionName: dtbl_get_pos_prev
    functionSourceFile: /src/mhd2/src/mhd2/h2/hpack/mhd_hpack_codec.c
    functionUses: 0
    functionsReached:
    - dtbl_get_pos_edge
    - mhd_assert
    - dtbl_is_empty
    linkageType: ''
    returnType: MHD_FN_PURE_
    signature: "MHD_FN_PURE_ dtbl_get_pos_prev (const struct mhd_HpackDTblContext
      *dyn,\n                   dtbl_idx_ft loc_pos)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/h2/hpack/mhd_hpack_codec.c:639,1
    - Dst: dtbl_is_empty
      Src: /src/mhd2/src/mhd2/h2/hpack/mhd_hpack_codec.c:639,1
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/h2/hpack/mhd_hpack_codec.c:640,1
    - Dst: dtbl_get_pos_edge
      Src: /src/mhd2/src/mhd2/h2/hpack/mhd_hpack_codec.c:640,1
    - Dst: dtbl_get_pos_edge
      Src: /src/mhd2/src/mhd2/h2/hpack/mhd_hpack_codec.c:642,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 2
    argNames:
    - dyn
    - loc_pos
    argTypes:
    - struct mhd_HpackDTblContext*
    - dtbl_idx_ft
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 648
      start: 635
    functionDepth: 3
    functionLinenumber: 635
    functionLinenumberEnd: 648
    functionName: dtbl_get_pos_next
    functionSourceFile: /src/mhd2/src/mhd2/h2/hpack/mhd_hpack_codec.c
    functionUses: 0
    functionsReached:
    - dtbl_get_pos_edge
    - mhd_assert
    - dtbl_is_empty
    linkageType: ''
    returnType: MHD_FN_PURE_
    signature: "MHD_FN_PURE_ dtbl_get_pos_next (const struct mhd_HpackDTblContext
      *dyn,\n                   dtbl_idx_ft loc_pos)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/h2/hpack/mhd_hpack_codec.c:664,1
    - Dst: dtbl_is_empty
      Src: /src/mhd2/src/mhd2/h2/hpack/mhd_hpack_codec.c:664,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - dyn
    argTypes:
    - struct mhd_HpackDTblContext*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 666
      start: 661
    functionDepth: 2
    functionLinenumber: 661
    functionLinenumberEnd: 666
    functionName: dtbl_get_pos_newest
    functionSourceFile: /src/mhd2/src/mhd2/h2/hpack/mhd_hpack_codec.c
    functionUses: 0
    functionsReached:
    - mhd_assert
    - dtbl_is_empty
    linkageType: ''
    returnType: MHD_FN_PURE_
    signature: MHD_FN_PURE_ dtbl_get_pos_newest (const struct mhd_HpackDTblContext
      *dyn)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: dtbl_get_pos_next
      Src: /src/mhd2/src/mhd2/h2/hpack/mhd_hpack_codec.c:683,1
    - Dst: dtbl_get_pos_newest
      Src: /src/mhd2/src/mhd2/h2/hpack/mhd_hpack_codec.c:684,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - dyn
    argTypes:
    - struct mhd_HpackDTblContext*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 685
      start: 680
    functionDepth: 4
    functionLinenumber: 680
    functionLinenumberEnd: 685
    functionName: dtbl_get_pos_oldest
    functionSourceFile: /src/mhd2/src/mhd2/h2/hpack/mhd_hpack_codec.c
    functionUses: 0
    functionsReached:
    - dtbl_get_pos_next
    - dtbl_get_pos_newest
    linkageType: ''
    returnType: MHD_FN_PURE_
    signature: MHD_FN_PURE_ dtbl_get_pos_oldest (const struct mhd_HpackDTblContext
      *dyn)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/h2/hpack/mhd_hpack_codec.c:706,1
    - Dst: mhd_DTBL_VALUE_FITS
      Src: /src/mhd2/src/mhd2/h2/hpack/mhd_hpack_codec.c:706,1
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/h2/hpack/mhd_hpack_codec.c:707,1
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/h2/hpack/mhd_hpack_codec.c:708,1
    - Dst: dtbl_get_num_entries
      Src: /src/mhd2/src/mhd2/h2/hpack/mhd_hpack_codec.c:708,1
    - Dst: dtbl_get_pos_newest
      Src: /src/mhd2/src/mhd2/h2/hpack/mhd_hpack_codec.c:712,1
    - Dst: dtbl_get_pos_newest
      Src: /src/mhd2/src/mhd2/h2/hpack/mhd_hpack_codec.c:713,1
    - Dst: dtbl_get_num_entries
      Src: /src/mhd2/src/mhd2/h2/hpack/mhd_hpack_codec.c:714,1
    - Dst: dtbl_get_pos_newest
      Src: /src/mhd2/src/mhd2/h2/hpack/mhd_hpack_codec.c:714,1
    - Dst: dtbl_get_num_entries
      Src: /src/mhd2/src/mhd2/h2/hpack/mhd_hpack_codec.c:719,1
    - Dst: dtbl_get_pos_newest
      Src: /src/mhd2/src/mhd2/h2/hpack/mhd_hpack_codec.c:720,1
    - Dst: dtbl_get_num_entries
      Src: /src/mhd2/src/mhd2/h2/hpack/mhd_hpack_codec.c:721,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 2
    argNames:
    - dyn
    - hpack_idx
    argTypes:
    - struct mhd_HpackDTblContext*
    - dtbl_idx_ft
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 723
      start: 700
    functionDepth: 3
    functionLinenumber: 700
    functionLinenumberEnd: 723
    functionName: dtbl_get_pos_from_hpack_idx
    functionSourceFile: /src/mhd2/src/mhd2/h2/hpack/mhd_hpack_codec.c
    functionUses: 0
    functionsReached:
    - dtbl_get_num_entries
    - dtbl_get_pos_newest
    - mhd_assert
    - mhd_DTBL_VALUE_FITS
    linkageType: ''
    returnType: MHD_FN_PURE_
    signature: "MHD_FN_PURE_ dtbl_get_pos_from_hpack_idx (const struct mhd_HpackDTblContext
      *dyn,\n                             dtbl_idx_ft hpack_idx)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/h2/hpack/mhd_hpack_codec.c:743,1
    - Dst: mhd_DTBL_VALUE_FITS
      Src: /src/mhd2/src/mhd2/h2/hpack/mhd_hpack_codec.c:743,1
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/h2/hpack/mhd_hpack_codec.c:744,1
    - Dst: dtbl_get_pos_edge
      Src: /src/mhd2/src/mhd2/h2/hpack/mhd_hpack_codec.c:744,1
    - Dst: dtbl_get_pos_newest
      Src: /src/mhd2/src/mhd2/h2/hpack/mhd_hpack_codec.c:747,1
    - Dst: dtbl_get_pos_newest
      Src: /src/mhd2/src/mhd2/h2/hpack/mhd_hpack_codec.c:748,1
    - Dst: dtbl_get_num_entries
      Src: /src/mhd2/src/mhd2/h2/hpack/mhd_hpack_codec.c:750,1
    - Dst: dtbl_get_pos_newest
      Src: /src/mhd2/src/mhd2/h2/hpack/mhd_hpack_codec.c:750,1
    - Dst: dtbl_get_num_entries
      Src: /src/mhd2/src/mhd2/h2/hpack/mhd_hpack_codec.c:755,1
    - Dst: dtbl_get_pos_newest
      Src: /src/mhd2/src/mhd2/h2/hpack/mhd_hpack_codec.c:755,1
    - Dst: dtbl_get_num_entries
      Src: /src/mhd2/src/mhd2/h2/hpack/mhd_hpack_codec.c:756,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 2
    argNames:
    - dyn
    - loc_pos
    argTypes:
    - struct mhd_HpackDTblContext*
    - dtbl_idx_ft
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 758
      start: 739
    functionDepth: 3
    functionLinenumber: 739
    functionLinenumberEnd: 758
    functionName: dtbl_get_hpack_idx_from_pos
    functionSourceFile: /src/mhd2/src/mhd2/h2/hpack/mhd_hpack_codec.c
    functionUses: 0
    functionsReached:
    - dtbl_get_num_entries
    - dtbl_get_pos_edge
    - dtbl_get_pos_newest
    - mhd_assert
    - mhd_DTBL_VALUE_FITS
    linkageType: ''
    returnType: MHD_FN_PURE_
    signature: "MHD_FN_PURE_ dtbl_get_hpack_idx_from_pos (const struct mhd_HpackDTblContext
      *dyn,\n                             dtbl_idx_ft loc_pos)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/h2/hpack/mhd_hpack_codec.c:778,1
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/h2/hpack/mhd_hpack_codec.c:780,1
    - Dst: mhd_DTBL_VALUE_FITS
      Src: /src/mhd2/src/mhd2/h2/hpack/mhd_hpack_codec.c:780,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - dyn
    argTypes:
    - struct mhd_HpackDTblContext*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 783
      start: 771
    functionDepth: 1
    functionLinenumber: 771
    functionLinenumberEnd: 783
    functionName: dtbl_get_strs_ceiling
    functionSourceFile: /src/mhd2/src/mhd2/h2/hpack/mhd_hpack_codec.c
    functionUses: 0
    functionsReached:
    - mhd_assert
    - mhd_DTBL_VALUE_FITS
    linkageType: ''
    returnType: MHD_FN_PURE_
    signature: MHD_FN_PURE_ dtbl_get_strs_ceiling (const struct mhd_HpackDTblContext
      *dyn)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - dyn
    argTypes:
    - struct mhd_HpackDTblContext*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 795
      start: 791
    functionDepth: 0
    functionLinenumber: 791
    functionLinenumberEnd: 795
    functionName: dtbl_get_size_max_formal
    functionSourceFile: /src/mhd2/src/mhd2/h2/hpack/mhd_hpack_codec.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: MHD_FN_PURE_
    signature: MHD_FN_PURE_ dtbl_get_size_max_formal (const struct mhd_HpackDTblContext
      *dyn)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/h2/hpack/mhd_hpack_codec.c:806,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - dyn
    argTypes:
    - struct mhd_HpackDTblContext*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 808
      start: 803
    functionDepth: 1
    functionLinenumber: 803
    functionLinenumberEnd: 808
    functionName: dtbl_get_free_formal
    functionSourceFile: /src/mhd2/src/mhd2/h2/hpack/mhd_hpack_codec.c
    functionUses: 0
    functionsReached:
    - mhd_assert
    linkageType: ''
    returnType: MHD_FN_PURE_
    signature: MHD_FN_PURE_ dtbl_get_free_formal (const struct mhd_HpackDTblContext
      *dyn)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/h2/hpack/mhd_hpack_codec.c:819,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - dyn
    argTypes:
    - struct mhd_HpackDTblContext*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 821
      start: 816
    functionDepth: 1
    functionLinenumber: 816
    functionLinenumberEnd: 821
    functionName: dtbl_get_used_formal
    functionSourceFile: /src/mhd2/src/mhd2/h2/hpack/mhd_hpack_codec.c
    functionUses: 0
    functionsReached:
    - mhd_assert
    linkageType: ''
    returnType: MHD_FN_PURE_
    signature: MHD_FN_PURE_ dtbl_get_used_formal (const struct mhd_HpackDTblContext
      *dyn)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/h2/hpack/mhd_hpack_codec.c:840,1
    - Dst: mhd_DTBL_VALUE_FITS
      Src: /src/mhd2/src/mhd2/h2/hpack/mhd_hpack_codec.c:840,1
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/h2/hpack/mhd_hpack_codec.c:841,1
    - Dst: dtbl_is_empty
      Src: /src/mhd2/src/mhd2/h2/hpack/mhd_hpack_codec.c:841,1
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/h2/hpack/mhd_hpack_codec.c:842,1
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/h2/hpack/mhd_hpack_codec.c:843,1
    - Dst: dtbl_get_infos
      Src: /src/mhd2/src/mhd2/h2/hpack/mhd_hpack_codec.c:845,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 2
    argNames:
    - dyn
    - loc_pos
    argTypes:
    - struct mhd_HpackDTblContext*
    - dtbl_idx_ft
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 846
      start: 836
    functionDepth: 2
    functionLinenumber: 836
    functionLinenumberEnd: 846
    functionName: dtbl_pos_entry_info
    functionSourceFile: /src/mhd2/src/mhd2/h2/hpack/mhd_hpack_codec.c
    functionUses: 0
    functionsReached:
    - dtbl_get_infos
    - mhd_assert
    - dtbl_is_empty
    - mhd_DTBL_VALUE_FITS
    linkageType: ''
    returnType: MHD_FN_PURE_
    signature: "MHD_FN_PURE_ *\ndtbl_pos_entry_info (struct mhd_HpackDTblContext *dyn,\n
      \                    dtbl_idx_ft loc_pos)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/h2/hpack/mhd_hpack_codec.c:862,1
    - Dst: mhd_DTBL_VALUE_FITS
      Src: /src/mhd2/src/mhd2/h2/hpack/mhd_hpack_codec.c:862,1
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/h2/hpack/mhd_hpack_codec.c:863,1
    - Dst: dtbl_is_empty
      Src: /src/mhd2/src/mhd2/h2/hpack/mhd_hpack_codec.c:863,1
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/h2/hpack/mhd_hpack_codec.c:864,1
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/h2/hpack/mhd_hpack_codec.c:865,1
    - Dst: dtbl_get_infosc
      Src: /src/mhd2/src/mhd2/h2/hpack/mhd_hpack_codec.c:867,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 2
    argNames:
    - dyn
    - loc_pos
    argTypes:
    - struct mhd_HpackDTblContext*
    - dtbl_idx_ft
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 868
      start: 858
    functionDepth: 2
    functionLinenumber: 858
    functionLinenumberEnd: 868
    functionName: dtbl_pos_entry_infoc
    functionSourceFile: /src/mhd2/src/mhd2/h2/hpack/mhd_hpack_codec.c
    functionUses: 0
    functionsReached:
    - mhd_assert
    - dtbl_is_empty
    - mhd_DTBL_VALUE_FITS
    - dtbl_get_infosc
    linkageType: ''
    returnType: struct mhd_HpackDTblEntryInfo
    signature: "struct mhd_HpackDTblEntryInfo *\ndtbl_pos_entry_infoc (const struct
      mhd_HpackDTblContext *dyn,\n                      dtbl_idx_ft loc_pos)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: dtbl_pos_entry_info
      Src: /src/mhd2/src/mhd2/h2/hpack/mhd_hpack_codec.c:882,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - dyn
    argTypes:
    - struct mhd_HpackDTblContext*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 884
      start: 879
    functionDepth: 3
    functionLinenumber: 879
    functionLinenumberEnd: 884
    functionName: dtbl_zero_entry_info
    functionSourceFile: /src/mhd2/src/mhd2/h2/hpack/mhd_hpack_codec.c
    functionUses: 0
    functionsReached:
    - dtbl_pos_entry_info
    linkageType: ''
    returnType: MHD_FN_PURE_
    signature: 'MHD_FN_PURE_ *

      dtbl_zero_entry_info (struct mhd_HpackDTblContext *dyn)'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: dtbl_pos_entry_infoc
      Src: /src/mhd2/src/mhd2/h2/hpack/mhd_hpack_codec.c:898,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - dyn
    argTypes:
    - struct mhd_HpackDTblContext*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 900
      start: 895
    functionDepth: 3
    functionLinenumber: 895
    functionLinenumberEnd: 900
    functionName: dtbl_zero_entry_infoc
    functionSourceFile: /src/mhd2/src/mhd2/h2/hpack/mhd_hpack_codec.c
    functionUses: 0
    functionsReached:
    - dtbl_pos_entry_infoc
    linkageType: ''
    returnType: struct mhd_HpackDTblEntryInfo
    signature: 'struct mhd_HpackDTblEntryInfo *

      dtbl_zero_entry_infoc (const struct mhd_HpackDTblContext *dyn)'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: dtbl_pos_entry_info
      Src: /src/mhd2/src/mhd2/h2/hpack/mhd_hpack_codec.c:915,1
    - Dst: dtbl_get_pos_edge
      Src: /src/mhd2/src/mhd2/h2/hpack/mhd_hpack_codec.c:916,1
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/h2/hpack/mhd_hpack_codec.c:917,1
    - Dst: dtbl_get_strs_buffc
      Src: /src/mhd2/src/mhd2/h2/hpack/mhd_hpack_codec.c:918,1
    - Dst: dtbl_get_strs_ceiling
      Src: /src/mhd2/src/mhd2/h2/hpack/mhd_hpack_codec.c:919,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - dyn
    argTypes:
    - struct mhd_HpackDTblContext*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 921
      start: 911
    functionDepth: 3
    functionLinenumber: 911
    functionLinenumberEnd: 921
    functionName: dtbl_edge_entry_info
    functionSourceFile: /src/mhd2/src/mhd2/h2/hpack/mhd_hpack_codec.c
    functionUses: 0
    functionsReached:
    - dtbl_pos_entry_info
    - dtbl_get_strs_ceiling
    - dtbl_get_pos_edge
    - mhd_assert
    - dtbl_get_strs_buffc
    linkageType: ''
    returnType: MHD_FN_PURE_
    signature: 'MHD_FN_PURE_ *

      dtbl_edge_entry_info (struct mhd_HpackDTblContext *dyn)'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: dtbl_pos_entry_infoc
      Src: /src/mhd2/src/mhd2/h2/hpack/mhd_hpack_codec.c:936,1
    - Dst: dtbl_get_pos_edge
      Src: /src/mhd2/src/mhd2/h2/hpack/mhd_hpack_codec.c:937,1
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/h2/hpack/mhd_hpack_codec.c:938,1
    - Dst: dtbl_get_strs_buffc
      Src: /src/mhd2/src/mhd2/h2/hpack/mhd_hpack_codec.c:939,1
    - Dst: dtbl_get_strs_ceiling
      Src: /src/mhd2/src/mhd2/h2/hpack/mhd_hpack_codec.c:940,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - dyn
    argTypes:
    - struct mhd_HpackDTblContext*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 942
      start: 932
    functionDepth: 3
    functionLinenumber: 932
    functionLinenumberEnd: 942
    functionName: dtbl_edge_entry_infoc
    functionSourceFile: /src/mhd2/src/mhd2/h2/hpack/mhd_hpack_codec.c
    functionUses: 0
    functionsReached:
    - dtbl_get_strs_ceiling
    - dtbl_get_pos_edge
    - dtbl_pos_entry_infoc
    - mhd_assert
    - dtbl_get_strs_buffc
    linkageType: ''
    returnType: struct mhd_HpackDTblEntryInfo
    signature: 'struct mhd_HpackDTblEntryInfo *

      dtbl_edge_entry_infoc (const struct mhd_HpackDTblContext *dyn)'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: dtbl_pos_entry_info
      Src: /src/mhd2/src/mhd2/h2/hpack/mhd_hpack_codec.c:955,1
    - Dst: dtbl_get_pos_newest
      Src: /src/mhd2/src/mhd2/h2/hpack/mhd_hpack_codec.c:956,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - dyn
    argTypes:
    - struct mhd_HpackDTblContext*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 957
      start: 952
    functionDepth: 3
    functionLinenumber: 952
    functionLinenumberEnd: 957
    functionName: dtbl_newest_entry_info
    functionSourceFile: /src/mhd2/src/mhd2/h2/hpack/mhd_hpack_codec.c
    functionUses: 0
    functionsReached:
    - dtbl_pos_entry_info
    - dtbl_get_pos_newest
    linkageType: ''
    returnType: MHD_FN_PURE_
    signature: 'MHD_FN_PURE_ *

      dtbl_newest_entry_info (struct mhd_HpackDTblContext *dyn)'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: dtbl_pos_entry_infoc
      Src: /src/mhd2/src/mhd2/h2/hpack/mhd_hpack_codec.c:970,1
    - Dst: dtbl_get_pos_newest
      Src: /src/mhd2/src/mhd2/h2/hpack/mhd_hpack_codec.c:971,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - dyn
    argTypes:
    - struct mhd_HpackDTblContext*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 972
      start: 967
    functionDepth: 3
    functionLinenumber: 967
    functionLinenumberEnd: 972
    functionName: dtbl_newest_entry_infoc
    functionSourceFile: /src/mhd2/src/mhd2/h2/hpack/mhd_hpack_codec.c
    functionUses: 0
    functionsReached:
    - dtbl_get_pos_newest
    - dtbl_pos_entry_infoc
    linkageType: ''
    returnType: struct mhd_HpackDTblEntryInfo
    signature: 'struct mhd_HpackDTblEntryInfo *

      dtbl_newest_entry_infoc (const struct mhd_HpackDTblContext *dyn)'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: dtbl_pos_entry_info
      Src: /src/mhd2/src/mhd2/h2/hpack/mhd_hpack_codec.c:985,1
    - Dst: dtbl_get_pos_oldest
      Src: /src/mhd2/src/mhd2/h2/hpack/mhd_hpack_codec.c:986,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - dyn
    argTypes:
    - struct mhd_HpackDTblContext*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 987
      start: 982
    functionDepth: 5
    functionLinenumber: 982
    functionLinenumberEnd: 987
    functionName: dtbl_oldest_entry_info
    functionSourceFile: /src/mhd2/src/mhd2/h2/hpack/mhd_hpack_codec.c
    functionUses: 0
    functionsReached:
    - dtbl_get_pos_oldest
    - dtbl_pos_entry_info
    linkageType: ''
    returnType: MHD_FN_PURE_
    signature: 'MHD_FN_PURE_ *

      dtbl_oldest_entry_info (struct mhd_HpackDTblContext *dyn)'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: dtbl_pos_entry_infoc
      Src: /src/mhd2/src/mhd2/h2/hpack/mhd_hpack_codec.c:1000,1
    - Dst: dtbl_get_pos_oldest
      Src: /src/mhd2/src/mhd2/h2/hpack/mhd_hpack_codec.c:1001,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - dyn
    argTypes:
    - struct mhd_HpackDTblContext*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1002
      start: 997
    functionDepth: 5
    functionLinenumber: 997
    functionLinenumberEnd: 1002
    functionName: dtbl_oldest_entry_infoc
    functionSourceFile: /src/mhd2/src/mhd2/h2/hpack/mhd_hpack_codec.c
    functionUses: 0
    functionsReached:
    - dtbl_get_pos_oldest
    - dtbl_pos_entry_infoc
    linkageType: ''
    returnType: struct mhd_HpackDTblEntryInfo
    signature: 'struct mhd_HpackDTblEntryInfo *

      dtbl_oldest_entry_infoc (const struct mhd_HpackDTblContext *dyn)'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: dtbl_entr_strs_size_min
      Src: /src/mhd2/src/mhd2/h2/hpack/mhd_hpack_codec.c:1018,1
    - Dst: dtbl_pos_entry_infoc
      Src: /src/mhd2/src/mhd2/h2/hpack/mhd_hpack_codec.c:1018,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - dyn
    - loc_pos
    argTypes:
    - struct mhd_HpackDTblContext*
    - dtbl_idx_ft
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1020
      start: 1014
    functionDepth: 3
    functionLinenumber: 1014
    functionLinenumberEnd: 1020
    functionName: dtbl_pos_strs_size_min
    functionSourceFile: /src/mhd2/src/mhd2/h2/hpack/mhd_hpack_codec.c
    functionUses: 0
    functionsReached:
    - dtbl_entr_strs_size_min
    - dtbl_pos_entry_infoc
    linkageType: ''
    returnType: MHD_FN_PURE_
    signature: "MHD_FN_PURE_ dtbl_pos_strs_size_min (const struct mhd_HpackDTblContext
      *dyn,\n                        dtbl_idx_ft loc_pos)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: dtbl_entr_strs_size_optm
      Src: /src/mhd2/src/mhd2/h2/hpack/mhd_hpack_codec.c:1035,1
    - Dst: dtbl_pos_entry_infoc
      Src: /src/mhd2/src/mhd2/h2/hpack/mhd_hpack_codec.c:1035,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - dyn
    - loc_pos
    argTypes:
    - struct mhd_HpackDTblContext*
    - dtbl_idx_ft
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1037
      start: 1031
    functionDepth: 3
    functionLinenumber: 1031
    functionLinenumberEnd: 1037
    functionName: dtbl_pos_strs_size_optm
    functionSourceFile: /src/mhd2/src/mhd2/h2/hpack/mhd_hpack_codec.c
    functionUses: 0
    functionsReached:
    - dtbl_entr_strs_size_optm
    - dtbl_pos_entry_infoc
    linkageType: ''
    returnType: MHD_FN_PURE_
    signature: "MHD_FN_PURE_ dtbl_pos_strs_size_optm (const struct mhd_HpackDTblContext
      *dyn,\n                         dtbl_idx_ft loc_pos)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: dtbl_entr_size_formal
      Src: /src/mhd2/src/mhd2/h2/hpack/mhd_hpack_codec.c:1052,1
    - Dst: dtbl_pos_entry_infoc
      Src: /src/mhd2/src/mhd2/h2/hpack/mhd_hpack_codec.c:1052,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - dyn
    - loc_pos
    argTypes:
    - struct mhd_HpackDTblContext*
    - dtbl_idx_ft
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1054
      start: 1048
    functionDepth: 4
    functionLinenumber: 1048
    functionLinenumberEnd: 1054
    functionName: dtbl_pos_size_formal
    functionSourceFile: /src/mhd2/src/mhd2/h2/hpack/mhd_hpack_codec.c
    functionUses: 0
    functionsReached:
    - dtbl_pos_entry_infoc
    - dtbl_entr_size_formal
    linkageType: ''
    returnType: MHD_FN_PURE_
    signature: "MHD_FN_PURE_ dtbl_pos_size_formal (const struct mhd_HpackDTblContext
      *dyn,\n                      dtbl_idx_ft loc_pos)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: dtbl_entr_strs_start
      Src: /src/mhd2/src/mhd2/h2/hpack/mhd_hpack_codec.c:1072,1
    - Dst: dtbl_pos_entry_infoc
      Src: /src/mhd2/src/mhd2/h2/hpack/mhd_hpack_codec.c:1072,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - dyn
    - loc_pos
    argTypes:
    - struct mhd_HpackDTblContext*
    - dtbl_idx_ft
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1074
      start: 1068
    functionDepth: 3
    functionLinenumber: 1068
    functionLinenumberEnd: 1074
    functionName: dtbl_pos_strs_start
    functionSourceFile: /src/mhd2/src/mhd2/h2/hpack/mhd_hpack_codec.c
    functionUses: 0
    functionsReached:
    - dtbl_entr_strs_start
    - dtbl_pos_entry_infoc
    linkageType: ''
    returnType: MHD_FN_PURE_
    signature: "MHD_FN_PURE_ dtbl_pos_strs_start (const struct mhd_HpackDTblContext
      *dyn,\n                     dtbl_idx_ft loc_pos)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: dtbl_entr_strs_end_min
      Src: /src/mhd2/src/mhd2/h2/hpack/mhd_hpack_codec.c:1089,1
    - Dst: dtbl_pos_entry_infoc
      Src: /src/mhd2/src/mhd2/h2/hpack/mhd_hpack_codec.c:1089,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - dyn
    - loc_pos
    argTypes:
    - struct mhd_HpackDTblContext*
    - dtbl_idx_ft
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1091
      start: 1085
    functionDepth: 3
    functionLinenumber: 1085
    functionLinenumberEnd: 1091
    functionName: dtbl_pos_strs_end_min
    functionSourceFile: /src/mhd2/src/mhd2/h2/hpack/mhd_hpack_codec.c
    functionUses: 0
    functionsReached:
    - dtbl_entr_strs_end_min
    - dtbl_pos_entry_infoc
    linkageType: ''
    returnType: MHD_FN_PURE_
    signature: "MHD_FN_PURE_ dtbl_pos_strs_end_min (const struct mhd_HpackDTblContext
      *dyn,\n                       dtbl_idx_ft loc_pos)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: dtbl_entr_strs_end_optm
      Src: /src/mhd2/src/mhd2/h2/hpack/mhd_hpack_codec.c:1106,1
    - Dst: dtbl_pos_entry_infoc
      Src: /src/mhd2/src/mhd2/h2/hpack/mhd_hpack_codec.c:1106,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - dyn
    - loc_pos
    argTypes:
    - struct mhd_HpackDTblContext*
    - dtbl_idx_ft
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1108
      start: 1102
    functionDepth: 3
    functionLinenumber: 1102
    functionLinenumberEnd: 1108
    functionName: dtbl_pos_strs_end_optm
    functionSourceFile: /src/mhd2/src/mhd2/h2/hpack/mhd_hpack_codec.c
    functionUses: 0
    functionsReached:
    - dtbl_pos_entry_infoc
    - dtbl_entr_strs_end_optm
    linkageType: ''
    returnType: MHD_FN_PURE_
    signature: "MHD_FN_PURE_ dtbl_pos_strs_end_optm (const struct mhd_HpackDTblContext
      *dyn,\n                        dtbl_idx_ft loc_pos)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/h2/hpack/mhd_hpack_codec.c:1131,1
    - Dst: dtbl_zero_entry_infoc
      Src: /src/mhd2/src/mhd2/h2/hpack/mhd_hpack_codec.c:1131,1
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/h2/hpack/mhd_hpack_codec.c:1132,1
    - Dst: dtbl_edge_entry_infoc
      Src: /src/mhd2/src/mhd2/h2/hpack/mhd_hpack_codec.c:1132,1
    - Dst: dtbl_get_strs_buff
      Src: /src/mhd2/src/mhd2/h2/hpack/mhd_hpack_codec.c:1133,1
    - Dst: dtbl_entr_strs_start
      Src: /src/mhd2/src/mhd2/h2/hpack/mhd_hpack_codec.c:1133,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 2
    argNames:
    - dyn
    - entr_inf
    argTypes:
    - struct mhd_HpackDTblContext*
    - struct mhd_HpackDTblEntryInfo*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1134
      start: 1127
    functionDepth: 4
    functionLinenumber: 1127
    functionLinenumberEnd: 1134
    functionName: dtbl_entr_strs_ptr_start
    functionSourceFile: /src/mhd2/src/mhd2/h2/hpack/mhd_hpack_codec.c
    functionUses: 0
    functionsReached:
    - dtbl_entr_strs_start
    - dtbl_edge_entry_infoc
    - dtbl_get_strs_buff
    - dtbl_zero_entry_infoc
    - mhd_assert
    linkageType: ''
    returnType: MHD_FN_PURE_
    signature: "MHD_FN_PURE_ *\ndtbl_entr_strs_ptr_start (struct mhd_HpackDTblContext
      *dyn,\n                          const struct mhd_HpackDTblEntryInfo *entr_inf)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/h2/hpack/mhd_hpack_codec.c:1154,1
    - Dst: dtbl_zero_entry_infoc
      Src: /src/mhd2/src/mhd2/h2/hpack/mhd_hpack_codec.c:1154,1
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/h2/hpack/mhd_hpack_codec.c:1155,1
    - Dst: dtbl_edge_entry_infoc
      Src: /src/mhd2/src/mhd2/h2/hpack/mhd_hpack_codec.c:1155,1
    - Dst: dtbl_get_strs_buffc
      Src: /src/mhd2/src/mhd2/h2/hpack/mhd_hpack_codec.c:1156,1
    - Dst: dtbl_entr_strs_start
      Src: /src/mhd2/src/mhd2/h2/hpack/mhd_hpack_codec.c:1156,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 2
    argNames:
    - dyn
    - entr_inf
    argTypes:
    - struct mhd_HpackDTblContext*
    - struct mhd_HpackDTblEntryInfo*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1157
      start: 1150
    functionDepth: 4
    functionLinenumber: 1150
    functionLinenumberEnd: 1157
    functionName: dtbl_entr_strs_ptr_startc
    functionSourceFile: /src/mhd2/src/mhd2/h2/hpack/mhd_hpack_codec.c
    functionUses: 0
    functionsReached:
    - dtbl_entr_strs_start
    - dtbl_edge_entry_infoc
    - dtbl_zero_entry_infoc
    - mhd_assert
    - dtbl_get_strs_buffc
    linkageType: ''
    returnType: MHD_FN_PURE_
    signature: "MHD_FN_PURE_ *\ndtbl_entr_strs_ptr_startc (const struct mhd_HpackDTblContext
      *dyn,\n                           const struct mhd_HpackDTblEntryInfo *entr_inf)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/h2/hpack/mhd_hpack_codec.c:1174,1
    - Dst: dtbl_zero_entry_infoc
      Src: /src/mhd2/src/mhd2/h2/hpack/mhd_hpack_codec.c:1174,1
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/h2/hpack/mhd_hpack_codec.c:1175,1
    - Dst: dtbl_edge_entry_infoc
      Src: /src/mhd2/src/mhd2/h2/hpack/mhd_hpack_codec.c:1175,1
    - Dst: dtbl_get_strs_buff
      Src: /src/mhd2/src/mhd2/h2/hpack/mhd_hpack_codec.c:1176,1
    - Dst: dtbl_entr_strs_end_min
      Src: /src/mhd2/src/mhd2/h2/hpack/mhd_hpack_codec.c:1176,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 2
    argNames:
    - dyn
    - entr_inf
    argTypes:
    - struct mhd_HpackDTblContext*
    - struct mhd_HpackDTblEntryInfo*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1177
      start: 1170
    functionDepth: 4
    functionLinenumber: 1170
    functionLinenumberEnd: 1177
    functionName: dtbl_entr_strs_ptr_end
    functionSourceFile: /src/mhd2/src/mhd2/h2/hpack/mhd_hpack_codec.c
    functionUses: 0
    functionsReached:
    - dtbl_edge_entry_infoc
    - dtbl_entr_strs_end_min
    - dtbl_get_strs_buff
    - dtbl_zero_entry_infoc
    - mhd_assert
    linkageType: ''
    returnType: MHD_FN_PURE_
    signature: "MHD_FN_PURE_ *\ndtbl_entr_strs_ptr_end (struct mhd_HpackDTblContext
      *dyn,\n                        const struct mhd_HpackDTblEntryInfo *entr_inf)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/h2/hpack/mhd_hpack_codec.c:1194,1
    - Dst: dtbl_zero_entry_infoc
      Src: /src/mhd2/src/mhd2/h2/hpack/mhd_hpack_codec.c:1194,1
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/h2/hpack/mhd_hpack_codec.c:1195,1
    - Dst: dtbl_edge_entry_infoc
      Src: /src/mhd2/src/mhd2/h2/hpack/mhd_hpack_codec.c:1195,1
    - Dst: dtbl_get_strs_buffc
      Src: /src/mhd2/src/mhd2/h2/hpack/mhd_hpack_codec.c:1196,1
    - Dst: dtbl_entr_strs_end_min
      Src: /src/mhd2/src/mhd2/h2/hpack/mhd_hpack_codec.c:1196,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 2
    argNames:
    - dyn
    - entr_inf
    argTypes:
    - struct mhd_HpackDTblContext*
    - struct mhd_HpackDTblEntryInfo*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1197
      start: 1190
    functionDepth: 4
    functionLinenumber: 1190
    functionLinenumberEnd: 1197
    functionName: dtbl_entr_strs_ptr_endc
    functionSourceFile: /src/mhd2/src/mhd2/h2/hpack/mhd_hpack_codec.c
    functionUses: 0
    functionsReached:
    - dtbl_edge_entry_infoc
    - dtbl_entr_strs_end_min
    - dtbl_zero_entry_infoc
    - mhd_assert
    - dtbl_get_strs_buffc
    linkageType: ''
    returnType: MHD_FN_PURE_
    signature: "MHD_FN_PURE_ *\ndtbl_entr_strs_ptr_endc (const struct mhd_HpackDTblContext
      *dyn,\n                         const struct mhd_HpackDTblEntryInfo *entr_inf)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/h2/hpack/mhd_hpack_codec.c:1214,1
    - Dst: dtbl_zero_entry_infoc
      Src: /src/mhd2/src/mhd2/h2/hpack/mhd_hpack_codec.c:1214,1
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/h2/hpack/mhd_hpack_codec.c:1215,1
    - Dst: dtbl_edge_entry_infoc
      Src: /src/mhd2/src/mhd2/h2/hpack/mhd_hpack_codec.c:1215,1
    - Dst: dtbl_get_strs_buffc
      Src: /src/mhd2/src/mhd2/h2/hpack/mhd_hpack_codec.c:1216,1
    - Dst: dtbl_entr_strs_end_optm
      Src: /src/mhd2/src/mhd2/h2/hpack/mhd_hpack_codec.c:1216,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 2
    argNames:
    - dyn
    - entr_inf
    argTypes:
    - struct mhd_HpackDTblContext*
    - struct mhd_HpackDTblEntryInfo*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1217
      start: 1210
    functionDepth: 4
    functionLinenumber: 1210
    functionLinenumberEnd: 1217
    functionName: dtbl_entr_strs_ptr_end_slackc
    functionSourceFile: /src/mhd2/src/mhd2/h2/hpack/mhd_hpack_codec.c
    functionUses: 0
    functionsReached:
    - dtbl_edge_entry_infoc
    - dtbl_entr_strs_end_optm
    - dtbl_zero_entry_infoc
    - mhd_assert
    - dtbl_get_strs_buffc
    linkageType: ''
    returnType: MHD_FN_PURE_
    signature: "MHD_FN_PURE_ *\ndtbl_entr_strs_ptr_end_slackc (const struct mhd_HpackDTblContext
      *dyn,\n                               const struct mhd_HpackDTblEntryInfo *entr_inf)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: dtbl_entr_strs_ptr_startc
      Src: /src/mhd2/src/mhd2/h2/hpack/mhd_hpack_codec.c:1234,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - dyn
    - entr_inf
    argTypes:
    - struct mhd_HpackDTblContext*
    - struct mhd_HpackDTblEntryInfo*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1236
      start: 1230
    functionDepth: 5
    functionLinenumber: 1230
    functionLinenumberEnd: 1236
    functionName: dtbl_entr_strs_ptr_namec
    functionSourceFile: /src/mhd2/src/mhd2/h2/hpack/mhd_hpack_codec.c
    functionUses: 0
    functionsReached:
    - dtbl_entr_strs_ptr_startc
    linkageType: ''
    returnType: MHD_FN_PURE_
    signature: "MHD_FN_PURE_ *\ndtbl_entr_strs_ptr_namec (const struct mhd_HpackDTblContext
      *dyn,\n                          const struct mhd_HpackDTblEntryInfo *entr_inf)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: dtbl_entr_strs_ptr_startc
      Src: /src/mhd2/src/mhd2/h2/hpack/mhd_hpack_codec.c:1253,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - dyn
    - entr_inf
    argTypes:
    - struct mhd_HpackDTblContext*
    - struct mhd_HpackDTblEntryInfo*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1255
      start: 1249
    functionDepth: 5
    functionLinenumber: 1249
    functionLinenumberEnd: 1255
    functionName: dtbl_entr_strs_ptr_valuec
    functionSourceFile: /src/mhd2/src/mhd2/h2/hpack/mhd_hpack_codec.c
    functionUses: 0
    functionsReached:
    - dtbl_entr_strs_ptr_startc
    linkageType: ''
    returnType: MHD_FN_PURE_
    signature: "MHD_FN_PURE_ *\ndtbl_entr_strs_ptr_valuec (const struct mhd_HpackDTblContext
      *dyn,\n                           const struct mhd_HpackDTblEntryInfo *entr_inf)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: dtbl_entr_strs_ptr_endc
      Src: /src/mhd2/src/mhd2/h2/hpack/mhd_hpack_codec.c:1276,1
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/h2/hpack/mhd_hpack_codec.c:1279,1
    - Dst: dtbl_zero_entry_infoc
      Src: /src/mhd2/src/mhd2/h2/hpack/mhd_hpack_codec.c:1279,1
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/h2/hpack/mhd_hpack_codec.c:1280,1
    - Dst: dtbl_edge_entry_infoc
      Src: /src/mhd2/src/mhd2/h2/hpack/mhd_hpack_codec.c:1280,1
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/h2/hpack/mhd_hpack_codec.c:1281,1
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/h2/hpack/mhd_hpack_codec.c:1282,1
    - Dst: mhd_DTBL_VALUE_FITS
      Src: /src/mhd2/src/mhd2/h2/hpack/mhd_hpack_codec.c:1282,1
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/h2/hpack/mhd_hpack_codec.c:1283,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 2
    argNames:
    - dyn
    - entr_inf
    argTypes:
    - struct mhd_HpackDTblContext*
    - struct mhd_HpackDTblEntryInfo*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1286
      start: 1271
    functionDepth: 5
    functionLinenumber: 1271
    functionLinenumberEnd: 1286
    functionName: dtbl_entr_as_edge_get_gap
    functionSourceFile: /src/mhd2/src/mhd2/h2/hpack/mhd_hpack_codec.c
    functionUses: 0
    functionsReached:
    - dtbl_edge_entry_infoc
    - dtbl_entr_strs_ptr_endc
    - dtbl_zero_entry_infoc
    - mhd_assert
    - mhd_DTBL_VALUE_FITS
    linkageType: ''
    returnType: MHD_FN_PURE_
    signature: "MHD_FN_PURE_ dtbl_entr_as_edge_get_gap (const struct mhd_HpackDTblContext
      *dyn,\n                           const struct mhd_HpackDTblEntryInfo *entr_inf)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: dtbl_entr_strs_ptr_start
      Src: /src/mhd2/src/mhd2/h2/hpack/mhd_hpack_codec.c:1308,1
    - Dst: dtbl_pos_entry_info
      Src: /src/mhd2/src/mhd2/h2/hpack/mhd_hpack_codec.c:1309,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - dyn
    - loc_pos
    argTypes:
    - struct mhd_HpackDTblContext*
    - dtbl_idx_ft
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1311
      start: 1304
    functionDepth: 5
    functionLinenumber: 1304
    functionLinenumberEnd: 1311
    functionName: dtbl_pos_strs_ptr_start
    functionSourceFile: /src/mhd2/src/mhd2/h2/hpack/mhd_hpack_codec.c
    functionUses: 0
    functionsReached:
    - dtbl_pos_entry_info
    - dtbl_entr_strs_ptr_start
    linkageType: ''
    returnType: MHD_FN_PURE_
    signature: "MHD_FN_PURE_ *\ndtbl_pos_strs_ptr_start (struct mhd_HpackDTblContext
      *dyn,\n                         dtbl_idx_ft loc_pos)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: dtbl_entr_strs_ptr_startc
      Src: /src/mhd2/src/mhd2/h2/hpack/mhd_hpack_codec.c:1331,1
    - Dst: dtbl_pos_entry_infoc
      Src: /src/mhd2/src/mhd2/h2/hpack/mhd_hpack_codec.c:1332,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - dyn
    - loc_pos
    argTypes:
    - struct mhd_HpackDTblContext*
    - dtbl_idx_ft
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1334
      start: 1327
    functionDepth: 5
    functionLinenumber: 1327
    functionLinenumberEnd: 1334
    functionName: dtbl_pos_strs_ptr_startc
    functionSourceFile: /src/mhd2/src/mhd2/h2/hpack/mhd_hpack_codec.c
    functionUses: 0
    functionsReached:
    - dtbl_entr_strs_ptr_startc
    - dtbl_pos_entry_infoc
    linkageType: ''
    returnType: MHD_FN_PURE_
    signature: "MHD_FN_PURE_ *\ndtbl_pos_strs_ptr_startc (const struct mhd_HpackDTblContext
      *dyn,\n                          dtbl_idx_ft loc_pos)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: dtbl_entr_strs_ptr_end
      Src: /src/mhd2/src/mhd2/h2/hpack/mhd_hpack_codec.c:1351,1
    - Dst: dtbl_pos_entry_info
      Src: /src/mhd2/src/mhd2/h2/hpack/mhd_hpack_codec.c:1352,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - dyn
    - loc_pos
    argTypes:
    - struct mhd_HpackDTblContext*
    - dtbl_idx_ft
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1354
      start: 1347
    functionDepth: 5
    functionLinenumber: 1347
    functionLinenumberEnd: 1354
    functionName: dtbl_pos_strs_ptr_end
    functionSourceFile: /src/mhd2/src/mhd2/h2/hpack/mhd_hpack_codec.c
    functionUses: 0
    functionsReached:
    - dtbl_pos_entry_info
    - dtbl_entr_strs_ptr_end
    linkageType: ''
    returnType: MHD_FN_PURE_
    signature: "MHD_FN_PURE_ *\ndtbl_pos_strs_ptr_end (struct mhd_HpackDTblContext
      *dyn,\n                       dtbl_idx_ft loc_pos)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: dtbl_entr_strs_ptr_endc
      Src: /src/mhd2/src/mhd2/h2/hpack/mhd_hpack_codec.c:1371,1
    - Dst: dtbl_pos_entry_infoc
      Src: /src/mhd2/src/mhd2/h2/hpack/mhd_hpack_codec.c:1372,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - dyn
    - loc_pos
    argTypes:
    - struct mhd_HpackDTblContext*
    - dtbl_idx_ft
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1374
      start: 1367
    functionDepth: 5
    functionLinenumber: 1367
    functionLinenumberEnd: 1374
    functionName: dtbl_pos_strs_ptr_endc
    functionSourceFile: /src/mhd2/src/mhd2/h2/hpack/mhd_hpack_codec.c
    functionUses: 0
    functionsReached:
    - dtbl_entr_strs_ptr_endc
    - dtbl_pos_entry_infoc
    linkageType: ''
    returnType: MHD_FN_PURE_
    signature: "MHD_FN_PURE_ *\ndtbl_pos_strs_ptr_endc (const struct mhd_HpackDTblContext
      *dyn,\n                        dtbl_idx_ft loc_pos)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: dtbl_entr_strs_ptr_end_slackc
      Src: /src/mhd2/src/mhd2/h2/hpack/mhd_hpack_codec.c:1391,1
    - Dst: dtbl_pos_entry_infoc
      Src: /src/mhd2/src/mhd2/h2/hpack/mhd_hpack_codec.c:1392,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - dyn
    - loc_pos
    argTypes:
    - struct mhd_HpackDTblContext*
    - dtbl_idx_ft
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1394
      start: 1387
    functionDepth: 5
    functionLinenumber: 1387
    functionLinenumberEnd: 1394
    functionName: dtbl_pos_strs_ptr_end_slackc
    functionSourceFile: /src/mhd2/src/mhd2/h2/hpack/mhd_hpack_codec.c
    functionUses: 0
    functionsReached:
    - dtbl_entr_strs_ptr_end_slackc
    - dtbl_pos_entry_infoc
    linkageType: ''
    returnType: MHD_FN_PURE_
    signature: "MHD_FN_PURE_ *\ndtbl_pos_strs_ptr_end_slackc (const struct mhd_HpackDTblContext
      *dyn,\n                              dtbl_idx_ft loc_pos)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: dtbl_entr_as_edge_get_gap
      Src: /src/mhd2/src/mhd2/h2/hpack/mhd_hpack_codec.c:1414,1
    - Dst: dtbl_pos_entry_infoc
      Src: /src/mhd2/src/mhd2/h2/hpack/mhd_hpack_codec.c:1415,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - dyn
    - loc_pos
    argTypes:
    - struct mhd_HpackDTblContext*
    - dtbl_idx_ft
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1417
      start: 1410
    functionDepth: 6
    functionLinenumber: 1410
    functionLinenumberEnd: 1417
    functionName: dtbl_pos_as_edge_get_gap
    functionSourceFile: /src/mhd2/src/mhd2/h2/hpack/mhd_hpack_codec.c
    functionUses: 0
    functionsReached:
    - dtbl_entr_as_edge_get_gap
    - dtbl_pos_entry_infoc
    linkageType: ''
    returnType: MHD_FN_PURE_
    signature: "MHD_FN_PURE_ dtbl_pos_as_edge_get_gap (const struct mhd_HpackDTblContext
      *dyn,\n                          dtbl_idx_ft loc_pos)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: dtbl_edge_entry_info
      Src: /src/mhd2/src/mhd2/h2/hpack/mhd_hpack_codec.c:1436,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - dyn
    argTypes:
    - struct mhd_HpackDTblContext*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1437
      start: 1433
    functionDepth: 4
    functionLinenumber: 1433
    functionLinenumberEnd: 1437
    functionName: dtbl_get_infos_as_array
    functionSourceFile: /src/mhd2/src/mhd2/h2/hpack/mhd_hpack_codec.c
    functionUses: 0
    functionsReached:
    - dtbl_edge_entry_info
    linkageType: ''
    returnType: MHD_FN_PURE_
    signature: 'MHD_FN_PURE_ *

      dtbl_get_infos_as_array (struct mhd_HpackDTblContext *dyn)'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: dtbl_edge_entry_infoc
      Src: /src/mhd2/src/mhd2/h2/hpack/mhd_hpack_codec.c:1458,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - dyn
    argTypes:
    - struct mhd_HpackDTblContext*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1459
      start: 1455
    functionDepth: 4
    functionLinenumber: 1455
    functionLinenumberEnd: 1459
    functionName: dtbl_get_infos_as_arrayc
    functionSourceFile: /src/mhd2/src/mhd2/h2/hpack/mhd_hpack_codec.c
    functionUses: 0
    functionsReached:
    - dtbl_edge_entry_infoc
    linkageType: ''
    returnType: struct mhd_HpackDTblEntryInfo
    signature: 'struct mhd_HpackDTblEntryInfo *

      dtbl_get_infos_as_arrayc (const struct mhd_HpackDTblContext *dyn)'
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: dtbl_is_empty
      Src: /src/mhd2/src/mhd2/h2/hpack/mhd_hpack_codec.c:1481,1
    - Dst: dtbl_entr_as_edge_get_gap
      Src: /src/mhd2/src/mhd2/h2/hpack/mhd_hpack_codec.c:1484,1
    - Dst: dtbl_edge_entry_infoc
      Src: /src/mhd2/src/mhd2/h2/hpack/mhd_hpack_codec.c:1485,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - dyn
    argTypes:
    - struct mhd_HpackDTblContext*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1486
      start: 1478
    functionDepth: 6
    functionLinenumber: 1478
    functionLinenumberEnd: 1486
    functionName: dtbl_edge_gap
    functionSourceFile: /src/mhd2/src/mhd2/h2/hpack/mhd_hpack_codec.c
    functionUses: 0
    functionsReached:
    - dtbl_edge_entry_infoc
    - dtbl_is_empty
    - dtbl_entr_as_edge_get_gap
    linkageType: ''
    returnType: MHD_FN_PURE_
    signature: MHD_FN_PURE_ dtbl_edge_gap (const struct mhd_HpackDTblContext *dyn)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: dtbl_is_empty
      Src: /src/mhd2/src/mhd2/h2/hpack/mhd_hpack_codec.c:1502,1
    - Dst: dtbl_pos_strs_start
      Src: /src/mhd2/src/mhd2/h2/hpack/mhd_hpack_codec.c:1505,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - dyn
    argTypes:
    - struct mhd_HpackDTblContext*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1506
      start: 1499
    functionDepth: 4
    functionLinenumber: 1499
    functionLinenumberEnd: 1506
    functionName: dtbl_bottom_gap
    functionSourceFile: /src/mhd2/src/mhd2/h2/hpack/mhd_hpack_codec.c
    functionUses: 0
    functionsReached:
    - dtbl_is_empty
    - dtbl_pos_strs_start
    linkageType: ''
    returnType: MHD_FN_PURE_
    signature: MHD_FN_PURE_ dtbl_bottom_gap (const struct mhd_HpackDTblContext *dyn)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/h2/hpack/mhd_hpack_codec.c:1532,1
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/h2/hpack/mhd_hpack_codec.c:1533,1
    - Dst: mhd_DTBL_VALUE_FITS
      Src: /src/mhd2/src/mhd2/h2/hpack/mhd_hpack_codec.c:1533,1
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/h2/hpack/mhd_hpack_codec.c:1534,1
    - Dst: mhd_DTBL_VALUE_FITS
      Src: /src/mhd2/src/mhd2/h2/hpack/mhd_hpack_codec.c:1534,1
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/h2/hpack/mhd_hpack_codec.c:1535,1
    - Dst: mhd_DTBL_VALUE_FITS
      Src: /src/mhd2/src/mhd2/h2/hpack/mhd_hpack_codec.c:1535,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 3
    argNames:
    - space_start
    - size_of_space
    - entry_strs_size
    argTypes:
    - dtbl_size_ft
    - dtbl_size_ft
    - dtbl_size_ft
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1541
      start: 1525
    functionDepth: 1
    functionLinenumber: 1525
    functionLinenumberEnd: 1541
    functionName: dtbl_choose_strs_offset_for_size
    functionSourceFile: /src/mhd2/src/mhd2/h2/hpack/mhd_hpack_codec.c
    functionUses: 0
    functionsReached:
    - mhd_assert
    - mhd_DTBL_VALUE_FITS
    linkageType: ''
    returnType: MHD_FN_CONST_
    signature: "MHD_FN_CONST_ dtbl_choose_strs_offset_for_size (dtbl_size_ft space_start,\n
      \                                 dtbl_size_ft size_of_space,\n                                  dtbl_size_ft
      entry_strs_size)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - dyn
    argTypes:
    - struct mhd_HpackDTblContext*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1556
      start: 1550
    functionDepth: 0
    functionLinenumber: 1550
    functionLinenumberEnd: 1556
    functionName: dtbl_reset
    functionSourceFile: /src/mhd2/src/mhd2/h2/hpack/mhd_hpack_codec.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: mhd_static_inline
    signature: mhd_static_inline dtbl_reset (struct mhd_HpackDTblContext *dyn)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: dtbl_pos_strs_ptr_start
      Src: /src/mhd2/src/mhd2/h2/hpack/mhd_hpack_codec.c:1573,1
    - Dst: dtbl_pos_strs_ptr_endc
      Src: /src/mhd2/src/mhd2/h2/hpack/mhd_hpack_codec.c:1577,1
    - Dst: dtbl_get_pos_edge
      Src: /src/mhd2/src/mhd2/h2/hpack/mhd_hpack_codec.c:1578,1
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/h2/hpack/mhd_hpack_codec.c:1581,1
    - Dst: mhd_DTBL_VALUE_FITS
      Src: /src/mhd2/src/mhd2/h2/hpack/mhd_hpack_codec.c:1581,1
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/h2/hpack/mhd_hpack_codec.c:1582,1
    - Dst: mhd_DTBL_VALUE_FITS
      Src: /src/mhd2/src/mhd2/h2/hpack/mhd_hpack_codec.c:1582,1
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/h2/hpack/mhd_hpack_codec.c:1583,1
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/h2/hpack/mhd_hpack_codec.c:1584,1
    - Dst: dtbl_get_pos_edge
      Src: /src/mhd2/src/mhd2/h2/hpack/mhd_hpack_codec.c:1584,1
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/h2/hpack/mhd_hpack_codec.c:1585,1
    - Dst: dtbl_pos_strs_start
      Src: /src/mhd2/src/mhd2/h2/hpack/mhd_hpack_codec.c:1585,1
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/h2/hpack/mhd_hpack_codec.c:1586,1
    - Dst: dtbl_pos_strs_end_min
      Src: /src/mhd2/src/mhd2/h2/hpack/mhd_hpack_codec.c:1587,1
    - Dst: dtbl_pos_strs_start
      Src: /src/mhd2/src/mhd2/h2/hpack/mhd_hpack_codec.c:1588,1
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/h2/hpack/mhd_hpack_codec.c:1589,1
    - Dst: dtbl_bottom_gap
      Src: /src/mhd2/src/mhd2/h2/hpack/mhd_hpack_codec.c:1590,1
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/h2/hpack/mhd_hpack_codec.c:1591,1
    - Dst: dtbl_edge_gap
      Src: /src/mhd2/src/mhd2/h2/hpack/mhd_hpack_codec.c:1591,1
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/h2/hpack/mhd_hpack_codec.c:1592,1
    - Dst: memmove
      Src: /src/mhd2/src/mhd2/h2/hpack/mhd_hpack_codec.c:1600,1
    - Dst: memset
      Src: /src/mhd2/src/mhd2/h2/hpack/mhd_hpack_codec.c:1607,1
    - Dst: memset
      Src: /src/mhd2/src/mhd2/h2/hpack/mhd_hpack_codec.c:1611,1
    - Dst: dtbl_get_pos_edge
      Src: /src/mhd2/src/mhd2/h2/hpack/mhd_hpack_codec.c:1616,1
    - Dst: dtbl_pos_entry_info
      Src: /src/mhd2/src/mhd2/h2/hpack/mhd_hpack_codec.c:1617,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 16
    argCount: 3
    argNames:
    - dyn
    - from_pos
    - shift_down_size
    argTypes:
    - struct mhd_HpackDTblContext*
    - dtbl_idx_ft
    - dtbl_size_ft
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1619
      start: 1568
    functionDepth: 7
    functionLinenumber: 1568
    functionLinenumberEnd: 1619
    functionName: dtbl_move_strs_down
    functionSourceFile: /src/mhd2/src/mhd2/h2/hpack/mhd_hpack_codec.c
    functionUses: 0
    functionsReached:
    - dtbl_pos_entry_info
    - dtbl_pos_strs_end_min
    - memset
    - dtbl_get_pos_edge
    - dtbl_edge_gap
    - dtbl_pos_strs_start
    - memmove
    - dtbl_pos_strs_ptr_endc
    - dtbl_pos_strs_ptr_start
    - mhd_assert
    - mhd_DTBL_VALUE_FITS
    - dtbl_bottom_gap
    linkageType: ''
    returnType: void
    signature: "void dtbl_move_strs_down (struct mhd_HpackDTblContext *dyn,\n                     dtbl_idx_ft
      from_pos,\n                     dtbl_size_ft shift_down_size)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: dtbl_pos_strs_ptr_start
      Src: /src/mhd2/src/mhd2/h2/hpack/mhd_hpack_codec.c:1636,1
    - Dst: dtbl_pos_strs_ptr_endc
      Src: /src/mhd2/src/mhd2/h2/hpack/mhd_hpack_codec.c:1640,1
    - Dst: dtbl_get_pos_edge
      Src: /src/mhd2/src/mhd2/h2/hpack/mhd_hpack_codec.c:1641,1
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/h2/hpack/mhd_hpack_codec.c:1644,1
    - Dst: mhd_DTBL_VALUE_FITS
      Src: /src/mhd2/src/mhd2/h2/hpack/mhd_hpack_codec.c:1644,1
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/h2/hpack/mhd_hpack_codec.c:1645,1
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/h2/hpack/mhd_hpack_codec.c:1646,1
    - Dst: dtbl_get_pos_edge
      Src: /src/mhd2/src/mhd2/h2/hpack/mhd_hpack_codec.c:1646,1
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/h2/hpack/mhd_hpack_codec.c:1647,1
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/h2/hpack/mhd_hpack_codec.c:1648,1
    - Dst: dtbl_edge_gap
      Src: /src/mhd2/src/mhd2/h2/hpack/mhd_hpack_codec.c:1648,1
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/h2/hpack/mhd_hpack_codec.c:1649,1
    - Dst: dtbl_edge_gap
      Src: /src/mhd2/src/mhd2/h2/hpack/mhd_hpack_codec.c:1661,1
    - Dst: memset
      Src: /src/mhd2/src/mhd2/h2/hpack/mhd_hpack_codec.c:1664,1
    - Dst: memset
      Src: /src/mhd2/src/mhd2/h2/hpack/mhd_hpack_codec.c:1668,1
    - Dst: memmove
      Src: /src/mhd2/src/mhd2/h2/hpack/mhd_hpack_codec.c:1675,1
    - Dst: dtbl_get_pos_edge
      Src: /src/mhd2/src/mhd2/h2/hpack/mhd_hpack_codec.c:1679,1
    - Dst: dtbl_pos_entry_info
      Src: /src/mhd2/src/mhd2/h2/hpack/mhd_hpack_codec.c:1680,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 16
    argCount: 3
    argNames:
    - dyn
    - from_pos
    - shift_up_size
    argTypes:
    - struct mhd_HpackDTblContext*
    - dtbl_idx_ft
    - dtbl_size_ft
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1682
      start: 1631
    functionDepth: 7
    functionLinenumber: 1631
    functionLinenumberEnd: 1682
    functionName: dtbl_move_strs_up
    functionSourceFile: /src/mhd2/src/mhd2/h2/hpack/mhd_hpack_codec.c
    functionUses: 0
    functionsReached:
    - dtbl_pos_entry_info
    - memset
    - dtbl_get_pos_edge
    - dtbl_edge_gap
    - memmove
    - dtbl_pos_strs_ptr_endc
    - dtbl_pos_strs_ptr_start
    - mhd_assert
    - mhd_DTBL_VALUE_FITS
    linkageType: ''
    returnType: void
    signature: "void dtbl_move_strs_up (struct mhd_HpackDTblContext *dyn,\n                   dtbl_idx_ft
      from_pos,\n                   dtbl_size_ft shift_up_size)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: dtbl_get_pos_edge
      Src: /src/mhd2/src/mhd2/h2/hpack/mhd_hpack_codec.c:1701,1
    - Dst: dtbl_get_pos_newest
      Src: /src/mhd2/src/mhd2/h2/hpack/mhd_hpack_codec.c:1701,1
    - Dst: dtbl_pos_strs_end_optm
      Src: /src/mhd2/src/mhd2/h2/hpack/mhd_hpack_codec.c:1706,1
    - Dst: dtbl_get_pos_newest
      Src: /src/mhd2/src/mhd2/h2/hpack/mhd_hpack_codec.c:1707,1
    - Dst: dtbl_pos_strs_start
      Src: /src/mhd2/src/mhd2/h2/hpack/mhd_hpack_codec.c:1709,1
    - Dst: dtbl_get_pos_oldest
      Src: /src/mhd2/src/mhd2/h2/hpack/mhd_hpack_codec.c:1710,1
    - Dst: dtbl_move_strs_down
      Src: /src/mhd2/src/mhd2/h2/hpack/mhd_hpack_codec.c:1715,1
    - Dst: dtbl_get_pos_oldest
      Src: /src/mhd2/src/mhd2/h2/hpack/mhd_hpack_codec.c:1716,1
    - Dst: dtbl_pos_strs_start
      Src: /src/mhd2/src/mhd2/h2/hpack/mhd_hpack_codec.c:1723,1
    - Dst: dtbl_move_strs_down
      Src: /src/mhd2/src/mhd2/h2/hpack/mhd_hpack_codec.c:1728,1
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/h2/hpack/mhd_hpack_codec.c:1734,1
    - Dst: dtbl_edge_gap
      Src: /src/mhd2/src/mhd2/h2/hpack/mhd_hpack_codec.c:1734,1
    - Dst: dtbl_get_free_formal
      Src: /src/mhd2/src/mhd2/h2/hpack/mhd_hpack_codec.c:1734,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 10
    argCount: 1
    argNames:
    - dyn
    argTypes:
    - struct mhd_HpackDTblContext*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1735
      start: 1698
    functionDepth: 8
    functionLinenumber: 1698
    functionLinenumberEnd: 1735
    functionName: dtbl_compact_strs
    functionSourceFile: /src/mhd2/src/mhd2/h2/hpack/mhd_hpack_codec.c
    functionUses: 0
    functionsReached:
    - dtbl_pos_strs_end_optm
    - dtbl_get_free_formal
    - dtbl_move_strs_down
    - dtbl_get_pos_edge
    - dtbl_get_pos_newest
    - dtbl_edge_gap
    - dtbl_get_pos_oldest
    - mhd_assert
    - dtbl_pos_strs_start
    linkageType: ''
    returnType: void
    signature: void dtbl_compact_strs (struct mhd_HpackDTblContext *dyn)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/h2/hpack/mhd_hpack_codec.c:1762,1
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/h2/hpack/mhd_hpack_codec.c:1763,1
    - Dst: mhd_DTBL_VALUE_FITS
      Src: /src/mhd2/src/mhd2/h2/hpack/mhd_hpack_codec.c:1763,1
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/h2/hpack/mhd_hpack_codec.c:1764,1
    - Dst: mhd_DTBL_VALUE_FITS
      Src: /src/mhd2/src/mhd2/h2/hpack/mhd_hpack_codec.c:1764,1
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/h2/hpack/mhd_hpack_codec.c:1765,1
    - Dst: mhd_DTBL_VALUE_FITS
      Src: /src/mhd2/src/mhd2/h2/hpack/mhd_hpack_codec.c:1765,1
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/h2/hpack/mhd_hpack_codec.c:1766,1
    - Dst: dtbl_choose_strs_offset_for_size
      Src: /src/mhd2/src/mhd2/h2/hpack/mhd_hpack_codec.c:1768,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 3
    argNames:
    - space_start
    - space_end
    - entry_strs_size
    argTypes:
    - dtbl_size_ft
    - dtbl_size_ft
    - dtbl_size_ft
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1771
      start: 1755
    functionDepth: 2
    functionLinenumber: 1755
    functionLinenumberEnd: 1771
    functionName: dtbl_choose_strs_offset
    functionSourceFile: /src/mhd2/src/mhd2/h2/hpack/mhd_hpack_codec.c
    functionUses: 0
    functionsReached:
    - dtbl_choose_strs_offset_for_size
    - mhd_assert
    - mhd_DTBL_VALUE_FITS
    linkageType: ''
    returnType: MHD_FN_CONST_
    signature: "MHD_FN_CONST_ dtbl_choose_strs_offset (dtbl_size_ft space_start,\n
      \                        dtbl_size_ft space_end,\n                         dtbl_size_ft
      entry_strs_size)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/h2/hpack/mhd_hpack_codec.c:1790,1
    - Dst: mhd_DTBL_VALUE_FITS
      Src: /src/mhd2/src/mhd2/h2/hpack/mhd_hpack_codec.c:1790,1
    - Dst: memset
      Src: /src/mhd2/src/mhd2/h2/hpack/mhd_hpack_codec.c:1793,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 2
    argNames:
    - entr_strs_end_ptr
    - space_available
    argTypes:
    - char*
    - dtbl_size_ft
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1796
      start: 1783
    functionDepth: 1
    functionLinenumber: 1783
    functionLinenumberEnd: 1796
    functionName: dtbl_zeroout_strs_slack_ptr_space
    functionSourceFile: /src/mhd2/src/mhd2/h2/hpack/mhd_hpack_codec.c
    functionUses: 0
    functionsReached:
    - mhd_assert
    - mhd_DTBL_VALUE_FITS
    - memset
    linkageType: ''
    returnType: mhd_static_inline
    signature: "mhd_static_inline dtbl_zeroout_strs_slack_ptr_space (char *entr_strs_end_ptr,\n
      \                                  dtbl_size_ft space_available)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/h2/hpack/mhd_hpack_codec.c:1812,1
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/h2/hpack/mhd_hpack_codec.c:1813,1
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/h2/hpack/mhd_hpack_codec.c:1814,1
    - Dst: dtbl_zeroout_strs_slack_ptr_space
      Src: /src/mhd2/src/mhd2/h2/hpack/mhd_hpack_codec.c:1815,1
    - Dst: dtbl_get_strs_buff
      Src: /src/mhd2/src/mhd2/h2/hpack/mhd_hpack_codec.c:1815,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 3
    argNames:
    - dyn
    - entr_strs_end_offset
    - space_available
    argTypes:
    - struct mhd_HpackDTblContext*
    - dtbl_size_ft
    - dtbl_size_ft
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1818
      start: 1807
    functionDepth: 2
    functionLinenumber: 1807
    functionLinenumberEnd: 1818
    functionName: dtbl_zeroout_strs_slack_offset_space
    functionSourceFile: /src/mhd2/src/mhd2/h2/hpack/mhd_hpack_codec.c
    functionUses: 0
    functionsReached:
    - dtbl_get_strs_buff
    - mhd_assert
    - dtbl_zeroout_strs_slack_ptr_space
    linkageType: ''
    returnType: mhd_static_inline
    signature: "mhd_static_inline dtbl_zeroout_strs_slack_offset_space (struct mhd_HpackDTblContext
      *dyn,\n                                      dtbl_size_ft entr_strs_end_offset,\n
      \                                     dtbl_size_ft space_available)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/h2/hpack/mhd_hpack_codec.c:1836,1
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/h2/hpack/mhd_hpack_codec.c:1837,1
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/h2/hpack/mhd_hpack_codec.c:1838,1
    - Dst: dtbl_zeroout_strs_slack_offset_space
      Src: /src/mhd2/src/mhd2/h2/hpack/mhd_hpack_codec.c:1839,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 3
    argNames:
    - dyn
    - entr_strs_end_offset
    - next_data_offset
    argTypes:
    - struct mhd_HpackDTblContext*
    - dtbl_size_ft
    - dtbl_size_ft
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1843
      start: 1831
    functionDepth: 3
    functionLinenumber: 1831
    functionLinenumberEnd: 1843
    functionName: dtbl_zeroout_strs_slack_offset_next
    functionSourceFile: /src/mhd2/src/mhd2/h2/hpack/mhd_hpack_codec.c
    functionUses: 0
    functionsReached:
    - dtbl_zeroout_strs_slack_offset_space
    - mhd_assert
    linkageType: ''
    returnType: mhd_static_inline
    signature: "mhd_static_inline dtbl_zeroout_strs_slack_offset_next (struct mhd_HpackDTblContext
      *dyn,\n                                     dtbl_size_ft entr_strs_end_offset,\n
      \                                    dtbl_size_ft next_data_offset)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/h2/hpack/mhd_hpack_codec.c:1858,1
    - Dst: dtbl_zeroout_strs_slack_ptr_space
      Src: /src/mhd2/src/mhd2/h2/hpack/mhd_hpack_codec.c:1859,1
    - Dst: dtbl_entr_strs_ptr_end
      Src: /src/mhd2/src/mhd2/h2/hpack/mhd_hpack_codec.c:1859,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 3
    argNames:
    - dyn
    - entry
    - space_available
    argTypes:
    - struct mhd_HpackDTblContext*
    - struct mhd_HpackDTblEntryInfo*
    - dtbl_size_ft
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1861
      start: 1853
    functionDepth: 5
    functionLinenumber: 1853
    functionLinenumberEnd: 1861
    functionName: dtbl_zeroout_strs_slack_entry_space
    functionSourceFile: /src/mhd2/src/mhd2/h2/hpack/mhd_hpack_codec.c
    functionUses: 0
    functionsReached:
    - dtbl_entr_strs_ptr_end
    - mhd_assert
    - dtbl_zeroout_strs_slack_ptr_space
    linkageType: ''
    returnType: mhd_static_inline
    signature: "mhd_static_inline dtbl_zeroout_strs_slack_entry_space (struct mhd_HpackDTblContext
      *dyn,\n                                     const struct mhd_HpackDTblEntryInfo
      *entry,\n                                     dtbl_size_ft space_available)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/h2/hpack/mhd_hpack_codec.c:1877,1
    - Dst: dtbl_zeroout_strs_slack_offset_next
      Src: /src/mhd2/src/mhd2/h2/hpack/mhd_hpack_codec.c:1878,1
    - Dst: dtbl_entr_strs_end_min
      Src: /src/mhd2/src/mhd2/h2/hpack/mhd_hpack_codec.c:1879,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 3
    argNames:
    - dyn
    - entry
    - next_data_offset
    argTypes:
    - struct mhd_HpackDTblContext*
    - struct mhd_HpackDTblEntryInfo*
    - dtbl_size_ft
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1881
      start: 1872
    functionDepth: 4
    functionLinenumber: 1872
    functionLinenumberEnd: 1881
    functionName: dtbl_zeroout_strs_slack_entry_next
    functionSourceFile: /src/mhd2/src/mhd2/h2/hpack/mhd_hpack_codec.c
    functionUses: 0
    functionsReached:
    - dtbl_entr_strs_end_min
    - dtbl_zeroout_strs_slack_offset_next
    - mhd_assert
    linkageType: ''
    returnType: mhd_static_inline
    signature: "mhd_static_inline dtbl_zeroout_strs_slack_entry_next (struct mhd_HpackDTblContext
      *dyn,\n                                    const struct mhd_HpackDTblEntryInfo
      *entry,\n                                    dtbl_size_ft next_data_offset)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: dtbl_get_pos_edge
      Src: /src/mhd2/src/mhd2/h2/hpack/mhd_hpack_codec.c:1894,1
    - Dst: dtbl_zeroout_strs_slack_entry_space
      Src: /src/mhd2/src/mhd2/h2/hpack/mhd_hpack_codec.c:1895,1
    - Dst: dtbl_pos_entry_infoc
      Src: /src/mhd2/src/mhd2/h2/hpack/mhd_hpack_codec.c:1896,1
    - Dst: dtbl_edge_gap
      Src: /src/mhd2/src/mhd2/h2/hpack/mhd_hpack_codec.c:1898,1
    - Dst: dtbl_zeroout_strs_slack_offset_next
      Src: /src/mhd2/src/mhd2/h2/hpack/mhd_hpack_codec.c:1900,1
    - Dst: dtbl_pos_strs_end_min
      Src: /src/mhd2/src/mhd2/h2/hpack/mhd_hpack_codec.c:1901,1
    - Dst: dtbl_pos_strs_start
      Src: /src/mhd2/src/mhd2/h2/hpack/mhd_hpack_codec.c:1903,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 2
    argNames:
    - dyn
    - loc_pos
    argTypes:
    - struct mhd_HpackDTblContext*
    - dtbl_idx_ft
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1905
      start: 1890
    functionDepth: 7
    functionLinenumber: 1890
    functionLinenumberEnd: 1905
    functionName: dtbl_zeroout_strs_slack_pos
    functionSourceFile: /src/mhd2/src/mhd2/h2/hpack/mhd_hpack_codec.c
    functionUses: 0
    functionsReached:
    - dtbl_pos_strs_end_min
    - dtbl_get_pos_edge
    - dtbl_edge_gap
    - dtbl_pos_strs_start
    - dtbl_pos_entry_infoc
    - dtbl_zeroout_strs_slack_offset_next
    - dtbl_zeroout_strs_slack_entry_space
    linkageType: ''
    returnType: mhd_static_inline
    signature: "mhd_static_inline dtbl_zeroout_strs_slack_pos (struct mhd_HpackDTblContext
      *dyn,\n                             dtbl_idx_ft loc_pos)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - ptr
    - ','
    - space
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1914
      start: 1913
    functionDepth: 0
    functionLinenumber: 1913
    functionLinenumberEnd: 1914
    functionName: dtbl_zeroout_strs_slack_ptr_space
    functionSourceFile: /src/mhd2/src/mhd2/h2/hpack/mhd_hpack_codec.c
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: dtbl_zeroout_strs_slack_ptr_space(ptr, space)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - dyn
    - ','
    - offset
    - ','
    - space
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1920
      start: 1918
    functionDepth: 0
    functionLinenumber: 1918
    functionLinenumberEnd: 1920
    functionName: dtbl_zeroout_strs_slack_offset_space
    functionSourceFile: /src/mhd2/src/mhd2/h2/hpack/mhd_hpack_codec.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: dtbl_zeroout_strs_slack_offset_space(dyn, offset, space)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - dyn
    - ','
    - offset
    - ','
    - next_offset
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1926
      start: 1924
    functionDepth: 0
    functionLinenumber: 1924
    functionLinenumberEnd: 1926
    functionName: dtbl_zeroout_strs_slack_offset_next
    functionSourceFile: /src/mhd2/src/mhd2/h2/hpack/mhd_hpack_codec.c
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: dtbl_zeroout_strs_slack_offset_next(dyn, offset, next_offset)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - dyn
    - ','
    - entry
    - ','
    - space
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1932
      start: 1930
    functionDepth: 0
    functionLinenumber: 1930
    functionLinenumberEnd: 1932
    functionName: dtbl_zeroout_strs_slack_entry_space
    functionSourceFile: /src/mhd2/src/mhd2/h2/hpack/mhd_hpack_codec.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: dtbl_zeroout_strs_slack_entry_space(dyn, entry, space)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - dyn
    - ','
    - entry
    - ','
    - next_offset
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1938
      start: 1936
    functionDepth: 0
    functionLinenumber: 1936
    functionLinenumberEnd: 1938
    functionName: dtbl_zeroout_strs_slack_entry_next
    functionSourceFile: /src/mhd2/src/mhd2/h2/hpack/mhd_hpack_codec.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: dtbl_zeroout_strs_slack_entry_next(dyn, entry, next_offset)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - dyn
    - ','
    - loc_pos
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1943
      start: 1942
    functionDepth: 0
    functionLinenumber: 1942
    functionLinenumberEnd: 1943
    functionName: dtbl_zeroout_strs_slack_pos
    functionSourceFile: /src/mhd2/src/mhd2/h2/hpack/mhd_hpack_codec.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: dtbl_zeroout_strs_slack_pos(dyn, loc_pos)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: dtbl_get_strs_buff
      Src: /src/mhd2/src/mhd2/h2/hpack/mhd_hpack_codec.c:1976,1
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/h2/hpack/mhd_hpack_codec.c:1981,1
    - Dst: dtbl_is_empty
      Src: /src/mhd2/src/mhd2/h2/hpack/mhd_hpack_codec.c:1981,1
    - Dst: dtbl_zero_entry_infoc
      Src: /src/mhd2/src/mhd2/h2/hpack/mhd_hpack_codec.c:1982,1
    - Dst: dtbl_zero_entry_infoc
      Src: /src/mhd2/src/mhd2/h2/hpack/mhd_hpack_codec.c:1984,1
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/h2/hpack/mhd_hpack_codec.c:2000,1
    - Dst: dtbl_pos_strs_size_min
      Src: /src/mhd2/src/mhd2/h2/hpack/mhd_hpack_codec.c:2000,1
    - Dst: dtbl_pos_strs_end_min
      Src: /src/mhd2/src/mhd2/h2/hpack/mhd_hpack_codec.c:2001,1
    - Dst: dtbl_entr_strs_start
      Src: /src/mhd2/src/mhd2/h2/hpack/mhd_hpack_codec.c:2002,1
    - Dst: dtbl_entr_strs_end_min
      Src: /src/mhd2/src/mhd2/h2/hpack/mhd_hpack_codec.c:2003,1
    - Dst: dtbl_pos_strs_start
      Src: /src/mhd2/src/mhd2/h2/hpack/mhd_hpack_codec.c:2004,1
    - Dst: dtbl_entr_strs_end_min
      Src: /src/mhd2/src/mhd2/h2/hpack/mhd_hpack_codec.c:2006,1
    - Dst: dtbl_pos_strs_start
      Src: /src/mhd2/src/mhd2/h2/hpack/mhd_hpack_codec.c:2007,1
    - Dst: dtbl_pos_strs_start
      Src: /src/mhd2/src/mhd2/h2/hpack/mhd_hpack_codec.c:2009,1
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/h2/hpack/mhd_hpack_codec.c:2016,1
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/h2/hpack/mhd_hpack_codec.c:2017,1
    - Dst: dtbl_entr_strs_end_min
      Src: /src/mhd2/src/mhd2/h2/hpack/mhd_hpack_codec.c:2017,1
    - Dst: dtbl_get_strs_ceiling
      Src: /src/mhd2/src/mhd2/h2/hpack/mhd_hpack_codec.c:2018,1
    - Dst: dtbl_get_strs_ceiling
      Src: /src/mhd2/src/mhd2/h2/hpack/mhd_hpack_codec.c:2019,1
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/h2/hpack/mhd_hpack_codec.c:2021,1
    - Dst: dtbl_entr_strs_end_min
      Src: /src/mhd2/src/mhd2/h2/hpack/mhd_hpack_codec.c:2021,1
    - Dst: dtbl_zeroout_strs_slack_entry_next
      Src: /src/mhd2/src/mhd2/h2/hpack/mhd_hpack_codec.c:2022,1
    - Dst: memcpy
      Src: /src/mhd2/src/mhd2/h2/hpack/mhd_hpack_codec.c:2031,1
    - Dst: dtbl_entr_strs_start
      Src: /src/mhd2/src/mhd2/h2/hpack/mhd_hpack_codec.c:2031,1
    - Dst: memcpy
      Src: /src/mhd2/src/mhd2/h2/hpack/mhd_hpack_codec.c:2035,1
    - Dst: dtbl_entr_strs_start
      Src: /src/mhd2/src/mhd2/h2/hpack/mhd_hpack_codec.c:2035,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 22
    argCount: 4
    argNames:
    - dyn
    - name
    - val
    - new_entry
    argTypes:
    - struct mhd_HpackDTblContext*
    - char*
    - char*
    - struct mhd_HpackDTblEntryInfo*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2038
      start: 1969
    functionDepth: 5
    functionLinenumber: 1969
    functionLinenumberEnd: 2038
    functionName: dtbl_new_entry_copy_entr_strs
    functionSourceFile: /src/mhd2/src/mhd2/h2/hpack/mhd_hpack_codec.c
    functionUses: 0
    functionsReached:
    - dtbl_pos_strs_end_min
    - dtbl_entr_strs_start
    - dtbl_zeroout_strs_slack_entry_next
    - dtbl_get_strs_ceiling
    - dtbl_pos_strs_size_min
    - memcpy
    - dtbl_entr_strs_end_min
    - dtbl_get_strs_buff
    - dtbl_zero_entry_infoc
    - mhd_assert
    - dtbl_is_empty
    - dtbl_pos_strs_start
    linkageType: ''
    returnType: void
    signature: "void dtbl_new_entry_copy_entr_strs (\n  struct mhd_HpackDTblContext
      *restrict dyn,\n  const char *restrict name,\n  const char *restrict val,\n
      \ const struct mhd_HpackDTblEntryInfo *restrict new_entry)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/h2/hpack/mhd_hpack_codec.c:2057,1
    - Dst: dtbl_edge_gap
      Src: /src/mhd2/src/mhd2/h2/hpack/mhd_hpack_codec.c:2057,1
    - Dst: dtbl_get_infos
      Src: /src/mhd2/src/mhd2/h2/hpack/mhd_hpack_codec.c:2060,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - dyn
    argTypes:
    - struct mhd_HpackDTblContext*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2061
      start: 2054
    functionDepth: 7
    functionLinenumber: 2054
    functionLinenumberEnd: 2061
    functionName: dtbl_new_edge_peek_slot
    functionSourceFile: /src/mhd2/src/mhd2/h2/hpack/mhd_hpack_codec.c
    functionUses: 0
    functionsReached:
    - dtbl_edge_gap
    - mhd_assert
    - dtbl_get_infos
    linkageType: ''
    returnType: MHD_FN_PURE_
    signature: 'MHD_FN_PURE_ *

      dtbl_new_edge_peek_slot (struct mhd_HpackDTblContext *dyn)'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/h2/hpack/mhd_hpack_codec.c:2099,1
    - Dst: dtbl_get_pos_edge
      Src: /src/mhd2/src/mhd2/h2/hpack/mhd_hpack_codec.c:2099,1
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/h2/hpack/mhd_hpack_codec.c:2100,1
    - Dst: dtbl_edge_gap
      Src: /src/mhd2/src/mhd2/h2/hpack/mhd_hpack_codec.c:2100,1
    - Dst: memmove
      Src: /src/mhd2/src/mhd2/h2/hpack/mhd_hpack_codec.c:2101,1
    - Dst: dtbl_new_edge_peek_slot
      Src: /src/mhd2/src/mhd2/h2/hpack/mhd_hpack_codec.c:2101,1
    - Dst: dtbl_edge_entry_infoc
      Src: /src/mhd2/src/mhd2/h2/hpack/mhd_hpack_codec.c:2102,1
    - Dst: dtbl_get_pos_edge
      Src: /src/mhd2/src/mhd2/h2/hpack/mhd_hpack_codec.c:2104,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 2
    argNames:
    - dyn
    - insert_pos_loc
    argTypes:
    - struct mhd_HpackDTblContext*
    - dtbl_idx_ft
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2106
      start: 2095
    functionDepth: 8
    functionLinenumber: 2095
    functionLinenumberEnd: 2106
    functionName: dtbl_move_infos_up
    functionSourceFile: /src/mhd2/src/mhd2/h2/hpack/mhd_hpack_codec.c
    functionUses: 0
    functionsReached:
    - dtbl_new_edge_peek_slot
    - dtbl_edge_entry_infoc
    - dtbl_get_pos_edge
    - dtbl_edge_gap
    - memmove
    - mhd_assert
    linkageType: ''
    returnType: mhd_static_inline
    signature: "mhd_static_inline dtbl_move_infos_up (struct mhd_HpackDTblContext
      *dyn,\n                    const dtbl_idx_ft insert_pos_loc)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: dtbl_get_infos
      Src: /src/mhd2/src/mhd2/h2/hpack/mhd_hpack_codec.c:2151,1
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/h2/hpack/mhd_hpack_codec.c:2155,1
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/h2/hpack/mhd_hpack_codec.c:2157,1
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/h2/hpack/mhd_hpack_codec.c:2159,1
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/h2/hpack/mhd_hpack_codec.c:2161,1
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/h2/hpack/mhd_hpack_codec.c:2163,1
    - Dst: memmove
      Src: /src/mhd2/src/mhd2/h2/hpack/mhd_hpack_codec.c:2168,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 9
    argCount: 4
    argNames:
    - dyn
    - range_first_loc
    - range_last_loc
    - final_first_loc
    argTypes:
    - struct mhd_HpackDTblContext*
    - dtbl_idx_ft
    - dtbl_idx_ft
    - dtbl_idx_ft
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2171
      start: 2139
    functionDepth: 2
    functionLinenumber: 2139
    functionLinenumberEnd: 2171
    functionName: dtbl_move_infos_pos
    functionSourceFile: /src/mhd2/src/mhd2/h2/hpack/mhd_hpack_codec.c
    functionUses: 0
    functionsReached:
    - memmove
    - mhd_assert
    - dtbl_get_infos
    linkageType: ''
    returnType: mhd_static_inline
    signature: "mhd_static_inline dtbl_move_infos_pos (struct mhd_HpackDTblContext
      *dyn,\n                     const dtbl_idx_ft range_first_loc,\n                     const
      dtbl_idx_ft range_last_loc,\n                     const dtbl_idx_ft final_first_loc)"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/h2/hpack/mhd_hpack_codec.c:2184,1
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/h2/hpack/mhd_hpack_codec.c:2185,1
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/h2/hpack/mhd_hpack_codec.c:2186,1
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/h2/hpack/mhd_hpack_codec.c:2187,1
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/h2/hpack/mhd_hpack_codec.c:2189,1
    - Dst: dtbl_is_empty
      Src: /src/mhd2/src/mhd2/h2/hpack/mhd_hpack_codec.c:2190,1
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/h2/hpack/mhd_hpack_codec.c:2192,1
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/h2/hpack/mhd_hpack_codec.c:2193,1
    - Dst: dtbl_zero_entry_infoc
      Src: /src/mhd2/src/mhd2/h2/hpack/mhd_hpack_codec.c:2198,1
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/h2/hpack/mhd_hpack_codec.c:2202,1
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/h2/hpack/mhd_hpack_codec.c:2203,1
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/h2/hpack/mhd_hpack_codec.c:2205,1
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/h2/hpack/mhd_hpack_codec.c:2207,1
    - Dst: dtbl_edge_gap
      Src: /src/mhd2/src/mhd2/h2/hpack/mhd_hpack_codec.c:2207,1
    - Dst: dtbl_get_pos_oldest
      Src: /src/mhd2/src/mhd2/h2/hpack/mhd_hpack_codec.c:2212,1
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/h2/hpack/mhd_hpack_codec.c:2214,1
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/h2/hpack/mhd_hpack_codec.c:2218,1
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/h2/hpack/mhd_hpack_codec.c:2219,1
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/h2/hpack/mhd_hpack_codec.c:2220,1
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/h2/hpack/mhd_hpack_codec.c:2221,1
    - Dst: dtbl_entr_strs_end_min
      Src: /src/mhd2/src/mhd2/h2/hpack/mhd_hpack_codec.c:2221,1
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/h2/hpack/mhd_hpack_codec.c:2222,1
    - Dst: dtbl_entr_strs_ptr_endc
      Src: /src/mhd2/src/mhd2/h2/hpack/mhd_hpack_codec.c:2222,1
    - Dst: dtbl_edge_entry_infoc
      Src: /src/mhd2/src/mhd2/h2/hpack/mhd_hpack_codec.c:2223,1
    - Dst: dtbl_entr_size_formal
      Src: /src/mhd2/src/mhd2/h2/hpack/mhd_hpack_codec.c:2224,1
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/h2/hpack/mhd_hpack_codec.c:2225,1
    - Dst: dtbl_get_pos_edge
      Src: /src/mhd2/src/mhd2/h2/hpack/mhd_hpack_codec.c:2227,1
    - Dst: dtbl_pos_entry_infoc
      Src: /src/mhd2/src/mhd2/h2/hpack/mhd_hpack_codec.c:2230,1
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/h2/hpack/mhd_hpack_codec.c:2233,1
    - Dst: dtbl_pos_strs_end_min
      Src: /src/mhd2/src/mhd2/h2/hpack/mhd_hpack_codec.c:2233,1
    - Dst: dtbl_pos_strs_start
      Src: /src/mhd2/src/mhd2/h2/hpack/mhd_hpack_codec.c:2234,1
    - Dst: dtbl_get_pos_oldest
      Src: /src/mhd2/src/mhd2/h2/hpack/mhd_hpack_codec.c:2237,1
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/h2/hpack/mhd_hpack_codec.c:2238,1
    - Dst: dtbl_pos_strs_end_optm
      Src: /src/mhd2/src/mhd2/h2/hpack/mhd_hpack_codec.c:2238,1
    - Dst: dtbl_pos_strs_start
      Src: /src/mhd2/src/mhd2/h2/hpack/mhd_hpack_codec.c:2239,1
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/h2/hpack/mhd_hpack_codec.c:2243,1
    - Dst: dtbl_pos_strs_start
      Src: /src/mhd2/src/mhd2/h2/hpack/mhd_hpack_codec.c:2243,1
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/h2/hpack/mhd_hpack_codec.c:2244,1
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/h2/hpack/mhd_hpack_codec.c:2245,1
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/h2/hpack/mhd_hpack_codec.c:2246,1
    - Dst: dtbl_entr_strs_end_min
      Src: /src/mhd2/src/mhd2/h2/hpack/mhd_hpack_codec.c:2246,1
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/h2/hpack/mhd_hpack_codec.c:2247,1
    - Dst: dtbl_entr_strs_ptr_endc
      Src: /src/mhd2/src/mhd2/h2/hpack/mhd_hpack_codec.c:2247,1
    - Dst: dtbl_edge_entry_infoc
      Src: /src/mhd2/src/mhd2/h2/hpack/mhd_hpack_codec.c:2248,1
    - Dst: dtbl_get_pos_edge
      Src: /src/mhd2/src/mhd2/h2/hpack/mhd_hpack_codec.c:2249,1
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/h2/hpack/mhd_hpack_codec.c:2250,1
    - Dst: dtbl_pos_as_edge_get_gap
      Src: /src/mhd2/src/mhd2/h2/hpack/mhd_hpack_codec.c:2250,1
    - Dst: dtbl_entr_size_formal
      Src: /src/mhd2/src/mhd2/h2/hpack/mhd_hpack_codec.c:2252,1
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/h2/hpack/mhd_hpack_codec.c:2253,1
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/h2/hpack/mhd_hpack_codec.c:2256,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 40
    argCount: 1
    argNames:
    - dyn
    argTypes:
    - struct mhd_HpackDTblContext*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2258
      start: 2181
    functionDepth: 7
    functionLinenumber: 2181
    functionLinenumberEnd: 2258
    functionName: dtbl_check_internals
    functionSourceFile: /src/mhd2/src/mhd2/h2/hpack/mhd_hpack_codec.c
    functionUses: 0
    functionsReached:
    - dtbl_pos_strs_end_optm
    - dtbl_pos_strs_end_min
    - dtbl_edge_entry_infoc
    - dtbl_entr_strs_end_min
    - dtbl_entr_strs_ptr_endc
    - dtbl_entr_size_formal
    - dtbl_pos_as_edge_get_gap
    - dtbl_get_pos_edge
    - dtbl_zero_entry_infoc
    - dtbl_edge_gap
    - dtbl_pos_entry_infoc
    - dtbl_get_pos_oldest
    - mhd_assert
    - dtbl_is_empty
    - dtbl_pos_strs_start
    linkageType: ''
    returnType: void
    signature: void dtbl_check_internals (const struct mhd_HpackDTblContext *dyn)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - dyn
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2264
      start: 2263
    functionDepth: 0
    functionLinenumber: 2263
    functionLinenumberEnd: 2264
    functionName: dtbl_check_internals
    functionSourceFile: /src/mhd2/src/mhd2/h2/hpack/mhd_hpack_codec.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: dtbl_check_internals(dyn)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/h2/hpack/mhd_hpack_codec.c:2289,1
    - Dst: mhd_DTBL_VALUE_FITS
      Src: /src/mhd2/src/mhd2/h2/hpack/mhd_hpack_codec.c:2289,1
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/h2/hpack/mhd_hpack_codec.c:2290,1
    - Dst: mhd_DTBL_VALUE_FITS
      Src: /src/mhd2/src/mhd2/h2/hpack/mhd_hpack_codec.c:2290,1
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/h2/hpack/mhd_hpack_codec.c:2291,1
    - Dst: mhd_DTBL_VALUE_FITS
      Src: /src/mhd2/src/mhd2/h2/hpack/mhd_hpack_codec.c:2291,1
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/h2/hpack/mhd_hpack_codec.c:2292,1
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/h2/hpack/mhd_hpack_codec.c:2293,1
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/h2/hpack/mhd_hpack_codec.c:2296,1
    - Dst: dtbl_is_empty
      Src: /src/mhd2/src/mhd2/h2/hpack/mhd_hpack_codec.c:2296,1
    - Dst: dtbl_check_internals
      Src: /src/mhd2/src/mhd2/h2/hpack/mhd_hpack_codec.c:2298,1
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/h2/hpack/mhd_hpack_codec.c:2304,1
    - Dst: dtbl_get_free_formal
      Src: /src/mhd2/src/mhd2/h2/hpack/mhd_hpack_codec.c:2304,1
    - Dst: dtbl_entr_size_formal
      Src: /src/mhd2/src/mhd2/h2/hpack/mhd_hpack_codec.c:2305,1
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/h2/hpack/mhd_hpack_codec.c:2306,1
    - Dst: dtbl_edge_gap
      Src: /src/mhd2/src/mhd2/h2/hpack/mhd_hpack_codec.c:2306,1
    - Dst: dtbl_get_strs_ceiling
      Src: /src/mhd2/src/mhd2/h2/hpack/mhd_hpack_codec.c:2306,1
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/h2/hpack/mhd_hpack_codec.c:2307,1
    - Dst: dtbl_get_strs_ceiling
      Src: /src/mhd2/src/mhd2/h2/hpack/mhd_hpack_codec.c:2307,1
    - Dst: dtbl_entr_strs_size_min
      Src: /src/mhd2/src/mhd2/h2/hpack/mhd_hpack_codec.c:2308,1
    - Dst: dtbl_new_entry_copy_entr_strs
      Src: /src/mhd2/src/mhd2/h2/hpack/mhd_hpack_codec.c:2311,1
    - Dst: dtbl_new_edge_peek_slot
      Src: /src/mhd2/src/mhd2/h2/hpack/mhd_hpack_codec.c:2316,1
    - Dst: dtbl_entr_size_formal
      Src: /src/mhd2/src/mhd2/h2/hpack/mhd_hpack_codec.c:2318,1
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/h2/hpack/mhd_hpack_codec.c:2319,1
    - Dst: dtbl_get_pos_newest
      Src: /src/mhd2/src/mhd2/h2/hpack/mhd_hpack_codec.c:2319,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 19
    argCount: 5
    argNames:
    - dyn
    - name_len
    - name
    - val_len
    - val
    argTypes:
    - struct mhd_HpackDTblContext*
    - dtbl_size_ft
    - char*
    - dtbl_size_ft
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2320
      start: 2278
    functionDepth: 8
    functionLinenumber: 2278
    functionLinenumberEnd: 2320
    functionName: "(3, 2) MHD_FN_PAR_IN_SIZE_ (5, 4) void\ndtbl_add_first_entry (struct
      mhd_HpackDTblContext *restrict dyn,\n                      const dtbl_size_ft
      name_len,\n                      const char *restrict name,\n                      const
      dtbl_size_ft val_len,\n                      const char *restrict val)"
    functionSourceFile: /src/mhd2/src/mhd2/h2/hpack/mhd_hpack_codec.c
    functionUses: 0
    functionsReached:
    - dtbl_get_free_formal
    - dtbl_new_edge_peek_slot
    - dtbl_get_strs_ceiling
    - dtbl_check_internals
    - dtbl_entr_size_formal
    - dtbl_new_entry_copy_entr_strs
    - dtbl_edge_gap
    - dtbl_get_pos_newest
    - dtbl_entr_strs_size_min
    - mhd_assert
    - dtbl_is_empty
    - mhd_DTBL_VALUE_FITS
    linkageType: ''
    returnType: MHD_FN_PAR_IN_SIZE_
    signature: "MHD_FN_PAR_IN_SIZE_ (3, 2) MHD_FN_PAR_IN_SIZE_ (5, 4) void\ndtbl_add_first_entry
      (struct mhd_HpackDTblContext *restrict dyn,\n                      const dtbl_size_ft
      name_len,\n                      const char *restrict name,\n                      const
      dtbl_size_ft val_len,\n                      const char *restrict val)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/h2/hpack/mhd_hpack_codec.c:2354,1
    - Dst: mhd_DTBL_VALUE_FITS
      Src: /src/mhd2/src/mhd2/h2/hpack/mhd_hpack_codec.c:2354,1
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/h2/hpack/mhd_hpack_codec.c:2355,1
    - Dst: mhd_DTBL_VALUE_FITS
      Src: /src/mhd2/src/mhd2/h2/hpack/mhd_hpack_codec.c:2355,1
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/h2/hpack/mhd_hpack_codec.c:2356,1
    - Dst: mhd_DTBL_VALUE_FITS
      Src: /src/mhd2/src/mhd2/h2/hpack/mhd_hpack_codec.c:2356,1
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/h2/hpack/mhd_hpack_codec.c:2357,1
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/h2/hpack/mhd_hpack_codec.c:2358,1
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/h2/hpack/mhd_hpack_codec.c:2359,1
    - Dst: dtbl_get_free_formal
      Src: /src/mhd2/src/mhd2/h2/hpack/mhd_hpack_codec.c:2359,1
    - Dst: dtbl_new_entry_size_formal
      Src: /src/mhd2/src/mhd2/h2/hpack/mhd_hpack_codec.c:2360,1
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/h2/hpack/mhd_hpack_codec.c:2363,1
    - Dst: dtbl_is_empty
      Src: /src/mhd2/src/mhd2/h2/hpack/mhd_hpack_codec.c:2363,1
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/h2/hpack/mhd_hpack_codec.c:2364,1
    - Dst: dtbl_get_pos_edge
      Src: /src/mhd2/src/mhd2/h2/hpack/mhd_hpack_codec.c:2364,1
    - Dst: dtbl_get_pos_newest
      Src: /src/mhd2/src/mhd2/h2/hpack/mhd_hpack_codec.c:2364,1
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/h2/hpack/mhd_hpack_codec.c:2365,1
    - Dst: dtbl_edge_gap
      Src: /src/mhd2/src/mhd2/h2/hpack/mhd_hpack_codec.c:2365,1
    - Dst: dtbl_check_internals
      Src: /src/mhd2/src/mhd2/h2/hpack/mhd_hpack_codec.c:2368,1
    - Dst: dtbl_choose_strs_offset
      Src: /src/mhd2/src/mhd2/h2/hpack/mhd_hpack_codec.c:2379,1
    - Dst: dtbl_pos_strs_end_min
      Src: /src/mhd2/src/mhd2/h2/hpack/mhd_hpack_codec.c:2379,1
    - Dst: dtbl_get_pos_edge
      Src: /src/mhd2/src/mhd2/h2/hpack/mhd_hpack_codec.c:2380,1
    - Dst: dtbl_get_strs_ceiling
      Src: /src/mhd2/src/mhd2/h2/hpack/mhd_hpack_codec.c:2381,1
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/h2/hpack/mhd_hpack_codec.c:2385,1
    - Dst: dtbl_edge_gap
      Src: /src/mhd2/src/mhd2/h2/hpack/mhd_hpack_codec.c:2385,1
    - Dst: dtbl_entr_strs_size_min
      Src: /src/mhd2/src/mhd2/h2/hpack/mhd_hpack_codec.c:2386,1
    - Dst: dtbl_new_entry_copy_entr_strs
      Src: /src/mhd2/src/mhd2/h2/hpack/mhd_hpack_codec.c:2388,1
    - Dst: dtbl_new_edge_peek_slot
      Src: /src/mhd2/src/mhd2/h2/hpack/mhd_hpack_codec.c:2393,1
    - Dst: dtbl_entr_size_formal
      Src: /src/mhd2/src/mhd2/h2/hpack/mhd_hpack_codec.c:2396,1
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/h2/hpack/mhd_hpack_codec.c:2398,1
    - Dst: dtbl_entr_size_formal
      Src: /src/mhd2/src/mhd2/h2/hpack/mhd_hpack_codec.c:2398,1
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/h2/hpack/mhd_hpack_codec.c:2399,1
    - Dst: dtbl_is_empty
      Src: /src/mhd2/src/mhd2/h2/hpack/mhd_hpack_codec.c:2399,1
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/h2/hpack/mhd_hpack_codec.c:2400,1
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/h2/hpack/mhd_hpack_codec.c:2401,1
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/h2/hpack/mhd_hpack_codec.c:2404,1
    - Dst: dtbl_edge_gap
      Src: /src/mhd2/src/mhd2/h2/hpack/mhd_hpack_codec.c:2404,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 25
    argCount: 5
    argNames:
    - dyn
    - name_len
    - name
    - val_len
    - val
    argTypes:
    - struct mhd_HpackDTblContext*
    - dtbl_size_ft
    - char*
    - dtbl_size_ft
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2405
      start: 2342
    functionDepth: 8
    functionLinenumber: 2342
    functionLinenumberEnd: 2405
    functionName: "(3, 2) MHD_FN_PAR_IN_SIZE_ (5, 4) void\ndtbl_add_new_entry_at_new_edge
      (struct mhd_HpackDTblContext *restrict dyn,\n                                const
      dtbl_size_ft name_len,\n                                const char *restrict
      name,\n                                const dtbl_size_ft val_len,\n                                const
      char *restrict val)"
    functionSourceFile: /src/mhd2/src/mhd2/h2/hpack/mhd_hpack_codec.c
    functionUses: 0
    functionsReached:
    - dtbl_pos_strs_end_min
    - dtbl_get_free_formal
    - dtbl_new_edge_peek_slot
    - dtbl_get_strs_ceiling
    - dtbl_new_entry_size_formal
    - dtbl_check_internals
    - dtbl_entr_size_formal
    - dtbl_choose_strs_offset
    - dtbl_get_pos_edge
    - dtbl_new_entry_copy_entr_strs
    - dtbl_get_pos_newest
    - dtbl_edge_gap
    - dtbl_entr_strs_size_min
    - mhd_assert
    - dtbl_is_empty
    - mhd_DTBL_VALUE_FITS
    linkageType: ''
    returnType: MHD_FN_PAR_IN_SIZE_
    signature: "MHD_FN_PAR_IN_SIZE_ (3, 2) MHD_FN_PAR_IN_SIZE_ (5, 4) void\ndtbl_add_new_entry_at_new_edge
      (struct mhd_HpackDTblContext *restrict dyn,\n                                const
      dtbl_size_ft name_len,\n                                const char *restrict
      name,\n                                const dtbl_size_ft val_len,\n                                const
      char *restrict val)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: dtbl_get_pos_oldest
      Src: /src/mhd2/src/mhd2/h2/hpack/mhd_hpack_codec.c:2439,1
    - Dst: dtbl_oldest_entry_info
      Src: /src/mhd2/src/mhd2/h2/hpack/mhd_hpack_codec.c:2445,1
    - Dst: dtbl_entr_strs_end_min
      Src: /src/mhd2/src/mhd2/h2/hpack/mhd_hpack_codec.c:2448,1
    - Dst: dtbl_newest_entry_info
      Src: /src/mhd2/src/mhd2/h2/hpack/mhd_hpack_codec.c:2448,1
    - Dst: dtbl_entr_strs_start
      Src: /src/mhd2/src/mhd2/h2/hpack/mhd_hpack_codec.c:2451,1
    - Dst: dtbl_oldest_entry_infoc
      Src: /src/mhd2/src/mhd2/h2/hpack/mhd_hpack_codec.c:2451,1
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/h2/hpack/mhd_hpack_codec.c:2455,1
    - Dst: mhd_DTBL_VALUE_FITS
      Src: /src/mhd2/src/mhd2/h2/hpack/mhd_hpack_codec.c:2455,1
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/h2/hpack/mhd_hpack_codec.c:2456,1
    - Dst: mhd_DTBL_VALUE_FITS
      Src: /src/mhd2/src/mhd2/h2/hpack/mhd_hpack_codec.c:2456,1
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/h2/hpack/mhd_hpack_codec.c:2457,1
    - Dst: mhd_DTBL_VALUE_FITS
      Src: /src/mhd2/src/mhd2/h2/hpack/mhd_hpack_codec.c:2457,1
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/h2/hpack/mhd_hpack_codec.c:2458,1
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/h2/hpack/mhd_hpack_codec.c:2459,1
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/h2/hpack/mhd_hpack_codec.c:2460,1
    - Dst: dtbl_get_pos_prev
      Src: /src/mhd2/src/mhd2/h2/hpack/mhd_hpack_codec.c:2460,1
    - Dst: dtbl_get_pos_newest
      Src: /src/mhd2/src/mhd2/h2/hpack/mhd_hpack_codec.c:2460,1
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/h2/hpack/mhd_hpack_codec.c:2461,1
    - Dst: dtbl_get_pos_edge
      Src: /src/mhd2/src/mhd2/h2/hpack/mhd_hpack_codec.c:2461,1
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/h2/hpack/mhd_hpack_codec.c:2465,1
    - Dst: dtbl_get_pos_newest
      Src: /src/mhd2/src/mhd2/h2/hpack/mhd_hpack_codec.c:2466,1
    - Dst: dtbl_get_pos_edge
      Src: /src/mhd2/src/mhd2/h2/hpack/mhd_hpack_codec.c:2466,1
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/h2/hpack/mhd_hpack_codec.c:2469,1
    - Dst: dtbl_is_empty
      Src: /src/mhd2/src/mhd2/h2/hpack/mhd_hpack_codec.c:2469,1
    - Dst: dtbl_check_internals
      Src: /src/mhd2/src/mhd2/h2/hpack/mhd_hpack_codec.c:2471,1
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/h2/hpack/mhd_hpack_codec.c:2476,1
    - Dst: dtbl_choose_strs_offset
      Src: /src/mhd2/src/mhd2/h2/hpack/mhd_hpack_codec.c:2481,1
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/h2/hpack/mhd_hpack_codec.c:2485,1
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/h2/hpack/mhd_hpack_codec.c:2486,1
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/h2/hpack/mhd_hpack_codec.c:2487,1
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/h2/hpack/mhd_hpack_codec.c:2488,1
    - Dst: dtbl_entr_strs_end_min
      Src: /src/mhd2/src/mhd2/h2/hpack/mhd_hpack_codec.c:2488,1
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/h2/hpack/mhd_hpack_codec.c:2489,1
    - Dst: dtbl_get_free_formal
      Src: /src/mhd2/src/mhd2/h2/hpack/mhd_hpack_codec.c:2489,1
    - Dst: dtbl_entr_size_formal
      Src: /src/mhd2/src/mhd2/h2/hpack/mhd_hpack_codec.c:2490,1
    - Dst: dtbl_new_entry_copy_entr_strs
      Src: /src/mhd2/src/mhd2/h2/hpack/mhd_hpack_codec.c:2492,1
    - Dst: dtbl_move_infos_up
      Src: /src/mhd2/src/mhd2/h2/hpack/mhd_hpack_codec.c:2498,1
    - Dst: dtbl_entr_size_formal
      Src: /src/mhd2/src/mhd2/h2/hpack/mhd_hpack_codec.c:2504,1
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/h2/hpack/mhd_hpack_codec.c:2506,1
    - Dst: dtbl_entr_size_formal
      Src: /src/mhd2/src/mhd2/h2/hpack/mhd_hpack_codec.c:2506,1
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/h2/hpack/mhd_hpack_codec.c:2507,1
    - Dst: dtbl_get_pos_edge
      Src: /src/mhd2/src/mhd2/h2/hpack/mhd_hpack_codec.c:2507,1
    - Dst: dtbl_get_pos_newest
      Src: /src/mhd2/src/mhd2/h2/hpack/mhd_hpack_codec.c:2507,1
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/h2/hpack/mhd_hpack_codec.c:2508,1
    - Dst: dtbl_is_empty
      Src: /src/mhd2/src/mhd2/h2/hpack/mhd_hpack_codec.c:2508,1
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/h2/hpack/mhd_hpack_codec.c:2509,1
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/h2/hpack/mhd_hpack_codec.c:2512,1
    - Dst: dtbl_edge_gap
      Src: /src/mhd2/src/mhd2/h2/hpack/mhd_hpack_codec.c:2512,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 31
    argCount: 5
    argNames:
    - dyn
    - name_len
    - name
    - val_len
    - val
    argTypes:
    - struct mhd_HpackDTblContext*
    - dtbl_size_ft
    - char*
    - dtbl_size_ft
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2513
      start: 2430
    functionDepth: 9
    functionLinenumber: 2430
    functionLinenumberEnd: 2513
    functionName: dtbl_insert_next_new_entry
    functionSourceFile: /src/mhd2/src/mhd2/h2/hpack/mhd_hpack_codec.c
    functionUses: 0
    functionsReached:
    - dtbl_entr_strs_end_min
    - dtbl_oldest_entry_infoc
    - dtbl_move_infos_up
    - dtbl_choose_strs_offset
    - dtbl_oldest_entry_info
    - dtbl_get_pos_edge
    - dtbl_get_pos_newest
    - dtbl_edge_gap
    - dtbl_get_pos_oldest
    - dtbl_is_empty
    - mhd_DTBL_VALUE_FITS
    - dtbl_check_internals
    - dtbl_entr_size_formal
    - dtbl_get_pos_prev
    - dtbl_newest_entry_info
    - dtbl_entr_strs_start
    - dtbl_get_free_formal
    - dtbl_new_entry_copy_entr_strs
    - mhd_assert
    linkageType: ''
    returnType: void
    signature: "void dtbl_insert_next_new_entry (struct mhd_HpackDTblContext *restrict
      dyn,\n                            const dtbl_size_ft name_len,\n                            const
      char *restrict name,\n                            const dtbl_size_ft val_len,\n
      \                           const char *restrict val)"
  - BBCount: 11
    BranchProfiles: []
    Callsites:
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/h2/hpack/mhd_hpack_codec.c:2536,1
    - Dst: mhd_DTBL_VALUE_FITS
      Src: /src/mhd2/src/mhd2/h2/hpack/mhd_hpack_codec.c:2536,1
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/h2/hpack/mhd_hpack_codec.c:2537,1
    - Dst: mhd_DTBL_VALUE_FITS
      Src: /src/mhd2/src/mhd2/h2/hpack/mhd_hpack_codec.c:2537,1
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/h2/hpack/mhd_hpack_codec.c:2538,1
    - Dst: mhd_DTBL_VALUE_FITS
      Src: /src/mhd2/src/mhd2/h2/hpack/mhd_hpack_codec.c:2538,1
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/h2/hpack/mhd_hpack_codec.c:2539,1
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/h2/hpack/mhd_hpack_codec.c:2540,1
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/h2/hpack/mhd_hpack_codec.c:2541,1
    - Dst: dtbl_get_free_formal
      Src: /src/mhd2/src/mhd2/h2/hpack/mhd_hpack_codec.c:2541,1
    - Dst: dtbl_new_entry_size_formal
      Src: /src/mhd2/src/mhd2/h2/hpack/mhd_hpack_codec.c:2542,1
    - Dst: dtbl_check_internals
      Src: /src/mhd2/src/mhd2/h2/hpack/mhd_hpack_codec.c:2544,1
    - Dst: dtbl_is_empty
      Src: /src/mhd2/src/mhd2/h2/hpack/mhd_hpack_codec.c:2546,1
    - Dst: dtbl_add_first_entry
      Src: /src/mhd2/src/mhd2/h2/hpack/mhd_hpack_codec.c:2549,1
    - Dst: dtbl_get_pos_newest
      Src: /src/mhd2/src/mhd2/h2/hpack/mhd_hpack_codec.c:2557,1
    - Dst: dtbl_get_pos_edge
      Src: /src/mhd2/src/mhd2/h2/hpack/mhd_hpack_codec.c:2557,1
    - Dst: dtbl_edge_gap
      Src: /src/mhd2/src/mhd2/h2/hpack/mhd_hpack_codec.c:2566,1
    - Dst: dtbl_bottom_gap
      Src: /src/mhd2/src/mhd2/h2/hpack/mhd_hpack_codec.c:2568,1
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/h2/hpack/mhd_hpack_codec.c:2571,1
    - Dst: dtbl_is_empty
      Src: /src/mhd2/src/mhd2/h2/hpack/mhd_hpack_codec.c:2571,1
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/h2/hpack/mhd_hpack_codec.c:2572,1
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/h2/hpack/mhd_hpack_codec.c:2577,1
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/h2/hpack/mhd_hpack_codec.c:2578,1
    - Dst: dtbl_move_strs_down
      Src: /src/mhd2/src/mhd2/h2/hpack/mhd_hpack_codec.c:2580,1
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/h2/hpack/mhd_hpack_codec.c:2583,1
    - Dst: dtbl_bottom_gap
      Src: /src/mhd2/src/mhd2/h2/hpack/mhd_hpack_codec.c:2583,1
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/h2/hpack/mhd_hpack_codec.c:2619,1
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/h2/hpack/mhd_hpack_codec.c:2621,1
    - Dst: dtbl_move_strs_down
      Src: /src/mhd2/src/mhd2/h2/hpack/mhd_hpack_codec.c:2632,1
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/h2/hpack/mhd_hpack_codec.c:2636,1
    - Dst: dtbl_edge_gap
      Src: /src/mhd2/src/mhd2/h2/hpack/mhd_hpack_codec.c:2636,1
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/h2/hpack/mhd_hpack_codec.c:2638,1
    - Dst: dtbl_edge_gap
      Src: /src/mhd2/src/mhd2/h2/hpack/mhd_hpack_codec.c:2638,1
    - Dst: dtbl_add_new_entry_at_new_edge
      Src: /src/mhd2/src/mhd2/h2/hpack/mhd_hpack_codec.c:2650,1
    - Dst: dtbl_pos_strs_end_min
      Src: /src/mhd2/src/mhd2/h2/hpack/mhd_hpack_codec.c:2665,1
    - Dst: dtbl_get_pos_newest
      Src: /src/mhd2/src/mhd2/h2/hpack/mhd_hpack_codec.c:2666,1
    - Dst: dtbl_pos_strs_start
      Src: /src/mhd2/src/mhd2/h2/hpack/mhd_hpack_codec.c:2670,1
    - Dst: dtbl_get_pos_oldest
      Src: /src/mhd2/src/mhd2/h2/hpack/mhd_hpack_codec.c:2671,1
    - Dst: dtbl_edge_gap
      Src: /src/mhd2/src/mhd2/h2/hpack/mhd_hpack_codec.c:2675,1
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/h2/hpack/mhd_hpack_codec.c:2682,1
    - Dst: dtbl_get_pos_edge
      Src: /src/mhd2/src/mhd2/h2/hpack/mhd_hpack_codec.c:2682,1
    - Dst: dtbl_get_pos_newest
      Src: /src/mhd2/src/mhd2/h2/hpack/mhd_hpack_codec.c:2682,1
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/h2/hpack/mhd_hpack_codec.c:2683,1
    - Dst: dtbl_get_pos_oldest
      Src: /src/mhd2/src/mhd2/h2/hpack/mhd_hpack_codec.c:2683,1
    - Dst: dtbl_get_pos_newest
      Src: /src/mhd2/src/mhd2/h2/hpack/mhd_hpack_codec.c:2683,1
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/h2/hpack/mhd_hpack_codec.c:2684,1
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/h2/hpack/mhd_hpack_codec.c:2685,1
    - Dst: dtbl_get_pos_oldest
      Src: /src/mhd2/src/mhd2/h2/hpack/mhd_hpack_codec.c:2685,1
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/h2/hpack/mhd_hpack_codec.c:2686,1
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/h2/hpack/mhd_hpack_codec.c:2688,1
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/h2/hpack/mhd_hpack_codec.c:2690,1
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/h2/hpack/mhd_hpack_codec.c:2703,1
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/h2/hpack/mhd_hpack_codec.c:2704,1
    - Dst: dtbl_move_strs_down
      Src: /src/mhd2/src/mhd2/h2/hpack/mhd_hpack_codec.c:2706,1
    - Dst: dtbl_get_pos_oldest
      Src: /src/mhd2/src/mhd2/h2/hpack/mhd_hpack_codec.c:2707,1
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/h2/hpack/mhd_hpack_codec.c:2716,1
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/h2/hpack/mhd_hpack_codec.c:2717,1
    - Dst: dtbl_move_strs_up
      Src: /src/mhd2/src/mhd2/h2/hpack/mhd_hpack_codec.c:2719,1
    - Dst: dtbl_get_pos_oldest
      Src: /src/mhd2/src/mhd2/h2/hpack/mhd_hpack_codec.c:2720,1
    - Dst: dtbl_insert_next_new_entry
      Src: /src/mhd2/src/mhd2/h2/hpack/mhd_hpack_codec.c:2730,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 65
    argCount: 5
    argNames:
    - dyn
    - name_len
    - name
    - val_len
    - val
    argTypes:
    - struct mhd_HpackDTblContext*
    - dtbl_size_ft
    - char*
    - dtbl_size_ft
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2735
      start: 2527
    functionDepth: 10
    functionLinenumber: 2527
    functionLinenumberEnd: 2735
    functionName: dtbl_extend_with_entry
    functionSourceFile: /src/mhd2/src/mhd2/h2/hpack/mhd_hpack_codec.c
    functionUses: 0
    functionsReached:
    - dtbl_insert_next_new_entry
    - dtbl_add_first_entry
    - dtbl_pos_strs_end_min
    - dtbl_get_free_formal
    - dtbl_new_entry_size_formal
    - dtbl_move_strs_down
    - dtbl_check_internals
    - dtbl_get_pos_edge
    - dtbl_move_strs_up
    - dtbl_get_pos_newest
    - dtbl_edge_gap
    - dtbl_pos_strs_start
    - dtbl_get_pos_oldest
    - dtbl_add_new_entry_at_new_edge
    - mhd_assert
    - dtbl_is_empty
    - mhd_DTBL_VALUE_FITS
    - dtbl_bottom_gap
    linkageType: ''
    returnType: void
    signature: "void dtbl_extend_with_entry (struct mhd_HpackDTblContext *restrict
      dyn,\n                        const dtbl_size_ft name_len,\n                        const
      char *restrict name,\n                        const dtbl_size_ft val_len,\n
      \                       const char *restrict val)"
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: dtbl_get_pos_oldest
      Src: /src/mhd2/src/mhd2/h2/hpack/mhd_hpack_codec.c:2764,1
    - Dst: dtbl_new_entry_size_formal
      Src: /src/mhd2/src/mhd2/h2/hpack/mhd_hpack_codec.c:2768,1
    - Dst: dtbl_get_free_formal
      Src: /src/mhd2/src/mhd2/h2/hpack/mhd_hpack_codec.c:2768,1
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/h2/hpack/mhd_hpack_codec.c:2773,1
    - Dst: mhd_DTBL_VALUE_FITS
      Src: /src/mhd2/src/mhd2/h2/hpack/mhd_hpack_codec.c:2773,1
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/h2/hpack/mhd_hpack_codec.c:2774,1
    - Dst: mhd_DTBL_VALUE_FITS
      Src: /src/mhd2/src/mhd2/h2/hpack/mhd_hpack_codec.c:2774,1
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/h2/hpack/mhd_hpack_codec.c:2775,1
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/h2/hpack/mhd_hpack_codec.c:2776,1
    - Dst: dtbl_is_empty
      Src: /src/mhd2/src/mhd2/h2/hpack/mhd_hpack_codec.c:2776,1
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/h2/hpack/mhd_hpack_codec.c:2777,1
    - Dst: mhd_DTBL_VALUE_FITS
      Src: /src/mhd2/src/mhd2/h2/hpack/mhd_hpack_codec.c:2777,1
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/h2/hpack/mhd_hpack_codec.c:2778,1
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/h2/hpack/mhd_hpack_codec.c:2779,1
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/h2/hpack/mhd_hpack_codec.c:2780,1
    - Dst: dtbl_get_free_formal
      Src: /src/mhd2/src/mhd2/h2/hpack/mhd_hpack_codec.c:2780,1
    - Dst: dtbl_new_entry_size_formal
      Src: /src/mhd2/src/mhd2/h2/hpack/mhd_hpack_codec.c:2781,1
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/h2/hpack/mhd_hpack_codec.c:2782,1
    - Dst: dtbl_get_size_max_formal
      Src: /src/mhd2/src/mhd2/h2/hpack/mhd_hpack_codec.c:2782,1
    - Dst: dtbl_new_entry_size_formal
      Src: /src/mhd2/src/mhd2/h2/hpack/mhd_hpack_codec.c:2783,1
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/h2/hpack/mhd_hpack_codec.c:2784,1
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/h2/hpack/mhd_hpack_codec.c:2785,1
    - Dst: dtbl_check_internals
      Src: /src/mhd2/src/mhd2/h2/hpack/mhd_hpack_codec.c:2786,1
    - Dst: dtbl_pos_size_formal
      Src: /src/mhd2/src/mhd2/h2/hpack/mhd_hpack_codec.c:2789,1
    - Dst: dtbl_get_pos_next
      Src: /src/mhd2/src/mhd2/h2/hpack/mhd_hpack_codec.c:2794,1
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/h2/hpack/mhd_hpack_codec.c:2797,1
    - Dst: dtbl_pos_size_formal
      Src: /src/mhd2/src/mhd2/h2/hpack/mhd_hpack_codec.c:2799,1
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/h2/hpack/mhd_hpack_codec.c:2802,1
    - Dst: dtbl_get_num_entries
      Src: /src/mhd2/src/mhd2/h2/hpack/mhd_hpack_codec.c:2806,1
    - Dst: dtbl_get_num_entries
      Src: /src/mhd2/src/mhd2/h2/hpack/mhd_hpack_codec.c:2811,1
    - Dst: dtbl_get_num_entries
      Src: /src/mhd2/src/mhd2/h2/hpack/mhd_hpack_codec.c:2812,1
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/h2/hpack/mhd_hpack_codec.c:2814,1
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/h2/hpack/mhd_hpack_codec.c:2815,1
    - Dst: dtbl_get_num_entries
      Src: /src/mhd2/src/mhd2/h2/hpack/mhd_hpack_codec.c:2815,1
    - Dst: mhd_COND_ALMOST_NEVER
      Src: /src/mhd2/src/mhd2/h2/hpack/mhd_hpack_codec.c:2817,1
    - Dst: dtbl_get_num_entries
      Src: /src/mhd2/src/mhd2/h2/hpack/mhd_hpack_codec.c:2817,1
    - Dst: dtbl_reset
      Src: /src/mhd2/src/mhd2/h2/hpack/mhd_hpack_codec.c:2823,1
    - Dst: dtbl_add_first_entry
      Src: /src/mhd2/src/mhd2/h2/hpack/mhd_hpack_codec.c:2824,1
    - Dst: dtbl_get_pos_edge
      Src: /src/mhd2/src/mhd2/h2/hpack/mhd_hpack_codec.c:2831,1
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/h2/hpack/mhd_hpack_codec.c:2840,1
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/h2/hpack/mhd_hpack_codec.c:2841,1
    - Dst: dtbl_pos_strs_start
      Src: /src/mhd2/src/mhd2/h2/hpack/mhd_hpack_codec.c:2841,1
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/h2/hpack/mhd_hpack_codec.c:2845,1
    - Dst: dtbl_get_pos_newest
      Src: /src/mhd2/src/mhd2/h2/hpack/mhd_hpack_codec.c:2845,1
    - Dst: dtbl_add_new_entry_at_new_edge
      Src: /src/mhd2/src/mhd2/h2/hpack/mhd_hpack_codec.c:2850,1
    - Dst: dtbl_pos_entry_info
      Src: /src/mhd2/src/mhd2/h2/hpack/mhd_hpack_codec.c:2871,1
    - Dst: dtbl_get_pos_prev
      Src: /src/mhd2/src/mhd2/h2/hpack/mhd_hpack_codec.c:2874,1
    - Dst: dtbl_get_pos_next
      Src: /src/mhd2/src/mhd2/h2/hpack/mhd_hpack_codec.c:2877,1
    - Dst: dtbl_get_pos_edge
      Src: /src/mhd2/src/mhd2/h2/hpack/mhd_hpack_codec.c:2881,1
    - Dst: dtbl_pos_strs_end_min
      Src: /src/mhd2/src/mhd2/h2/hpack/mhd_hpack_codec.c:2883,1
    - Dst: dtbl_pos_strs_start
      Src: /src/mhd2/src/mhd2/h2/hpack/mhd_hpack_codec.c:2886,1
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/h2/hpack/mhd_hpack_codec.c:2891,1
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/h2/hpack/mhd_hpack_codec.c:2892,1
    - Dst: dtbl_get_num_entries
      Src: /src/mhd2/src/mhd2/h2/hpack/mhd_hpack_codec.c:2892,1
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/h2/hpack/mhd_hpack_codec.c:2893,1
    - Dst: dtbl_get_pos_edge
      Src: /src/mhd2/src/mhd2/h2/hpack/mhd_hpack_codec.c:2893,1
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/h2/hpack/mhd_hpack_codec.c:2894,1
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/h2/hpack/mhd_hpack_codec.c:2895,1
    - Dst: dtbl_get_num_entries
      Src: /src/mhd2/src/mhd2/h2/hpack/mhd_hpack_codec.c:2895,1
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/h2/hpack/mhd_hpack_codec.c:2896,1
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/h2/hpack/mhd_hpack_codec.c:2897,1
    - Dst: dtbl_move_infos_pos
      Src: /src/mhd2/src/mhd2/h2/hpack/mhd_hpack_codec.c:2902,1
    - Dst: dtbl_get_pos_edge
      Src: /src/mhd2/src/mhd2/h2/hpack/mhd_hpack_codec.c:2904,1
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/h2/hpack/mhd_hpack_codec.c:2917,1
    - Dst: dtbl_edge_gap
      Src: /src/mhd2/src/mhd2/h2/hpack/mhd_hpack_codec.c:2917,1
    - Dst: dtbl_move_strs_up
      Src: /src/mhd2/src/mhd2/h2/hpack/mhd_hpack_codec.c:2918,1
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/h2/hpack/mhd_hpack_codec.c:2925,1
    - Dst: dtbl_choose_strs_offset_for_size
      Src: /src/mhd2/src/mhd2/h2/hpack/mhd_hpack_codec.c:2929,1
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/h2/hpack/mhd_hpack_codec.c:2933,1
    - Dst: dtbl_get_num_entries
      Src: /src/mhd2/src/mhd2/h2/hpack/mhd_hpack_codec.c:2933,1
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/h2/hpack/mhd_hpack_codec.c:2934,1
    - Dst: dtbl_entr_strs_end_min
      Src: /src/mhd2/src/mhd2/h2/hpack/mhd_hpack_codec.c:2934,1
    - Dst: dtbl_pos_strs_start
      Src: /src/mhd2/src/mhd2/h2/hpack/mhd_hpack_codec.c:2935,1
    - Dst: dtbl_new_entry_copy_entr_strs
      Src: /src/mhd2/src/mhd2/h2/hpack/mhd_hpack_codec.c:2937,1
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/h2/hpack/mhd_hpack_codec.c:2944,1
    - Dst: dtbl_get_pos_next
      Src: /src/mhd2/src/mhd2/h2/hpack/mhd_hpack_codec.c:2964,1
    - Dst: dtbl_get_pos_prev
      Src: /src/mhd2/src/mhd2/h2/hpack/mhd_hpack_codec.c:2967,1
    - Dst: dtbl_pos_strs_start
      Src: /src/mhd2/src/mhd2/h2/hpack/mhd_hpack_codec.c:2973,1
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/h2/hpack/mhd_hpack_codec.c:2976,1
    - Dst: dtbl_get_pos_edge
      Src: /src/mhd2/src/mhd2/h2/hpack/mhd_hpack_codec.c:2976,1
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/h2/hpack/mhd_hpack_codec.c:2977,1
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/h2/hpack/mhd_hpack_codec.c:2978,1
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/h2/hpack/mhd_hpack_codec.c:2979,1
    - Dst: dtbl_get_num_entries
      Src: /src/mhd2/src/mhd2/h2/hpack/mhd_hpack_codec.c:2979,1
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/h2/hpack/mhd_hpack_codec.c:2980,1
    - Dst: dtbl_get_num_entries
      Src: /src/mhd2/src/mhd2/h2/hpack/mhd_hpack_codec.c:2980,1
    - Dst: dtbl_zero_entry_info
      Src: /src/mhd2/src/mhd2/h2/hpack/mhd_hpack_codec.c:2988,1
    - Dst: dtbl_move_infos_pos
      Src: /src/mhd2/src/mhd2/h2/hpack/mhd_hpack_codec.c:2997,1
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/h2/hpack/mhd_hpack_codec.c:3009,1
    - Dst: dtbl_entr_strs_end_min
      Src: /src/mhd2/src/mhd2/h2/hpack/mhd_hpack_codec.c:3009,1
    - Dst: dtbl_pos_strs_start
      Src: /src/mhd2/src/mhd2/h2/hpack/mhd_hpack_codec.c:3010,1
    - Dst: dtbl_new_entry_copy_entr_strs
      Src: /src/mhd2/src/mhd2/h2/hpack/mhd_hpack_codec.c:3012,1
    - Dst: dtbl_zeroout_strs_slack_pos
      Src: /src/mhd2/src/mhd2/h2/hpack/mhd_hpack_codec.c:3021,1
    - Dst: dtbl_get_pos_newest
      Src: /src/mhd2/src/mhd2/h2/hpack/mhd_hpack_codec.c:3022,1
    - Dst: dtbl_pos_as_edge_get_gap
      Src: /src/mhd2/src/mhd2/h2/hpack/mhd_hpack_codec.c:3034,1
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/h2/hpack/mhd_hpack_codec.c:3038,1
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/h2/hpack/mhd_hpack_codec.c:3039,1
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/h2/hpack/mhd_hpack_codec.c:3041,1
    - Dst: dtbl_move_infos_pos
      Src: /src/mhd2/src/mhd2/h2/hpack/mhd_hpack_codec.c:3052,1
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/h2/hpack/mhd_hpack_codec.c:3061,1
    - Dst: dtbl_edge_gap
      Src: /src/mhd2/src/mhd2/h2/hpack/mhd_hpack_codec.c:3061,1
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/h2/hpack/mhd_hpack_codec.c:3070,1
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/h2/hpack/mhd_hpack_codec.c:3071,1
    - Dst: dtbl_bottom_gap
      Src: /src/mhd2/src/mhd2/h2/hpack/mhd_hpack_codec.c:3071,1
    - Dst: dtbl_move_strs_down
      Src: /src/mhd2/src/mhd2/h2/hpack/mhd_hpack_codec.c:3073,1
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/h2/hpack/mhd_hpack_codec.c:3076,1
    - Dst: dtbl_bottom_gap
      Src: /src/mhd2/src/mhd2/h2/hpack/mhd_hpack_codec.c:3076,1
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/h2/hpack/mhd_hpack_codec.c:3077,1
    - Dst: dtbl_edge_gap
      Src: /src/mhd2/src/mhd2/h2/hpack/mhd_hpack_codec.c:3077,1
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/h2/hpack/mhd_hpack_codec.c:3078,1
    - Dst: dtbl_edge_gap
      Src: /src/mhd2/src/mhd2/h2/hpack/mhd_hpack_codec.c:3078,1
    - Dst: dtbl_new_entry_strs_size_formal
      Src: /src/mhd2/src/mhd2/h2/hpack/mhd_hpack_codec.c:3080,1
    - Dst: dtbl_add_new_entry_at_new_edge
      Src: /src/mhd2/src/mhd2/h2/hpack/mhd_hpack_codec.c:3089,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 114
    argCount: 5
    argNames:
    - dyn
    - name_len
    - name
    - val_len
    - val
    argTypes:
    - struct mhd_HpackDTblContext*
    - dtbl_size_ft
    - char*
    - dtbl_size_ft
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3098
      start: 2753
    functionDepth: 8
    functionLinenumber: 2753
    functionLinenumberEnd: 3098
    functionName: "(3, 2) MHD_FN_PAR_IN_SIZE_ (5, 4) void\ndtbl_evict_add_entry (struct
      mhd_HpackDTblContext *restrict dyn,\n                      const dtbl_size_ft
      name_len,\n                      const char *restrict name,\n                      const
      dtbl_size_ft val_len,\n                      const char *restrict val)"
    functionSourceFile: /src/mhd2/src/mhd2/h2/hpack/mhd_hpack_codec.c
    functionUses: 0
    functionsReached:
    - dtbl_new_entry_strs_size_formal
    - dtbl_pos_strs_end_min
    - dtbl_zero_entry_info
    - dtbl_zeroout_strs_slack_pos
    - dtbl_entr_strs_end_min
    - dtbl_get_pos_edge
    - dtbl_get_pos_newest
    - dtbl_edge_gap
    - dtbl_get_pos_oldest
    - dtbl_is_empty
    - mhd_DTBL_VALUE_FITS
    - dtbl_pos_size_formal
    - dtbl_bottom_gap
    - dtbl_get_num_entries
    - dtbl_move_strs_down
    - dtbl_check_internals
    - dtbl_pos_as_edge_get_gap
    - dtbl_choose_strs_offset_for_size
    - dtbl_add_new_entry_at_new_edge
    - dtbl_get_pos_prev
    - dtbl_pos_strs_start
    - dtbl_get_pos_next
    - dtbl_add_first_entry
    - dtbl_new_entry_size_formal
    - dtbl_move_infos_pos
    - dtbl_reset
    - mhd_COND_ALMOST_NEVER
    - dtbl_pos_entry_info
    - dtbl_get_free_formal
    - dtbl_new_entry_copy_entr_strs
    - dtbl_get_size_max_formal
    - mhd_assert
    - dtbl_move_strs_up
    linkageType: ''
    returnType: MHD_FN_PAR_IN_SIZE_
    signature: "MHD_FN_PAR_IN_SIZE_ (3, 2) MHD_FN_PAR_IN_SIZE_ (5, 4) void\ndtbl_evict_add_entry
      (struct mhd_HpackDTblContext *restrict dyn,\n                      const dtbl_size_ft
      name_len,\n                      const char *restrict name,\n                      const
      dtbl_size_ft val_len,\n                      const char *restrict val)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: dtbl_get_used_formal
      Src: /src/mhd2/src/mhd2/h2/hpack/mhd_hpack_codec.c:3118,1
    - Dst: dtbl_get_pos_oldest
      Src: /src/mhd2/src/mhd2/h2/hpack/mhd_hpack_codec.c:3121,1
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/h2/hpack/mhd_hpack_codec.c:3129,1
    - Dst: dtbl_get_used_formal
      Src: /src/mhd2/src/mhd2/h2/hpack/mhd_hpack_codec.c:3129,1
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/h2/hpack/mhd_hpack_codec.c:3130,1
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/h2/hpack/mhd_hpack_codec.c:3131,1
    - Dst: dtbl_is_empty
      Src: /src/mhd2/src/mhd2/h2/hpack/mhd_hpack_codec.c:3131,1
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/h2/hpack/mhd_hpack_codec.c:3132,1
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/h2/hpack/mhd_hpack_codec.c:3133,1
    - Dst: dtbl_pos_size_formal
      Src: /src/mhd2/src/mhd2/h2/hpack/mhd_hpack_codec.c:3136,1
    - Dst: dtbl_get_pos_next
      Src: /src/mhd2/src/mhd2/h2/hpack/mhd_hpack_codec.c:3141,1
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/h2/hpack/mhd_hpack_codec.c:3144,1
    - Dst: dtbl_pos_size_formal
      Src: /src/mhd2/src/mhd2/h2/hpack/mhd_hpack_codec.c:3146,1
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/h2/hpack/mhd_hpack_codec.c:3150,1
    - Dst: dtbl_get_num_entries
      Src: /src/mhd2/src/mhd2/h2/hpack/mhd_hpack_codec.c:3152,1
    - Dst: dtbl_get_num_entries
      Src: /src/mhd2/src/mhd2/h2/hpack/mhd_hpack_codec.c:3153,1
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/h2/hpack/mhd_hpack_codec.c:3154,1
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/h2/hpack/mhd_hpack_codec.c:3155,1
    - Dst: dtbl_get_num_entries
      Src: /src/mhd2/src/mhd2/h2/hpack/mhd_hpack_codec.c:3155,1
    - Dst: mhd_COND_ALMOST_NEVER
      Src: /src/mhd2/src/mhd2/h2/hpack/mhd_hpack_codec.c:3157,1
    - Dst: dtbl_get_num_entries
      Src: /src/mhd2/src/mhd2/h2/hpack/mhd_hpack_codec.c:3157,1
    - Dst: dtbl_reset
      Src: /src/mhd2/src/mhd2/h2/hpack/mhd_hpack_codec.c:3160,1
    - Dst: dtbl_get_pos_edge
      Src: /src/mhd2/src/mhd2/h2/hpack/mhd_hpack_codec.c:3163,1
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/h2/hpack/mhd_hpack_codec.c:3166,1
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/h2/hpack/mhd_hpack_codec.c:3167,1
    - Dst: dtbl_get_pos_newest
      Src: /src/mhd2/src/mhd2/h2/hpack/mhd_hpack_codec.c:3167,1
    - Dst: dtbl_get_pos_prev
      Src: /src/mhd2/src/mhd2/h2/hpack/mhd_hpack_codec.c:3180,1
    - Dst: dtbl_get_pos_next
      Src: /src/mhd2/src/mhd2/h2/hpack/mhd_hpack_codec.c:3183,1
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/h2/hpack/mhd_hpack_codec.c:3186,1
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/h2/hpack/mhd_hpack_codec.c:3187,1
    - Dst: dtbl_get_num_entries
      Src: /src/mhd2/src/mhd2/h2/hpack/mhd_hpack_codec.c:3187,1
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/h2/hpack/mhd_hpack_codec.c:3188,1
    - Dst: dtbl_get_pos_edge
      Src: /src/mhd2/src/mhd2/h2/hpack/mhd_hpack_codec.c:3188,1
    - Dst: dtbl_move_infos_pos
      Src: /src/mhd2/src/mhd2/h2/hpack/mhd_hpack_codec.c:3191,1
    - Dst: dtbl_get_pos_edge
      Src: /src/mhd2/src/mhd2/h2/hpack/mhd_hpack_codec.c:3193,1
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/h2/hpack/mhd_hpack_codec.c:3197,1
    - Dst: dtbl_get_pos_edge
      Src: /src/mhd2/src/mhd2/h2/hpack/mhd_hpack_codec.c:3197,1
    - Dst: dtbl_get_pos_newest
      Src: /src/mhd2/src/mhd2/h2/hpack/mhd_hpack_codec.c:3197,1
    - Dst: dtbl_get_pos_next
      Src: /src/mhd2/src/mhd2/h2/hpack/mhd_hpack_codec.c:3206,1
    - Dst: dtbl_get_pos_prev
      Src: /src/mhd2/src/mhd2/h2/hpack/mhd_hpack_codec.c:3209,1
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/h2/hpack/mhd_hpack_codec.c:3214,1
    - Dst: dtbl_get_pos_edge
      Src: /src/mhd2/src/mhd2/h2/hpack/mhd_hpack_codec.c:3214,1
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/h2/hpack/mhd_hpack_codec.c:3215,1
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/h2/hpack/mhd_hpack_codec.c:3216,1
    - Dst: dtbl_get_num_entries
      Src: /src/mhd2/src/mhd2/h2/hpack/mhd_hpack_codec.c:3216,1
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/h2/hpack/mhd_hpack_codec.c:3217,1
    - Dst: dtbl_get_num_entries
      Src: /src/mhd2/src/mhd2/h2/hpack/mhd_hpack_codec.c:3217,1
    - Dst: dtbl_move_infos_pos
      Src: /src/mhd2/src/mhd2/h2/hpack/mhd_hpack_codec.c:3219,1
    - Dst: dtbl_get_pos_edge
      Src: /src/mhd2/src/mhd2/h2/hpack/mhd_hpack_codec.c:3225,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 48
    argCount: 2
    argNames:
    - dyn
    - max_used_final
    argTypes:
    - struct mhd_HpackDTblContext*
    - dtbl_size_ft
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3229
      start: 3113
    functionDepth: 5
    functionLinenumber: 3113
    functionLinenumberEnd: 3229
    functionName: dtbl_evict_to_size
    functionSourceFile: /src/mhd2/src/mhd2/h2/hpack/mhd_hpack_codec.c
    functionUses: 3
    functionsReached:
    - mhd_COND_ALMOST_NEVER
    - dtbl_get_pos_next
    - dtbl_get_num_entries
    - dtbl_get_pos_prev
    - dtbl_get_pos_edge
    - dtbl_get_used_formal
    - dtbl_get_pos_newest
    - dtbl_move_infos_pos
    - dtbl_reset
    - dtbl_get_pos_oldest
    - mhd_assert
    - dtbl_is_empty
    - dtbl_pos_size_formal
    linkageType: ''
    returnType: void
    signature: "void dtbl_evict_to_size (struct mhd_HpackDTblContext *restrict dyn,\n
      \                   dtbl_size_ft max_used_final)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: dtbl_edge_entry_infoc
      Src: /src/mhd2/src/mhd2/h2/hpack/mhd_hpack_codec.c:3252,1
    - Dst: dtbl_get_num_entries
      Src: /src/mhd2/src/mhd2/h2/hpack/mhd_hpack_codec.c:3255,1
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/h2/hpack/mhd_hpack_codec.c:3257,1
    - Dst: dtbl_is_empty
      Src: /src/mhd2/src/mhd2/h2/hpack/mhd_hpack_codec.c:3257,1
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/h2/hpack/mhd_hpack_codec.c:3258,1
    - Dst: mhd_DTBL_VALUE_FITS
      Src: /src/mhd2/src/mhd2/h2/hpack/mhd_hpack_codec.c:3258,1
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/h2/hpack/mhd_hpack_codec.c:3259,1
    - Dst: mhd_DTBL_VALUE_FITS
      Src: /src/mhd2/src/mhd2/h2/hpack/mhd_hpack_codec.c:3259,1
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/h2/hpack/mhd_hpack_codec.c:3260,1
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/h2/hpack/mhd_hpack_codec.c:3261,1
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/h2/hpack/mhd_hpack_codec.c:3262,1
    - Dst: dtbl_get_used_formal
      Src: /src/mhd2/src/mhd2/h2/hpack/mhd_hpack_codec.c:3262,1
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/h2/hpack/mhd_hpack_codec.c:3267,1
    - Dst: dtbl_get_size_max_formal
      Src: /src/mhd2/src/mhd2/h2/hpack/mhd_hpack_codec.c:3267,1
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/h2/hpack/mhd_hpack_codec.c:3268,1
    - Dst: mhd_ALIGNOF
      Src: /src/mhd2/src/mhd2/h2/hpack/mhd_hpack_codec.c:3269,1
    - Dst: dtbl_edge_gap
      Src: /src/mhd2/src/mhd2/h2/hpack/mhd_hpack_codec.c:3271,1
    - Dst: dtbl_compact_strs
      Src: /src/mhd2/src/mhd2/h2/hpack/mhd_hpack_codec.c:3272,1
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/h2/hpack/mhd_hpack_codec.c:3274,1
    - Dst: dtbl_edge_gap
      Src: /src/mhd2/src/mhd2/h2/hpack/mhd_hpack_codec.c:3274,1
    - Dst: mhd_COND_ALMOST_NEVER
      Src: /src/mhd2/src/mhd2/h2/hpack/mhd_hpack_codec.c:3277,1
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/h2/hpack/mhd_hpack_codec.c:3285,1
    - Dst: dtbl_get_size_max_formal
      Src: /src/mhd2/src/mhd2/h2/hpack/mhd_hpack_codec.c:3285,1
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/h2/hpack/mhd_hpack_codec.c:3286,1
    - Dst: mhd_ALIGNOF
      Src: /src/mhd2/src/mhd2/h2/hpack/mhd_hpack_codec.c:3287,1
    - Dst: dtbl_edge_entry_info
      Src: /src/mhd2/src/mhd2/h2/hpack/mhd_hpack_codec.c:3295,1
    - Dst: memmove
      Src: /src/mhd2/src/mhd2/h2/hpack/mhd_hpack_codec.c:3296,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 25
    argCount: 3
    argNames:
    - dyn
    - new_alloc_size
    - new_formal_size
    argTypes:
    - struct mhd_HpackDTblContext*
    - dtbl_size_ft
    - dtbl_size_ft
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3299
      start: 3245
    functionDepth: 9
    functionLinenumber: 3245
    functionLinenumberEnd: 3299
    functionName: dtbl_perform_resize
    functionSourceFile: /src/mhd2/src/mhd2/h2/hpack/mhd_hpack_codec.c
    functionUses: 0
    functionsReached:
    - dtbl_compact_strs
    - mhd_COND_ALMOST_NEVER
    - dtbl_get_num_entries
    - dtbl_edge_entry_infoc
    - dtbl_edge_entry_info
    - dtbl_get_size_max_formal
    - dtbl_get_used_formal
    - dtbl_edge_gap
    - memmove
    - mhd_assert
    - dtbl_is_empty
    - mhd_DTBL_VALUE_FITS
    - mhd_ALIGNOF
    linkageType: ''
    returnType: void
    signature: "void dtbl_perform_resize (struct mhd_HpackDTblContext *restrict dyn,\n
      \                    const dtbl_size_ft new_alloc_size,\n                     const
      dtbl_size_ft new_formal_size)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/h2/hpack/mhd_hpack_codec.c:3319,1
    - Dst: mhd_DTBL_VALUE_FITS
      Src: /src/mhd2/src/mhd2/h2/hpack/mhd_hpack_codec.c:3319,1
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/h2/hpack/mhd_hpack_codec.c:3320,1
    - Dst: mhd_DTBL_VALUE_FITS
      Src: /src/mhd2/src/mhd2/h2/hpack/mhd_hpack_codec.c:3320,1
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/h2/hpack/mhd_hpack_codec.c:3321,1
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/h2/hpack/mhd_hpack_codec.c:3322,1
    - Dst: dtbl_is_empty
      Src: /src/mhd2/src/mhd2/h2/hpack/mhd_hpack_codec.c:3324,1
    - Dst: dtbl_perform_resize
      Src: /src/mhd2/src/mhd2/h2/hpack/mhd_hpack_codec.c:3326,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 11
    argCount: 3
    argNames:
    - dyn
    - new_alloc_size
    - new_formal_size
    argTypes:
    - struct mhd_HpackDTblContext*
    - dtbl_size_ft
    - dtbl_size_ft
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3336
      start: 3314
    functionDepth: 10
    functionLinenumber: 3314
    functionLinenumberEnd: 3336
    functionName: dtbl_adapt_to_new_size
    functionSourceFile: /src/mhd2/src/mhd2/h2/hpack/mhd_hpack_codec.c
    functionUses: 0
    functionsReached:
    - mhd_assert
    - dtbl_is_empty
    - mhd_DTBL_VALUE_FITS
    - dtbl_perform_resize
    linkageType: ''
    returnType: void
    signature: "void dtbl_adapt_to_new_size (struct mhd_HpackDTblContext *restrict
      dyn,\n                        const dtbl_size_ft new_alloc_size,\n                        const
      dtbl_size_ft new_formal_size)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/h2/hpack/mhd_hpack_codec.c:3357,1
    - Dst: mhd_DTBL_VALUE_FITS
      Src: /src/mhd2/src/mhd2/h2/hpack/mhd_hpack_codec.c:3357,1
    - Dst: mhd_ALIGNOF
      Src: /src/mhd2/src/mhd2/h2/hpack/mhd_hpack_codec.c:3366,1
    - Dst: mhd_ALIGNOF
      Src: /src/mhd2/src/mhd2/h2/hpack/mhd_hpack_codec.c:3367,1
    - Dst: mhd_ALIGNOF
      Src: /src/mhd2/src/mhd2/h2/hpack/mhd_hpack_codec.c:3368,1
    - Dst: mhd_ALIGNOF
      Src: /src/mhd2/src/mhd2/h2/hpack/mhd_hpack_codec.c:3374,1
    - Dst: mhd_ALIGNOF
      Src: /src/mhd2/src/mhd2/h2/hpack/mhd_hpack_codec.c:3375,1
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/h2/hpack/mhd_hpack_codec.c:3377,1
    - Dst: mhd_DTBL_VALUE_FITS
      Src: /src/mhd2/src/mhd2/h2/hpack/mhd_hpack_codec.c:3377,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 9
    argCount: 1
    argNames:
    - formal_size
    argTypes:
    - dtbl_size_ft
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3380
      start: 3352
    functionDepth: 1
    functionLinenumber: 3352
    functionLinenumberEnd: 3380
    functionName: dtbl_size_t::dtbl_calc_alloc_size
    functionSourceFile: /src/mhd2/src/mhd2/h2/hpack/mhd_hpack_codec.c
    functionUses: 0
    functionsReached:
    - mhd_assert
    - mhd_DTBL_VALUE_FITS
    - mhd_ALIGNOF
    linkageType: ''
    returnType: mhd_static_inline
    signature: 'mhd_static_inline dtbl_size_t

      dtbl_calc_alloc_size (dtbl_size_ft formal_size)'
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: dtbl_get_infos_as_arrayc
      Src: /src/mhd2/src/mhd2/h2/hpack/mhd_hpack_codec.c:3409,1
    - Dst: dtbl_get_num_entries
      Src: /src/mhd2/src/mhd2/h2/hpack/mhd_hpack_codec.c:3411,1
    - Dst: memcmp
      Src: /src/mhd2/src/mhd2/h2/hpack/mhd_hpack_codec.c:3420,1
    - Dst: dtbl_entr_strs_ptr_namec
      Src: /src/mhd2/src/mhd2/h2/hpack/mhd_hpack_codec.c:3421,1
    - Dst: memcmp
      Src: /src/mhd2/src/mhd2/h2/hpack/mhd_hpack_codec.c:3426,1
    - Dst: dtbl_entr_strs_ptr_valuec
      Src: /src/mhd2/src/mhd2/h2/hpack/mhd_hpack_codec.c:3427,1
    - Dst: dtbl_get_hpack_idx_from_pos
      Src: /src/mhd2/src/mhd2/h2/hpack/mhd_hpack_codec.c:3431,1
    - Dst: dtbl_get_pos_edge
      Src: /src/mhd2/src/mhd2/h2/hpack/mhd_hpack_codec.c:3432,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 11
    argCount: 5
    argNames:
    - dyn
    - name_len
    - name
    - val_len
    - val
    argTypes:
    - struct mhd_HpackDTblContext*
    - dtbl_size_ft
    - char*
    - dtbl_size_ft
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3436
      start: 3400
    functionDepth: 6
    functionLinenumber: 3400
    functionLinenumberEnd: 3436
    functionName: "(3, 2) MHD_FN_PAR_IN_SIZE_ (5, 4) dtbl_idx_t\ndtbl_find_entry (const
      struct mhd_HpackDTblContext *restrict dyn,\n                 dtbl_size_ft name_len,\n
      \                const char *restrict name,\n                 dtbl_size_ft val_len,\n
      \                const char *restrict val)"
    functionSourceFile: /src/mhd2/src/mhd2/h2/hpack/mhd_hpack_codec.c
    functionUses: 0
    functionsReached:
    - dtbl_get_hpack_idx_from_pos
    - dtbl_get_num_entries
    - dtbl_entr_strs_ptr_namec
    - dtbl_entr_strs_ptr_valuec
    - dtbl_get_pos_edge
    - memcmp
    - dtbl_get_infos_as_arrayc
    linkageType: ''
    returnType: MHD_FN_PAR_IN_SIZE_
    signature: "MHD_FN_PAR_IN_SIZE_ (3, 2) MHD_FN_PAR_IN_SIZE_ (5, 4) dtbl_idx_t\ndtbl_find_entry
      (const struct mhd_HpackDTblContext *restrict dyn,\n                 dtbl_size_ft
      name_len,\n                 const char *restrict name,\n                 dtbl_size_ft
      val_len,\n                 const char *restrict val)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: dtbl_get_infos_as_arrayc
      Src: /src/mhd2/src/mhd2/h2/hpack/mhd_hpack_codec.c:3458,1
    - Dst: dtbl_get_num_entries
      Src: /src/mhd2/src/mhd2/h2/hpack/mhd_hpack_codec.c:3460,1
    - Dst: memcmp
      Src: /src/mhd2/src/mhd2/h2/hpack/mhd_hpack_codec.c:3467,1
    - Dst: dtbl_entr_strs_ptr_namec
      Src: /src/mhd2/src/mhd2/h2/hpack/mhd_hpack_codec.c:3468,1
    - Dst: dtbl_get_hpack_idx_from_pos
      Src: /src/mhd2/src/mhd2/h2/hpack/mhd_hpack_codec.c:3472,1
    - Dst: dtbl_get_pos_edge
      Src: /src/mhd2/src/mhd2/h2/hpack/mhd_hpack_codec.c:3473,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 9
    argCount: 3
    argNames:
    - dyn
    - name_len
    - name
    argTypes:
    - struct mhd_HpackDTblContext*
    - dtbl_size_ft
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3477
      start: 3451
    functionDepth: 6
    functionLinenumber: 3451
    functionLinenumberEnd: 3477
    functionName: "(3, 2) dtbl_idx_t\ndtbl_find_name (const struct mhd_HpackDTblContext
      *restrict dyn,\n                dtbl_size_ft name_len,\n                const
      char *restrict name)"
    functionSourceFile: /src/mhd2/src/mhd2/h2/hpack/mhd_hpack_codec.c
    functionUses: 0
    functionsReached:
    - dtbl_get_hpack_idx_from_pos
    - dtbl_get_num_entries
    - dtbl_entr_strs_ptr_namec
    - dtbl_get_pos_edge
    - memcmp
    - dtbl_get_infos_as_arrayc
    linkageType: ''
    returnType: MHD_FN_PAR_IN_SIZE_
    signature: "MHD_FN_PAR_IN_SIZE_ (3, 2) dtbl_idx_t\ndtbl_find_name (const struct
      mhd_HpackDTblContext *restrict dyn,\n                dtbl_size_ft name_len,\n
      \               const char *restrict name)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/h2/hpack/mhd_hpack_codec.c:3508,1
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/h2/hpack/mhd_hpack_codec.c:3509,1
    - Dst: mhd_DTBL_VALUE_FITS
      Src: /src/mhd2/src/mhd2/h2/hpack/mhd_hpack_codec.c:3509,1
    - Dst: dtbl_calc_alloc_size
      Src: /src/mhd2/src/mhd2/h2/hpack/mhd_hpack_codec.c:3511,1
    - Dst: malloc
      Src: /src/mhd2/src/mhd2/h2/hpack/mhd_hpack_codec.c:3513,1
    - Dst: dtbl_reset
      Src: /src/mhd2/src/mhd2/h2/hpack/mhd_hpack_codec.c:3520,1
    - Dst: dtbl_check_internals
      Src: /src/mhd2/src/mhd2/h2/hpack/mhd_hpack_codec.c:3522,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 12
    argCount: 1
    argNames:
    - dyn_table_size
    argTypes:
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3525
      start: 3502
    functionDepth: 8
    functionLinenumber: 3502
    functionLinenumberEnd: 3525
    functionName: mhd_dtbl_create
    functionSourceFile: /src/mhd2/src/mhd2/h2/hpack/mhd_hpack_codec.c
    functionUses: 17
    functionsReached:
    - dtbl_calc_alloc_size
    - malloc
    - dtbl_check_internals
    - dtbl_reset
    - mhd_assert
    - mhd_DTBL_VALUE_FITS
    linkageType: ''
    returnType: mhd_FN_RET_UNALIASED
    signature: 'mhd_FN_RET_UNALIASED *

      mhd_dtbl_create (size_t dyn_table_size)'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: dtbl_check_internals
      Src: /src/mhd2/src/mhd2/h2/hpack/mhd_hpack_codec.c:3536,1
    - Dst: free
      Src: /src/mhd2/src/mhd2/h2/hpack/mhd_hpack_codec.c:3538,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - dyn
    argTypes:
    - struct mhd_HpackDTblContext*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3539
      start: 3533
    functionDepth: 8
    functionLinenumber: 3533
    functionLinenumberEnd: 3539
    functionName: mhd_dtbl_destroy
    functionSourceFile: /src/mhd2/src/mhd2/h2/hpack/mhd_hpack_codec.c
    functionUses: 17
    functionsReached:
    - free
    - dtbl_check_internals
    linkageType: ''
    returnType: mhd_static_inline
    signature: mhd_static_inline mhd_dtbl_destroy (struct mhd_HpackDTblContext *dyn)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: dtbl_get_size_max_formal
      Src: /src/mhd2/src/mhd2/h2/hpack/mhd_hpack_codec.c:3550,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - dyn
    argTypes:
    - struct mhd_HpackDTblContext*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3551
      start: 3547
    functionDepth: 1
    functionLinenumber: 3547
    functionLinenumberEnd: 3551
    functionName: mhd_dtbl_get_table_max_size
    functionSourceFile: /src/mhd2/src/mhd2/h2/hpack/mhd_hpack_codec.c
    functionUses: 5
    functionsReached:
    - dtbl_get_size_max_formal
    linkageType: ''
    returnType: MHD_FN_PURE_
    signature: MHD_FN_PURE_ mhd_dtbl_get_table_max_size (const struct mhd_HpackDTblContext
      *dyn)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: dtbl_get_used_formal
      Src: /src/mhd2/src/mhd2/h2/hpack/mhd_hpack_codec.c:3562,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - dyn
    argTypes:
    - struct mhd_HpackDTblContext*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3563
      start: 3559
    functionDepth: 2
    functionLinenumber: 3559
    functionLinenumberEnd: 3563
    functionName: mhd_dtbl_get_table_used
    functionSourceFile: /src/mhd2/src/mhd2/h2/hpack/mhd_hpack_codec.c
    functionUses: 2
    functionsReached:
    - dtbl_get_used_formal
    linkageType: ''
    returnType: MHD_FN_PURE_
    signature: MHD_FN_PURE_ mhd_dtbl_get_table_used (const struct mhd_HpackDTblContext
      *dyn)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: dtbl_get_num_entries
      Src: /src/mhd2/src/mhd2/h2/hpack/mhd_hpack_codec.c:3574,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - dyn
    argTypes:
    - struct mhd_HpackDTblContext*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3575
      start: 3571
    functionDepth: 1
    functionLinenumber: 3571
    functionLinenumberEnd: 3575
    functionName: mhd_dtbl_get_num_entries
    functionSourceFile: /src/mhd2/src/mhd2/h2/hpack/mhd_hpack_codec.c
    functionUses: 11
    functionsReached:
    - dtbl_get_num_entries
    linkageType: ''
    returnType: MHD_FN_PURE_
    signature: MHD_FN_PURE_ mhd_dtbl_get_num_entries (const struct mhd_HpackDTblContext
      *dyn)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: dtbl_is_empty
      Src: /src/mhd2/src/mhd2/h2/hpack/mhd_hpack_codec.c:3595,1
    - Dst: dtbl_reset
      Src: /src/mhd2/src/mhd2/h2/hpack/mhd_hpack_codec.c:3598,1
    - Dst: dtbl_get_used_formal
      Src: /src/mhd2/src/mhd2/h2/hpack/mhd_hpack_codec.c:3599,1
    - Dst: dtbl_evict_to_size
      Src: /src/mhd2/src/mhd2/h2/hpack/mhd_hpack_codec.c:3602,1
    - Dst: dtbl_check_internals
      Src: /src/mhd2/src/mhd2/h2/hpack/mhd_hpack_codec.c:3605,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 9
    argCount: 2
    argNames:
    - dyn
    - max_used_formal
    argTypes:
    - struct mhd_HpackDTblContext*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3606
      start: 3591
    functionDepth: 8
    functionLinenumber: 3591
    functionLinenumberEnd: 3606
    functionName: mhd_dtbl_evict_to_size
    functionSourceFile: /src/mhd2/src/mhd2/h2/hpack/mhd_hpack_codec.c
    functionUses: 3
    functionsReached:
    - dtbl_check_internals
    - dtbl_evict_to_size
    - dtbl_get_used_formal
    - dtbl_reset
    - dtbl_is_empty
    linkageType: ''
    returnType: void
    signature: "void mhd_dtbl_evict_to_size (struct mhd_HpackDTblContext *dyn,\n                        size_t
      max_used_formal)"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: dtbl_get_size_max_formal
      Src: /src/mhd2/src/mhd2/h2/hpack/mhd_hpack_codec.c:3627,1
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/h2/hpack/mhd_hpack_codec.c:3630,1
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/h2/hpack/mhd_hpack_codec.c:3631,1
    - Dst: mhd_DTBL_VALUE_FITS
      Src: /src/mhd2/src/mhd2/h2/hpack/mhd_hpack_codec.c:3631,1
    - Dst: dtbl_calc_alloc_size
      Src: /src/mhd2/src/mhd2/h2/hpack/mhd_hpack_codec.c:3636,1
    - Dst: realloc
      Src: /src/mhd2/src/mhd2/h2/hpack/mhd_hpack_codec.c:3643,1
    - Dst: dtbl_adapt_to_new_size
      Src: /src/mhd2/src/mhd2/h2/hpack/mhd_hpack_codec.c:3650,1
    - Dst: mhd_dtbl_evict_to_size
      Src: /src/mhd2/src/mhd2/h2/hpack/mhd_hpack_codec.c:3657,1
    - Dst: dtbl_adapt_to_new_size
      Src: /src/mhd2/src/mhd2/h2/hpack/mhd_hpack_codec.c:3661,1
    - Dst: realloc
      Src: /src/mhd2/src/mhd2/h2/hpack/mhd_hpack_codec.c:3667,1
    - Dst: mhd_COND_VIRTUALLY_ALWAYS
      Src: /src/mhd2/src/mhd2/h2/hpack/mhd_hpack_codec.c:3673,1
    - Dst: dtbl_check_internals
      Src: /src/mhd2/src/mhd2/h2/hpack/mhd_hpack_codec.c:3677,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 21
    argCount: 2
    argNames:
    - dyn_pp
    - dyn_table_size
    argTypes:
    - struct mhd_HpackDTblContext**
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3680
      start: 3623
    functionDepth: 11
    functionLinenumber: 3623
    functionLinenumberEnd: 3680
    functionName: mhd_dtbl_resize
    functionSourceFile: /src/mhd2/src/mhd2/h2/hpack/mhd_hpack_codec.c
    functionUses: 2
    functionsReached:
    - dtbl_calc_alloc_size
    - dtbl_check_internals
    - dtbl_get_size_max_formal
    - mhd_COND_VIRTUALLY_ALWAYS
    - realloc
    - dtbl_adapt_to_new_size
    - mhd_assert
    - mhd_dtbl_evict_to_size
    - mhd_DTBL_VALUE_FITS
    linkageType: ''
    returnType: bool
    signature: "bool mhd_dtbl_resize (struct mhd_HpackDTblContext **const dyn_pp,\n
      \                size_t dyn_table_size)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: mhd_COND_HARDLY_EVER
      Src: /src/mhd2/src/mhd2/h2/hpack/mhd_hpack_codec.c:3700,1
    - Dst: mhd_COND_HARDLY_EVER
      Src: /src/mhd2/src/mhd2/h2/hpack/mhd_hpack_codec.c:3703,1
    - Dst: dtbl_get_size_max_formal
      Src: /src/mhd2/src/mhd2/h2/hpack/mhd_hpack_codec.c:3706,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 3
    argNames:
    - dyn
    - name_len
    - val_len
    argTypes:
    - struct mhd_HpackDTblContext*
    - size_t
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3707
      start: 3691
    functionDepth: 1
    functionLinenumber: 3691
    functionLinenumberEnd: 3707
    functionName: mhd_dtbl_check_entry_fit
    functionSourceFile: /src/mhd2/src/mhd2/h2/hpack/mhd_hpack_codec.c
    functionUses: 0
    functionsReached:
    - mhd_COND_HARDLY_EVER
    - dtbl_get_size_max_formal
    linkageType: ''
    returnType: bool
    signature: "bool mhd_dtbl_check_entry_fit (struct mhd_HpackDTblContext *restrict
      dyn,\n                          size_t name_len,\n                          size_t
      val_len)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: mhd_COND_ALMOST_NEVER
      Src: /src/mhd2/src/mhd2/h2/hpack/mhd_hpack_codec.c:3732,1
    - Dst: mhd_dtbl_check_entry_fit
      Src: /src/mhd2/src/mhd2/h2/hpack/mhd_hpack_codec.c:3732,1
    - Dst: dtbl_reset
      Src: /src/mhd2/src/mhd2/h2/hpack/mhd_hpack_codec.c:3738,1
    - Dst: dtbl_get_free_formal
      Src: /src/mhd2/src/mhd2/h2/hpack/mhd_hpack_codec.c:3741,1
    - Dst: dtbl_new_entry_size_formal
      Src: /src/mhd2/src/mhd2/h2/hpack/mhd_hpack_codec.c:3742,1
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/h2/hpack/mhd_hpack_codec.c:3746,1
    - Dst: mhd_DTBL_VALUE_FITS
      Src: /src/mhd2/src/mhd2/h2/hpack/mhd_hpack_codec.c:3746,1
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/h2/hpack/mhd_hpack_codec.c:3747,1
    - Dst: mhd_DTBL_VALUE_FITS
      Src: /src/mhd2/src/mhd2/h2/hpack/mhd_hpack_codec.c:3747,1
    - Dst: dtbl_extend_with_entry
      Src: /src/mhd2/src/mhd2/h2/hpack/mhd_hpack_codec.c:3748,1
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/h2/hpack/mhd_hpack_codec.c:3758,1
    - Dst: mhd_DTBL_VALUE_FITS
      Src: /src/mhd2/src/mhd2/h2/hpack/mhd_hpack_codec.c:3758,1
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/h2/hpack/mhd_hpack_codec.c:3759,1
    - Dst: mhd_DTBL_VALUE_FITS
      Src: /src/mhd2/src/mhd2/h2/hpack/mhd_hpack_codec.c:3759,1
    - Dst: dtbl_evict_add_entry
      Src: /src/mhd2/src/mhd2/h2/hpack/mhd_hpack_codec.c:3760,1
    - Dst: dtbl_check_internals
      Src: /src/mhd2/src/mhd2/h2/hpack/mhd_hpack_codec.c:3767,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 14
    argCount: 5
    argNames:
    - dyn
    - name_len
    - name
    - val_len
    - val
    argTypes:
    - struct mhd_HpackDTblContext*
    - size_t
    - char*
    - size_t
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3768
      start: 3725
    functionDepth: 11
    functionLinenumber: 3725
    functionLinenumberEnd: 3768
    functionName: "(3, 2) MHD_FN_PAR_IN_SIZE_ (5, 4) void\nmhd_dtbl_new_entry (struct
      mhd_HpackDTblContext *restrict dyn,\n                    size_t name_len,\n
      \                   const char *restrict name,\n                    size_t val_len,\n
      \                   const char *restrict val)"
    functionSourceFile: /src/mhd2/src/mhd2/h2/hpack/mhd_hpack_codec.c
    functionUses: 0
    functionsReached:
    - mhd_COND_ALMOST_NEVER
    - dtbl_get_free_formal
    - mhd_dtbl_check_entry_fit
    - dtbl_new_entry_size_formal
    - dtbl_check_internals
    - dtbl_evict_add_entry
    - dtbl_extend_with_entry
    - dtbl_reset
    - mhd_assert
    - mhd_DTBL_VALUE_FITS
    linkageType: ''
    returnType: MHD_FN_PAR_IN_SIZE_
    signature: "MHD_FN_PAR_IN_SIZE_ (3, 2) MHD_FN_PAR_IN_SIZE_ (5, 4) void\nmhd_dtbl_new_entry
      (struct mhd_HpackDTblContext *restrict dyn,\n                    size_t name_len,\n
      \                   const char *restrict name,\n                    size_t val_len,\n
      \                   const char *restrict val)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/h2/hpack/mhd_hpack_codec.c:3803,1
    - Dst: dtbl_is_empty
      Src: /src/mhd2/src/mhd2/h2/hpack/mhd_hpack_codec.c:3804,1
    - Dst: dtbl_get_pos_edge
      Src: /src/mhd2/src/mhd2/h2/hpack/mhd_hpack_codec.c:3806,1
    - Dst: dtbl_pos_entry_infoc
      Src: /src/mhd2/src/mhd2/h2/hpack/mhd_hpack_codec.c:3809,1
    - Dst: dtbl_get_pos_from_hpack_idx
      Src: /src/mhd2/src/mhd2/h2/hpack/mhd_hpack_codec.c:3810,1
    - Dst: dtbl_entr_strs_ptr_startc
      Src: /src/mhd2/src/mhd2/h2/hpack/mhd_hpack_codec.c:3813,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 12
    argCount: 4
    argNames:
    - dyn
    - idx
    - name_out
    - value_out
    argTypes:
    - struct mhd_HpackDTblContext*
    - dtbl_idx_ft
    - struct mhd_BufferConst*
    - struct mhd_BufferConst*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3819
      start: 3796
    functionDepth: 5
    functionLinenumber: 3796
    functionLinenumberEnd: 3819
    functionName: "(3) MHD_FN_PAR_OUT_ (4) bool\nmhd_dtbl_get_entry (const struct
      mhd_HpackDTblContext *restrict dyn,\n                    dtbl_idx_ft idx,\n
      \                   struct mhd_BufferConst *restrict name_out,\n                    struct
      mhd_BufferConst *restrict value_out)"
    functionSourceFile: /src/mhd2/src/mhd2/h2/hpack/mhd_hpack_codec.c
    functionUses: 0
    functionsReached:
    - dtbl_entr_strs_ptr_startc
    - dtbl_get_pos_edge
    - dtbl_pos_entry_infoc
    - dtbl_get_pos_from_hpack_idx
    - mhd_assert
    - dtbl_is_empty
    linkageType: ''
    returnType: MHD_FN_PAR_OUT_
    signature: "MHD_FN_PAR_OUT_ (3) MHD_FN_PAR_OUT_ (4) bool\nmhd_dtbl_get_entry (const
      struct mhd_HpackDTblContext *restrict dyn,\n                    dtbl_idx_ft
      idx,\n                    struct mhd_BufferConst *restrict name_out,\n                    struct
      mhd_BufferConst *restrict value_out)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: dtbl_is_empty
      Src: /src/mhd2/src/mhd2/h2/hpack/mhd_hpack_codec.c:3845,1
    - Dst: mhd_COND_HARDLY_EVER
      Src: /src/mhd2/src/mhd2/h2/hpack/mhd_hpack_codec.c:3848,1
    - Dst: mhd_DTBL_VALUE_FITS
      Src: /src/mhd2/src/mhd2/h2/hpack/mhd_hpack_codec.c:3848,1
    - Dst: mhd_COND_HARDLY_EVER
      Src: /src/mhd2/src/mhd2/h2/hpack/mhd_hpack_codec.c:3850,1
    - Dst: mhd_DTBL_VALUE_FITS
      Src: /src/mhd2/src/mhd2/h2/hpack/mhd_hpack_codec.c:3850,1
    - Dst: dtbl_find_entry
      Src: /src/mhd2/src/mhd2/h2/hpack/mhd_hpack_codec.c:3853,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 8
    argCount: 5
    argNames:
    - dyn
    - name_len
    - name
    - val_len
    - val
    argTypes:
    - struct mhd_HpackDTblContext*
    - size_t
    - char*
    - size_t
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3858
      start: 3838
    functionDepth: 2
    functionLinenumber: 3838
    functionLinenumberEnd: 3858
    functionName: "(3, 2) MHD_FN_PAR_IN_SIZE_ (5, 4) dtbl_idx_t\nmhd_dtbl_find_entry
      (const struct mhd_HpackDTblContext *restrict dyn,\n                     size_t
      name_len,\n                     const char *restrict name,\n                     size_t
      val_len,\n                     const char *restrict val)"
    functionSourceFile: /src/mhd2/src/mhd2/h2/hpack/mhd_hpack_codec.c
    functionUses: 0
    functionsReached:
    - mhd_COND_HARDLY_EVER
    - dtbl_find_entry
    - dtbl_is_empty
    - mhd_DTBL_VALUE_FITS
    linkageType: ''
    returnType: MHD_FN_PAR_IN_SIZE_
    signature: "MHD_FN_PAR_IN_SIZE_ (3, 2) MHD_FN_PAR_IN_SIZE_ (5, 4) dtbl_idx_t\nmhd_dtbl_find_entry
      (const struct mhd_HpackDTblContext *restrict dyn,\n                     size_t
      name_len,\n                     const char *restrict name,\n                     size_t
      val_len,\n                     const char *restrict val)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: dtbl_is_empty
      Src: /src/mhd2/src/mhd2/h2/hpack/mhd_hpack_codec.c:3879,1
    - Dst: mhd_COND_HARDLY_EVER
      Src: /src/mhd2/src/mhd2/h2/hpack/mhd_hpack_codec.c:3882,1
    - Dst: mhd_DTBL_VALUE_FITS
      Src: /src/mhd2/src/mhd2/h2/hpack/mhd_hpack_codec.c:3882,1
    - Dst: dtbl_find_name
      Src: /src/mhd2/src/mhd2/h2/hpack/mhd_hpack_codec.c:3885,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 3
    argNames:
    - dyn
    - name_len
    - name
    argTypes:
    - struct mhd_HpackDTblContext*
    - size_t
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3888
      start: 3874
    functionDepth: 2
    functionLinenumber: 3874
    functionLinenumberEnd: 3888
    functionName: "(3, 2) dtbl_idx_t\nmhd_dtbl_find_name (const struct mhd_HpackDTblContext
      *restrict dyn,\n                    size_t name_len,\n                    const
      char *restrict name)"
    functionSourceFile: /src/mhd2/src/mhd2/h2/hpack/mhd_hpack_codec.c
    functionUses: 0
    functionsReached:
    - dtbl_find_name
    - mhd_COND_HARDLY_EVER
    - dtbl_is_empty
    - mhd_DTBL_VALUE_FITS
    linkageType: ''
    returnType: MHD_FN_PAR_IN_SIZE_
    signature: "MHD_FN_PAR_IN_SIZE_ (3, 2) dtbl_idx_t\nmhd_dtbl_find_name (const struct
      mhd_HpackDTblContext *restrict dyn,\n                    size_t name_len,\n
      \                   const char *restrict name)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/h2/hpack/mhd_hpack_codec.c:4012,1
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/h2/hpack/mhd_hpack_codec.c:4013,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - hpack_idx
    argTypes:
    - dtbl_idx_ft
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4015
      start: 4009
    functionDepth: 1
    functionLinenumber: 4009
    functionLinenumberEnd: 4015
    functionName: stbl_get_pos_from_hpack_idx
    functionSourceFile: /src/mhd2/src/mhd2/h2/hpack/mhd_hpack_codec.c
    functionUses: 0
    functionsReached:
    - mhd_assert
    linkageType: ''
    returnType: MHD_FN_CONST_
    signature: MHD_FN_CONST_ stbl_get_pos_from_hpack_idx (dtbl_idx_ft hpack_idx)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/h2/hpack/mhd_hpack_codec.c:4031,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - loc_pos
    argTypes:
    - dtbl_idx_ft
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4033
      start: 4028
    functionDepth: 1
    functionLinenumber: 4028
    functionLinenumberEnd: 4033
    functionName: stbl_get_hpack_idx_from_pos
    functionSourceFile: /src/mhd2/src/mhd2/h2/hpack/mhd_hpack_codec.c
    functionUses: 0
    functionsReached:
    - mhd_assert
    linkageType: ''
    returnType: MHD_FN_CONST_
    signature: MHD_FN_CONST_ stbl_get_hpack_idx_from_pos (dtbl_idx_ft loc_pos)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/h2/hpack/mhd_hpack_codec.c:4047,1
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/h2/hpack/mhd_hpack_codec.c:4049,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - loc_pos
    argTypes:
    - dtbl_idx_ft
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4051
      start: 4044
    functionDepth: 1
    functionLinenumber: 4044
    functionLinenumberEnd: 4051
    functionName: stbl_pos_entry_info
    functionSourceFile: /src/mhd2/src/mhd2/h2/hpack/mhd_hpack_codec.c
    functionUses: 0
    functionsReached:
    - mhd_assert
    linkageType: ''
    returnType: struct mhd_HpackStaticEntry
    signature: 'struct mhd_HpackStaticEntry *

      stbl_pos_entry_info (dtbl_idx_ft loc_pos)'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: stbl_pos_entry_info
      Src: /src/mhd2/src/mhd2/h2/hpack/mhd_hpack_codec.c:4065,1
    - Dst: stbl_get_pos_from_hpack_idx
      Src: /src/mhd2/src/mhd2/h2/hpack/mhd_hpack_codec.c:4065,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - hpack_idx
    argTypes:
    - dtbl_idx_ft
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4066
      start: 4062
    functionDepth: 2
    functionLinenumber: 4062
    functionLinenumberEnd: 4066
    functionName: stbl_idx_entry_info
    functionSourceFile: /src/mhd2/src/mhd2/h2/hpack/mhd_hpack_codec.c
    functionUses: 0
    functionsReached:
    - stbl_get_pos_from_hpack_idx
    - stbl_pos_entry_info
    linkageType: ''
    returnType: struct mhd_HpackStaticEntry
    signature: 'struct mhd_HpackStaticEntry *

      stbl_idx_entry_info (dtbl_idx_ft hpack_idx)'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: stbl_idx_entry_info
      Src: /src/mhd2/src/mhd2/h2/hpack/mhd_hpack_codec.c:4103,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 3
    argNames:
    - idx
    - name_out
    - value_out
    argTypes:
    - dtbl_idx_ft
    - struct mhd_BufferConst*
    - struct mhd_BufferConst*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4109
      start: 4098
    functionDepth: 3
    functionLinenumber: 4098
    functionLinenumberEnd: 4109
    functionName: "(2) MHD_FN_PAR_OUT_ (3) void\nmhd_stbl_get_entry (dtbl_idx_ft idx,\n
      \                   struct mhd_BufferConst *restrict name_out,\n                    struct
      mhd_BufferConst *restrict value_out)"
    functionSourceFile: /src/mhd2/src/mhd2/h2/hpack/mhd_hpack_codec.c
    functionUses: 0
    functionsReached:
    - stbl_idx_entry_info
    linkageType: ''
    returnType: MHD_FN_PAR_OUT_
    signature: "MHD_FN_PAR_OUT_ (2) MHD_FN_PAR_OUT_ (3) void\nmhd_stbl_get_entry (dtbl_idx_ft
      idx,\n                    struct mhd_BufferConst *restrict name_out,\n                    struct
      mhd_BufferConst *restrict value_out)"
  - BBCount: 13
    BranchProfiles: []
    Callsites:
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/h2/hpack/mhd_hpack_codec.c:4136,1
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/h2/hpack/mhd_hpack_codec.c:4137,1
    - Dst: mhd_COND_ALMOST_ALWAYS
      Src: /src/mhd2/src/mhd2/h2/hpack/mhd_hpack_codec.c:4140,1
    - Dst: stbl_pos_entry_info
      Src: /src/mhd2/src/mhd2/h2/hpack/mhd_hpack_codec.c:4146,1
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/h2/hpack/mhd_hpack_codec.c:4150,1
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/h2/hpack/mhd_hpack_codec.c:4151,1
    - Dst: memcmp
      Src: /src/mhd2/src/mhd2/h2/hpack/mhd_hpack_codec.c:4153,1
    - Dst: memcmp
      Src: /src/mhd2/src/mhd2/h2/hpack/mhd_hpack_codec.c:4157,1
    - Dst: stbl_get_hpack_idx_from_pos
      Src: /src/mhd2/src/mhd2/h2/hpack/mhd_hpack_codec.c:4162,1
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/h2/hpack/mhd_hpack_codec.c:4173,1
    - Dst: stbl_pos_entry_info
      Src: /src/mhd2/src/mhd2/h2/hpack/mhd_hpack_codec.c:4176,1
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/h2/hpack/mhd_hpack_codec.c:4183,1
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/h2/hpack/mhd_hpack_codec.c:4184,1
    - Dst: memcmp
      Src: /src/mhd2/src/mhd2/h2/hpack/mhd_hpack_codec.c:4185,1
    - Dst: stbl_get_hpack_idx_from_pos
      Src: /src/mhd2/src/mhd2/h2/hpack/mhd_hpack_codec.c:4190,1
    - Dst: stbl_pos_entry_info
      Src: /src/mhd2/src/mhd2/h2/hpack/mhd_hpack_codec.c:4200,1
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/h2/hpack/mhd_hpack_codec.c:4205,1
    - Dst: memcmp
      Src: /src/mhd2/src/mhd2/h2/hpack/mhd_hpack_codec.c:4206,1
    - Dst: memcmp
      Src: /src/mhd2/src/mhd2/h2/hpack/mhd_hpack_codec.c:4211,1
    - Dst: stbl_get_hpack_idx_from_pos
      Src: /src/mhd2/src/mhd2/h2/hpack/mhd_hpack_codec.c:4216,1
    CyclomaticComplexity: 21
    EdgeCount: 21
    ICount: 44
    argCount: 4
    argNames:
    - name_len
    - name
    - val_len
    - val
    argTypes:
    - size_t
    - char*
    - size_t
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4224
      start: 4129
    functionDepth: 2
    functionLinenumber: 4129
    functionLinenumberEnd: 4224
    functionName: "(2, 1) MHD_FN_PAR_IN_SIZE_ (4, 3) dtbl_idx_t\nmhd_stbl_find_entry_real
      (size_t name_len,\n                          const char *restrict name,\n                          size_t
      val_len,\n                          const char *restrict val)"
    functionSourceFile: /src/mhd2/src/mhd2/h2/hpack/mhd_hpack_codec.c
    functionUses: 0
    functionsReached:
    - mhd_COND_ALMOST_ALWAYS
    - mhd_assert
    - stbl_pos_entry_info
    - stbl_get_hpack_idx_from_pos
    - memcmp
    linkageType: ''
    returnType: MHD_FN_PAR_IN_SIZE_
    signature: "MHD_FN_PAR_IN_SIZE_ (2, 1) MHD_FN_PAR_IN_SIZE_ (4, 3) dtbl_idx_t\nmhd_stbl_find_entry_real
      (size_t name_len,\n                          const char *restrict name,\n                          size_t
      val_len,\n                          const char *restrict val)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/h2/hpack/mhd_hpack_codec.c:4247,1
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/h2/hpack/mhd_hpack_codec.c:4248,1
    - Dst: stbl_pos_entry_info
      Src: /src/mhd2/src/mhd2/h2/hpack/mhd_hpack_codec.c:4252,1
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/h2/hpack/mhd_hpack_codec.c:4256,1
    - Dst: memcmp
      Src: /src/mhd2/src/mhd2/h2/hpack/mhd_hpack_codec.c:4257,1
    - Dst: stbl_get_hpack_idx_from_pos
      Src: /src/mhd2/src/mhd2/h2/hpack/mhd_hpack_codec.c:4261,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 12
    argCount: 2
    argNames:
    - name_len
    - name
    argTypes:
    - size_t
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4266
      start: 4241
    functionDepth: 2
    functionLinenumber: 4241
    functionLinenumberEnd: 4266
    functionName: "(2, 1) dtbl_idx_t\nmhd_stbl_find_name_real (size_t name_len,\n
      \                        const char *restrict name)"
    functionSourceFile: /src/mhd2/src/mhd2/h2/hpack/mhd_hpack_codec.c
    functionUses: 0
    functionsReached:
    - stbl_get_hpack_idx_from_pos
    - memcmp
    - mhd_assert
    - stbl_pos_entry_info
    linkageType: ''
    returnType: MHD_FN_PAR_IN_SIZE_
    signature: "MHD_FN_PAR_IN_SIZE_ (2, 1) dtbl_idx_t\nmhd_stbl_find_name_real (size_t
      name_len,\n                         const char *restrict name)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: mhd_COND_HARDLY_EVER
      Src: /src/mhd2/src/mhd2/h2/hpack/mhd_hpack_codec.c:4299,1
    - Dst: mhd_stbl_get_entry
      Src: /src/mhd2/src/mhd2/h2/hpack/mhd_hpack_codec.c:4303,1
    - Dst: mhd_dtbl_get_entry
      Src: /src/mhd2/src/mhd2/h2/hpack/mhd_hpack_codec.c:4309,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 4
    argNames:
    - dyn
    - idx
    - name_out
    - value_out
    argTypes:
    - struct mhd_HpackDTblContext*
    - dtbl_idx_ft
    - struct mhd_BufferConst*
    - struct mhd_BufferConst*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4313
      start: 4293
    functionDepth: 1
    functionLinenumber: 4293
    functionLinenumberEnd: 4313
    functionName: "(3) MHD_FN_PAR_OUT_ (4) bool\nmhd_htbl_get_entry (const struct
      mhd_HpackDTblContext *restrict dyn,\n                    dtbl_idx_ft idx,\n
      \                   struct mhd_BufferConst *restrict name_out,\n                    struct
      mhd_BufferConst *restrict value_out)"
    functionSourceFile: /src/mhd2/src/mhd2/h2/hpack/mhd_hpack_codec.c
    functionUses: 0
    functionsReached:
    - mhd_stbl_get_entry
    - mhd_COND_HARDLY_EVER
    - mhd_dtbl_get_entry
    linkageType: ''
    returnType: MHD_FN_PAR_OUT_
    signature: "MHD_FN_PAR_OUT_ (3) MHD_FN_PAR_OUT_ (4) bool\nmhd_htbl_get_entry (const
      struct mhd_HpackDTblContext *restrict dyn,\n                    dtbl_idx_ft
      idx,\n                    struct mhd_BufferConst *restrict name_out,\n                    struct
      mhd_BufferConst *restrict value_out)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/h2/hpack/mhd_hpack_codec.c:4342,1
    - Dst: mhd_stbl_find_entry_real
      Src: /src/mhd2/src/mhd2/h2/hpack/mhd_hpack_codec.c:4346,1
    - Dst: mhd_dtbl_find_entry
      Src: /src/mhd2/src/mhd2/h2/hpack/mhd_hpack_codec.c:4354,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 8
    argCount: 5
    argNames:
    - dyn
    - name_len
    - name
    - val_len
    - val
    argTypes:
    - struct mhd_HpackDTblContext*
    - size_t
    - char*
    - size_t
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4361
      start: 4333
    functionDepth: 1
    functionLinenumber: 4333
    functionLinenumberEnd: 4361
    functionName: "(3, 2) MHD_FN_PAR_IN_SIZE_ (5, 4) dtbl_idx_t\nmhd_htbl_find_entry_real
      (const struct mhd_HpackDTblContext *restrict dyn,\n                          size_t
      name_len,\n                          const char *restrict name,\n                          size_t
      val_len,\n                          const char *restrict val)"
    functionSourceFile: /src/mhd2/src/mhd2/h2/hpack/mhd_hpack_codec.c
    functionUses: 0
    functionsReached:
    - mhd_stbl_find_entry_real
    - mhd_assert
    - mhd_dtbl_find_entry
    linkageType: ''
    returnType: MHD_FN_PAR_IN_SIZE_
    signature: "MHD_FN_PAR_IN_SIZE_ (3, 2) MHD_FN_PAR_IN_SIZE_ (5, 4) dtbl_idx_t\nmhd_htbl_find_entry_real
      (const struct mhd_HpackDTblContext *restrict dyn,\n                          size_t
      name_len,\n                          const char *restrict name,\n                          size_t
      val_len,\n                          const char *restrict val)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/h2/hpack/mhd_hpack_codec.c:4385,1
    - Dst: mhd_stbl_find_name_real
      Src: /src/mhd2/src/mhd2/h2/hpack/mhd_hpack_codec.c:4389,1
    - Dst: mhd_dtbl_find_name
      Src: /src/mhd2/src/mhd2/h2/hpack/mhd_hpack_codec.c:4395,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 8
    argCount: 3
    argNames:
    - dyn
    - name_len
    - name
    argTypes:
    - struct mhd_HpackDTblContext*
    - size_t
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4400
      start: 4378
    functionDepth: 1
    functionLinenumber: 4378
    functionLinenumberEnd: 4400
    functionName: "(3, 2) dtbl_idx_t\nmhd_htbl_find_name_real (const struct mhd_HpackDTblContext
      *restrict dyn,\n                         size_t name_len,\n                         const
      char *restrict name)"
    functionSourceFile: /src/mhd2/src/mhd2/h2/hpack/mhd_hpack_codec.c
    functionUses: 0
    functionsReached:
    - mhd_stbl_find_name_real
    - mhd_assert
    - mhd_dtbl_find_name
    linkageType: ''
    returnType: MHD_FN_PAR_IN_SIZE_
    signature: "MHD_FN_PAR_IN_SIZE_ (3, 2) dtbl_idx_t\nmhd_htbl_find_name_real (const
      struct mhd_HpackDTblContext *restrict dyn,\n                         size_t
      name_len,\n                         const char *restrict name)"
  - BBCount: 19
    BranchProfiles: []
    Callsites:
    - Dst: MHD_FN_PAR_DYN_ARR_SIZE_
      Src: /src/mhd2/src/mhd2/h2/hpack/mhd_hpack_codec.c:4458,1
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/h2/hpack/mhd_hpack_codec.c:4469,1
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/h2/hpack/mhd_hpack_codec.c:4470,1
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/h2/hpack/mhd_hpack_codec.c:4575,1
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/h2/hpack/mhd_hpack_codec.c:4576,1
    CyclomaticComplexity: 20
    EdgeCount: 20
    ICount: 90
    argCount: 5
    argNames:
    - first_byte_prefix_bits
    - buf_size
    - buf
    - num_out
    - bytes_decoded
    argTypes:
    - uint_fast8_t
    - size_t
    - uint8_t[]
    - uint_fast32_t*
    - size_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4621
      start: 4455
    functionDepth: 1
    functionLinenumber: 4455
    functionLinenumberEnd: 4621
    functionName: hpack_dec_number
    functionSourceFile: /src/mhd2/src/mhd2/h2/hpack/mhd_hpack_codec.c
    functionUses: 0
    functionsReached:
    - mhd_assert
    - MHD_FN_PAR_DYN_ARR_SIZE_
    linkageType: ''
    returnType: enum mhd_HpackGetNumResult
    signature: "enum mhd_HpackGetNumResult hpack_dec_number (uint_fast8_t first_byte_prefix_bits,\n
      \                 const size_t buf_size,\n                  const uint8_t buf[MHD_FN_PAR_DYN_ARR_SIZE_
      (buf_size)],\n                  uint_fast32_t *restrict num_out,\n                  size_t
      *restrict bytes_decoded)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: mhd_dtbl_create
      Src: /src/mhd2/src/mhd2/h2/hpack/mhd_hpack_codec.c:4628,1
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/h2/hpack/mhd_hpack_codec.c:4633,1
    - Dst: mhd_dtbl_get_table_max_size
      Src: /src/mhd2/src/mhd2/h2/hpack/mhd_hpack_codec.c:4634,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 1
    argNames:
    - hk_dec
    argTypes:
    - struct mhd_HpackDecContext*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4640
      start: 4625
    functionDepth: 9
    functionLinenumber: 4625
    functionLinenumberEnd: 4640
    functionName: mhd_hpack_dec_init
    functionSourceFile: /src/mhd2/src/mhd2/h2/hpack/mhd_hpack_codec.c
    functionUses: 1
    functionsReached:
    - mhd_assert
    - mhd_dtbl_get_table_max_size
    - mhd_dtbl_create
    linkageType: ''
    returnType: bool
    signature: bool mhd_hpack_dec_init (struct mhd_HpackDecContext *hk_dec)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: mhd_dtbl_destroy
      Src: /src/mhd2/src/mhd2/h2/hpack/mhd_hpack_codec.c:4650,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - hk_dec
    argTypes:
    - struct mhd_HpackDecContext*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4652
      start: 4644
    functionDepth: 9
    functionLinenumber: 4644
    functionLinenumberEnd: 4652
    functionName: mhd_hpack_dec_deinit
    functionSourceFile: /src/mhd2/src/mhd2/h2/hpack/mhd_hpack_codec.c
    functionUses: 2
    functionsReached:
    - mhd_dtbl_destroy
    linkageType: ''
    returnType: void
    signature: void mhd_hpack_dec_deinit (struct mhd_HpackDecContext *hk_dec)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/h2/hpack/mhd_hpack_codec.c:4660,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - hk_dec
    - new_allowed_dyn_size
    argTypes:
    - struct mhd_HpackDecContext*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4662
      start: 4656
    functionDepth: 1
    functionLinenumber: 4656
    functionLinenumberEnd: 4662
    functionName: mhd_hpack_dec_set_allowed_dyn_size
    functionSourceFile: /src/mhd2/src/mhd2/h2/hpack/mhd_hpack_codec.c
    functionUses: 0
    functionsReached:
    - mhd_assert
    linkageType: ''
    returnType: void
    signature: "void mhd_hpack_dec_set_allowed_dyn_size (struct mhd_HpackDecContext
      *hk_dec,\n                                    size_t new_allowed_dyn_size)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/h2/hpack/mhd_hpack_codec.c:4677,1
    - Dst: mhd_dtbl_get_table_max_size
      Src: /src/mhd2/src/mhd2/h2/hpack/mhd_hpack_codec.c:4681,1
    - Dst: mhd_dtbl_resize
      Src: /src/mhd2/src/mhd2/h2/hpack/mhd_hpack_codec.c:4684,1
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/h2/hpack/mhd_hpack_codec.c:4689,1
    - Dst: mhd_dtbl_get_table_max_size
      Src: /src/mhd2/src/mhd2/h2/hpack/mhd_hpack_codec.c:4689,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 10
    argCount: 1
    argNames:
    - hk_dec
    argTypes:
    - struct mhd_HpackDecContext*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4692
      start: 4674
    functionDepth: 12
    functionLinenumber: 4674
    functionLinenumberEnd: 4692
    functionName: dec_check_resize_pending
    functionSourceFile: /src/mhd2/src/mhd2/h2/hpack/mhd_hpack_codec.c
    functionUses: 0
    functionsReached:
    - mhd_dtbl_resize
    - mhd_assert
    - mhd_dtbl_get_table_max_size
    linkageType: ''
    returnType: enum mhd_HpackDecResult
    signature: enum mhd_HpackDecResult dec_check_resize_pending (struct mhd_HpackDecContext
      *restrict hk_dec)
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/h2/hpack/mhd_hpack_codec.c:4729,1
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/h2/hpack/mhd_hpack_codec.c:4730,1
    - Dst: dec_check_resize_pending
      Src: /src/mhd2/src/mhd2/h2/hpack/mhd_hpack_codec.c:4734,1
    - Dst: mhd_HPACK_DEC_RES_IS_ERR
      Src: /src/mhd2/src/mhd2/h2/hpack/mhd_hpack_codec.c:4735,1
    - Dst: hpack_dec_number
      Src: /src/mhd2/src/mhd2/h2/hpack/mhd_hpack_codec.c:4738,1
    - Dst: mhd_UNREACHABLE
      Src: /src/mhd2/src/mhd2/h2/hpack/mhd_hpack_codec.c:4754,1
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/h2/hpack/mhd_hpack_codec.c:4758,1
    - Dst: mhd_COND_HARDLY_EVER
      Src: /src/mhd2/src/mhd2/h2/hpack/mhd_hpack_codec.c:4760,1
    - Dst: mhd_htbl_get_entry
      Src: /src/mhd2/src/mhd2/h2/hpack/mhd_hpack_codec.c:4763,1
    - Dst: memcpy
      Src: /src/mhd2/src/mhd2/h2/hpack/mhd_hpack_codec.c:4774,1
    - Dst: memcpy
      Src: /src/mhd2/src/mhd2/h2/hpack/mhd_hpack_codec.c:4779,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 35
    argCount: 8
    argNames:
    - hk_dec
    - enc_data_size
    - enc_data
    - out_buff_size
    - out_buff
    - name_len
    - val_len
    - bytes_decoded
    argTypes:
    - struct mhd_HpackDecContext*
    - size_t
    - uint8_t*
    - size_t
    - char*
    - size_t*
    - size_t*
    - size_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4789
      start: 4712
    functionDepth: 13
    functionLinenumber: 4712
    functionLinenumberEnd: 4789
    functionName: hpack_dec_field_indexed
    functionSourceFile: /src/mhd2/src/mhd2/h2/hpack/mhd_hpack_codec.c
    functionUses: 0
    functionsReached:
    - mhd_htbl_get_entry
    - hpack_dec_number
    - memcpy
    - dec_check_resize_pending
    - mhd_COND_HARDLY_EVER
    - mhd_UNREACHABLE
    - mhd_HPACK_DEC_RES_IS_ERR
    - mhd_assert
    linkageType: ''
    returnType: enum mhd_HpackDecResult
    signature: "enum mhd_HpackDecResult hpack_dec_field_indexed (struct mhd_HpackDecContext
      *restrict hk_dec,\n                         size_t enc_data_size,\n                         const
      uint8_t *restrict enc_data,\n                         size_t out_buff_size,\n
      \                        char *restrict out_buff,\n                         size_t
      *restrict name_len,\n                         size_t *restrict val_len,\n                         size_t
      *restrict bytes_decoded)"
  - BBCount: 14
    BranchProfiles: []
    Callsites:
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/h2/hpack/mhd_hpack_codec.c:4822,1
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/h2/hpack/mhd_hpack_codec.c:4823,1
    - Dst: hpack_dec_number
      Src: /src/mhd2/src/mhd2/h2/hpack/mhd_hpack_codec.c:4825,1
    - Dst: mhd_UNREACHABLE
      Src: /src/mhd2/src/mhd2/h2/hpack/mhd_hpack_codec.c:4841,1
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/h2/hpack/mhd_hpack_codec.c:4845,1
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/h2/hpack/mhd_hpack_codec.c:4846,1
    - Dst: mhd_COND_HARDLY_EVER
      Src: /src/mhd2/src/mhd2/h2/hpack/mhd_hpack_codec.c:4851,1
    - Dst: mhd_h2_huffman_decode
      Src: /src/mhd2/src/mhd2/h2/hpack/mhd_hpack_codec.c:4859,1
    - Dst: mhd_UNREACHABLE
      Src: /src/mhd2/src/mhd2/h2/hpack/mhd_hpack_codec.c:4874,1
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/h2/hpack/mhd_hpack_codec.c:4877,1
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/h2/hpack/mhd_hpack_codec.c:4878,1
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/h2/hpack/mhd_hpack_codec.c:4879,1
    - Dst: memcpy
      Src: /src/mhd2/src/mhd2/h2/hpack/mhd_hpack_codec.c:4887,1
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/h2/hpack/mhd_hpack_codec.c:4892,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 51
    argCount: 6
    argNames:
    - enc_data_size
    - enc_data
    - out_buff_size
    - out_buff
    - out_len
    - bytes_decoded
    argTypes:
    - size_t
    - uint8_t*
    - size_t
    - char*
    - size_t*
    - size_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4898
      start: 4808
    functionDepth: 2
    functionLinenumber: 4808
    functionLinenumberEnd: 4898
    functionName: hpack_dec_string_literal
    functionSourceFile: /src/mhd2/src/mhd2/h2/hpack/mhd_hpack_codec.c
    functionUses: 0
    functionsReached:
    - hpack_dec_number
    - memcpy
    - mhd_h2_huffman_decode
    - mhd_COND_HARDLY_EVER
    - mhd_UNREACHABLE
    - mhd_assert
    linkageType: ''
    returnType: enum mhd_HpackDecResult
    signature: "enum mhd_HpackDecResult hpack_dec_string_literal (size_t enc_data_size,\n
      \                         const uint8_t *restrict enc_data,\n                          size_t
      out_buff_size,\n                          char *restrict out_buff,\n                          size_t
      *restrict out_len,\n                          size_t *restrict bytes_decoded)"
  - BBCount: 18
    BranchProfiles: []
    Callsites:
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/h2/hpack/mhd_hpack_codec.c:4940,1
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/h2/hpack/mhd_hpack_codec.c:4942,1
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/h2/hpack/mhd_hpack_codec.c:4944,1
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/h2/hpack/mhd_hpack_codec.c:4945,1
    - Dst: dec_check_resize_pending
      Src: /src/mhd2/src/mhd2/h2/hpack/mhd_hpack_codec.c:4949,1
    - Dst: mhd_HPACK_DEC_RES_IS_ERR
      Src: /src/mhd2/src/mhd2/h2/hpack/mhd_hpack_codec.c:4950,1
    - Dst: hpack_dec_number
      Src: /src/mhd2/src/mhd2/h2/hpack/mhd_hpack_codec.c:4965,1
    - Dst: mhd_UNREACHABLE
      Src: /src/mhd2/src/mhd2/h2/hpack/mhd_hpack_codec.c:4981,1
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/h2/hpack/mhd_hpack_codec.c:4985,1
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/h2/hpack/mhd_hpack_codec.c:4987,1
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/h2/hpack/mhd_hpack_codec.c:4992,1
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/h2/hpack/mhd_hpack_codec.c:4999,1
    - Dst: hpack_dec_string_literal
      Src: /src/mhd2/src/mhd2/h2/hpack/mhd_hpack_codec.c:5002,1
    - Dst: mhd_HPACK_DEC_RES_IS_ERR
      Src: /src/mhd2/src/mhd2/h2/hpack/mhd_hpack_codec.c:5008,1
    - Dst: mhd_COND_HARDLY_EVER
      Src: /src/mhd2/src/mhd2/h2/hpack/mhd_hpack_codec.c:5016,1
    - Dst: mhd_htbl_get_entry
      Src: /src/mhd2/src/mhd2/h2/hpack/mhd_hpack_codec.c:5019,1
    - Dst: memcpy
      Src: /src/mhd2/src/mhd2/h2/hpack/mhd_hpack_codec.c:5028,1
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/h2/hpack/mhd_hpack_codec.c:5041,1
    - Dst: hpack_dec_string_literal
      Src: /src/mhd2/src/mhd2/h2/hpack/mhd_hpack_codec.c:5042,1
    - Dst: mhd_HPACK_DEC_RES_IS_ERR
      Src: /src/mhd2/src/mhd2/h2/hpack/mhd_hpack_codec.c:5048,1
    - Dst: mhd_dtbl_new_entry
      Src: /src/mhd2/src/mhd2/h2/hpack/mhd_hpack_codec.c:5055,1
    CyclomaticComplexity: 17
    EdgeCount: 17
    ICount: 65
    argCount: 9
    argNames:
    - hk_dec
    - enc_data_size
    - enc_data
    - with_indexing
    - out_buff_size
    - out_buff
    - name_len
    - val_len
    - bytes_decoded
    argTypes:
    - struct mhd_HpackDecContext*
    - size_t
    - uint8_t*
    - bool
    - size_t
    - char*
    - size_t*
    - size_t*
    - size_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5062
      start: 4923
    functionDepth: 13
    functionLinenumber: 4923
    functionLinenumberEnd: 5062
    functionName: hpack_dec_field_literal
    functionSourceFile: /src/mhd2/src/mhd2/h2/hpack/mhd_hpack_codec.c
    functionUses: 0
    functionsReached:
    - mhd_dtbl_new_entry
    - mhd_htbl_get_entry
    - hpack_dec_number
    - memcpy
    - dec_check_resize_pending
    - mhd_COND_HARDLY_EVER
    - mhd_UNREACHABLE
    - mhd_HPACK_DEC_RES_IS_ERR
    - hpack_dec_string_literal
    - mhd_assert
    linkageType: ''
    returnType: enum mhd_HpackDecResult
    signature: "enum mhd_HpackDecResult hpack_dec_field_literal (struct mhd_HpackDecContext
      *restrict hk_dec,\n                         size_t enc_data_size,\n                         const
      uint8_t *restrict enc_data,\n                         bool with_indexing,\n
      \                        size_t out_buff_size,\n                         char
      *restrict out_buff,\n                         size_t *restrict name_len,\n                         size_t
      *restrict val_len,\n                         size_t *restrict bytes_decoded)"
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/h2/hpack/mhd_hpack_codec.c:5087,1
    - Dst: hpack_dec_number
      Src: /src/mhd2/src/mhd2/h2/hpack/mhd_hpack_codec.c:5089,1
    - Dst: mhd_UNREACHABLE
      Src: /src/mhd2/src/mhd2/h2/hpack/mhd_hpack_codec.c:5105,1
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/h2/hpack/mhd_hpack_codec.c:5108,1
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/h2/hpack/mhd_hpack_codec.c:5113,1
    - Dst: mhd_dtbl_evict_to_size
      Src: /src/mhd2/src/mhd2/h2/hpack/mhd_hpack_codec.c:5117,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 24
    argCount: 4
    argNames:
    - hk_dec
    - enc_data_size
    - enc_data
    - bytes_decoded
    argTypes:
    - struct mhd_HpackDecContext*
    - size_t
    - uint8_t*
    - size_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5124
      start: 5076
    functionDepth: 9
    functionLinenumber: 5076
    functionLinenumberEnd: 5124
    functionName: "(3, 2)\nMHD_FN_PAR_OUT_ (4) enum mhd_HpackDecResult\ndec_update_dyn_size
      (struct mhd_HpackDecContext *restrict hk_dec,\n                     const size_t
      enc_data_size,\n                     const uint8_t *restrict enc_data,\n                     size_t
      *restrict bytes_decoded)"
    functionSourceFile: /src/mhd2/src/mhd2/h2/hpack/mhd_hpack_codec.c
    functionUses: 0
    functionsReached:
    - mhd_UNREACHABLE
    - mhd_assert
    - mhd_dtbl_evict_to_size
    - hpack_dec_number
    linkageType: ''
    returnType: MHD_FN_PAR_IN_SIZE_
    signature: "MHD_FN_PAR_IN_SIZE_ (3, 2)\nMHD_FN_PAR_OUT_ (4) enum mhd_HpackDecResult\ndec_update_dyn_size
      (struct mhd_HpackDecContext *restrict hk_dec,\n                     const size_t
      enc_data_size,\n                     const uint8_t *restrict enc_data,\n                     size_t
      *restrict bytes_decoded)"
  - BBCount: 18
    BranchProfiles: []
    Callsites:
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/h2/hpack/mhd_hpack_codec.c:5144,1
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/h2/hpack/mhd_hpack_codec.c:5145,1
    - Dst: hpack_dec_field_indexed
      Src: /src/mhd2/src/mhd2/h2/hpack/mhd_hpack_codec.c:5160,1
    - Dst: hpack_dec_field_literal
      Src: /src/mhd2/src/mhd2/h2/hpack/mhd_hpack_codec.c:5173,1
    - Dst: hpack_dec_field_literal
      Src: /src/mhd2/src/mhd2/h2/hpack/mhd_hpack_codec.c:5184,1
    - Dst: hpack_dec_field_literal
      Src: /src/mhd2/src/mhd2/h2/hpack/mhd_hpack_codec.c:5195,1
    - Dst: dec_update_dyn_size
      Src: /src/mhd2/src/mhd2/h2/hpack/mhd_hpack_codec.c:5207,1
    - Dst: mhd_UNREACHABLE
      Src: /src/mhd2/src/mhd2/h2/hpack/mhd_hpack_codec.c:5214,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 31
    argCount: 8
    argNames:
    - hk_dec
    - enc_data_size
    - enc_data
    - out_buff_size
    - out_buff
    - name_len
    - val_len
    - bytes_decoded
    argTypes:
    - struct mhd_HpackDecContext*
    - size_t
    - uint8_t*
    - size_t
    - char*
    - size_t*
    - size_t*
    - size_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5216
      start: 5132
    functionDepth: 14
    functionLinenumber: 5132
    functionLinenumberEnd: 5216
    functionName: mhd_hpack_dec_data
    functionSourceFile: /src/mhd2/src/mhd2/h2/hpack/mhd_hpack_codec.c
    functionUses: 1
    functionsReached:
    - hpack_dec_field_indexed
    - mhd_UNREACHABLE
    - dec_update_dyn_size
    - hpack_dec_field_literal
    - mhd_assert
    linkageType: ''
    returnType: enum mhd_HpackDecResult
    signature: "enum mhd_HpackDecResult mhd_hpack_dec_data (struct mhd_HpackDecContext
      *restrict hk_dec,\n                    size_t enc_data_size,\n                    const
      uint8_t *restrict enc_data,\n                    size_t out_buff_size,\n                    char
      *restrict out_buff,\n                    size_t *restrict name_len,\n                    size_t
      *restrict val_len,\n                    size_t *restrict bytes_decoded)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/h2/hpack/mhd_hpack_codec.c:5245,1
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/h2/hpack/mhd_hpack_codec.c:5246,1
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/h2/hpack/mhd_hpack_codec.c:5247,1
    - Dst: mhd_BIT_WIDTH32NZ
      Src: /src/mhd2/src/mhd2/h2/hpack/mhd_hpack_codec.c:5255,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 2
    argNames:
    - prefix_bits
    - number
    argTypes:
    - uint_fast8_t
    - uint_fast32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5256
      start: 5237
    functionDepth: 1
    functionLinenumber: 5237
    functionLinenumberEnd: 5256
    functionName: hpack_number_len
    functionSourceFile: /src/mhd2/src/mhd2/h2/hpack/mhd_hpack_codec.c
    functionUses: 0
    functionsReached:
    - mhd_assert
    - mhd_BIT_WIDTH32NZ
    linkageType: ''
    returnType: size_t
    signature: "size_t hpack_number_len (uint_fast8_t prefix_bits,\n                  uint_fast32_t
      number)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: MHD_FN_PAR_DYN_ARR_SIZE_
      Src: /src/mhd2/src/mhd2/h2/hpack/mhd_hpack_codec.c:5283,1
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/h2/hpack/mhd_hpack_codec.c:5290,1
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/h2/hpack/mhd_hpack_codec.c:5291,1
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/h2/hpack/mhd_hpack_codec.c:5292,1
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/h2/hpack/mhd_hpack_codec.c:5293,1
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/h2/hpack/mhd_hpack_codec.c:5294,1
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/h2/hpack/mhd_hpack_codec.c:5295,1
    - Dst: mhd_COND_PREDOMINANTLY
      Src: /src/mhd2/src/mhd2/h2/hpack/mhd_hpack_codec.c:5304,1
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/h2/hpack/mhd_hpack_codec.c:5310,1
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/h2/hpack/mhd_hpack_codec.c:5315,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 24
    argCount: 5
    argNames:
    - first_byte_prefix
    - first_byte_prefix_bits
    - number
    - buf_size
    - buf
    argTypes:
    - uint_fast8_t
    - uint_fast8_t
    - uint_fast32_t
    - size_t
    - uint8_t[]
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5318
      start: 5278
    functionDepth: 1
    functionLinenumber: 5278
    functionLinenumberEnd: 5318
    functionName: "(5, 4) size_t\nhpack_put_number_to_buf (uint_fast8_t first_byte_prefix,\n
      \                        uint_fast8_t first_byte_prefix_bits,\n                         uint_fast32_t
      number,\n                         size_t buf_size,\n                         uint8_t
      buf[MHD_FN_PAR_DYN_ARR_SIZE_ (buf_size)])"
    functionSourceFile: /src/mhd2/src/mhd2/h2/hpack/mhd_hpack_codec.c
    functionUses: 0
    functionsReached:
    - mhd_assert
    - MHD_FN_PAR_DYN_ARR_SIZE_
    - mhd_COND_PREDOMINANTLY
    linkageType: ''
    returnType: MHD_FN_PAR_OUT_SIZE_
    signature: "MHD_FN_PAR_OUT_SIZE_ (5, 4) size_t\nhpack_put_number_to_buf (uint_fast8_t
      first_byte_prefix,\n                         uint_fast8_t first_byte_prefix_bits,\n
      \                        uint_fast32_t number,\n                         size_t
      buf_size,\n                         uint8_t buf[MHD_FN_PAR_DYN_ARR_SIZE_ (buf_size)])"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: mhd_dtbl_create
      Src: /src/mhd2/src/mhd2/h2/hpack/mhd_hpack_codec.c:5325,1
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/h2/hpack/mhd_hpack_codec.c:5330,1
    - Dst: mhd_dtbl_get_table_max_size
      Src: /src/mhd2/src/mhd2/h2/hpack/mhd_hpack_codec.c:5331,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 9
    argCount: 1
    argNames:
    - hk_enc
    argTypes:
    - struct mhd_HpackEncContext*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5339
      start: 5322
    functionDepth: 9
    functionLinenumber: 5322
    functionLinenumberEnd: 5339
    functionName: mhd_hpack_enc_init
    functionSourceFile: /src/mhd2/src/mhd2/h2/hpack/mhd_hpack_codec.c
    functionUses: 1
    functionsReached:
    - mhd_assert
    - mhd_dtbl_get_table_max_size
    - mhd_dtbl_create
    linkageType: ''
    returnType: bool
    signature: bool mhd_hpack_enc_init (struct mhd_HpackEncContext *hk_enc)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: mhd_dtbl_destroy
      Src: /src/mhd2/src/mhd2/h2/hpack/mhd_hpack_codec.c:5349,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - hk_enc
    argTypes:
    - struct mhd_HpackEncContext*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5351
      start: 5343
    functionDepth: 9
    functionLinenumber: 5343
    functionLinenumberEnd: 5351
    functionName: mhd_hpack_enc_deinit
    functionSourceFile: /src/mhd2/src/mhd2/h2/hpack/mhd_hpack_codec.c
    functionUses: 2
    functionsReached:
    - mhd_dtbl_destroy
    linkageType: ''
    returnType: void
    signature: void mhd_hpack_enc_deinit (struct mhd_HpackEncContext *hk_enc)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/h2/hpack/mhd_hpack_codec.c:5359,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 2
    argNames:
    - hk_enc
    - new_dyn_size
    argTypes:
    - struct mhd_HpackEncContext*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5366
      start: 5355
    functionDepth: 1
    functionLinenumber: 5355
    functionLinenumberEnd: 5366
    functionName: mhd_hpack_enc_set_dyn_size
    functionSourceFile: /src/mhd2/src/mhd2/h2/hpack/mhd_hpack_codec.c
    functionUses: 1
    functionsReached:
    - mhd_assert
    linkageType: ''
    returnType: void
    signature: "void mhd_hpack_enc_set_dyn_size (struct mhd_HpackEncContext *hk_enc,\n
      \                           size_t new_dyn_size)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/h2/hpack/mhd_hpack_codec.c:5373,1
    - Dst: mhd_dtbl_get_table_max_size
      Src: /src/mhd2/src/mhd2/h2/hpack/mhd_hpack_codec.c:5375,1
    - Dst: mhd_dtbl_evict_to_size
      Src: /src/mhd2/src/mhd2/h2/hpack/mhd_hpack_codec.c:5379,1
    - Dst: mhd_COND_HARDLY_EVER
      Src: /src/mhd2/src/mhd2/h2/hpack/mhd_hpack_codec.c:5383,1
    - Dst: mhd_dtbl_resize
      Src: /src/mhd2/src/mhd2/h2/hpack/mhd_hpack_codec.c:5383,1
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/h2/hpack/mhd_hpack_codec.c:5387,1
    - Dst: mhd_dtbl_get_table_max_size
      Src: /src/mhd2/src/mhd2/h2/hpack/mhd_hpack_codec.c:5387,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 1
    argNames:
    - hk_enc
    argTypes:
    - struct mhd_HpackEncContext*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5392
      start: 5370
    functionDepth: 12
    functionLinenumber: 5370
    functionLinenumberEnd: 5392
    functionName: mhd_hpack_enc_dyn_resize
    functionSourceFile: /src/mhd2/src/mhd2/h2/hpack/mhd_hpack_codec.c
    functionUses: 1
    functionsReached:
    - mhd_COND_HARDLY_EVER
    - mhd_dtbl_resize
    - mhd_dtbl_get_table_max_size
    - mhd_assert
    - mhd_dtbl_evict_to_size
    linkageType: ''
    returnType: bool
    signature: bool mhd_hpack_enc_dyn_resize (struct mhd_HpackEncContext *hk_enc)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/h2/hpack/mhd_hpack_codec.c:5418,1
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/h2/hpack/mhd_hpack_codec.c:5419,1
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/h2/hpack/mhd_hpack_codec.c:5420,1
    - Dst: hpack_put_number_to_buf
      Src: /src/mhd2/src/mhd2/h2/hpack/mhd_hpack_codec.c:5422,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 9
    argCount: 4
    argNames:
    - idx
    - out_buff_size
    - out_buff
    - bytes_encoded
    argTypes:
    - dtbl_idx_ft
    - size_t
    - uint8_t*
    - size_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5433
      start: 5408
    functionDepth: 1
    functionLinenumber: 5408
    functionLinenumberEnd: 5433
    functionName: hpack_enc_field_indexed
    functionSourceFile: /src/mhd2/src/mhd2/h2/hpack/mhd_hpack_codec.c
    functionUses: 0
    functionsReached:
    - mhd_assert
    - hpack_put_number_to_buf
    linkageType: ''
    returnType: bool
    signature: "bool hpack_enc_field_indexed (dtbl_idx_ft idx,\n                         const
      size_t out_buff_size,\n                         uint8_t *restrict out_buff,\n
      \                        size_t *restrict bytes_encoded)"
  - BBCount: 13
    BranchProfiles: []
    Callsites:
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/h2/hpack/mhd_hpack_codec.c:5491,1
    - Dst: mhd_COND_ALMOST_NEVER
      Src: /src/mhd2/src/mhd2/h2/hpack/mhd_hpack_codec.c:5493,1
    - Dst: mhd_h2_huffman_est_avg_size
      Src: /src/mhd2/src/mhd2/h2/hpack/mhd_hpack_codec.c:5511,1
    - Dst: hpack_number_len
      Src: /src/mhd2/src/mhd2/h2/hpack/mhd_hpack_codec.c:5512,1
    - Dst: mhd_h2_huffman_est_min_size
      Src: /src/mhd2/src/mhd2/h2/hpack/mhd_hpack_codec.c:5520,1
    - Dst: hpack_number_len
      Src: /src/mhd2/src/mhd2/h2/hpack/mhd_hpack_codec.c:5521,1
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/h2/hpack/mhd_hpack_codec.c:5531,1
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/h2/hpack/mhd_hpack_codec.c:5532,1
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/h2/hpack/mhd_hpack_codec.c:5534,1
    - Dst: mhd_h2_huffman_encode
      Src: /src/mhd2/src/mhd2/h2/hpack/mhd_hpack_codec.c:5543,1
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/h2/hpack/mhd_hpack_codec.c:5551,1
    - Dst: hpack_put_number_to_buf
      Src: /src/mhd2/src/mhd2/h2/hpack/mhd_hpack_codec.c:5557,1
    - Dst: mhd_COND_ALMOST_NEVER
      Src: /src/mhd2/src/mhd2/h2/hpack/mhd_hpack_codec.c:5562,1
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/h2/hpack/mhd_hpack_codec.c:5567,1
    - Dst: hpack_number_len
      Src: /src/mhd2/src/mhd2/h2/hpack/mhd_hpack_codec.c:5569,1
    - Dst: memmove
      Src: /src/mhd2/src/mhd2/h2/hpack/mhd_hpack_codec.c:5574,1
    - Dst: hpack_put_number_to_buf
      Src: /src/mhd2/src/mhd2/h2/hpack/mhd_hpack_codec.c:5579,1
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/h2/hpack/mhd_hpack_codec.c:5584,1
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/h2/hpack/mhd_hpack_codec.c:5588,1
    - Dst: memmove
      Src: /src/mhd2/src/mhd2/h2/hpack/mhd_hpack_codec.c:5589,1
    - Dst: hpack_put_number_to_buf
      Src: /src/mhd2/src/mhd2/h2/hpack/mhd_hpack_codec.c:5615,1
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/h2/hpack/mhd_hpack_codec.c:5624,1
    - Dst: memcpy
      Src: /src/mhd2/src/mhd2/h2/hpack/mhd_hpack_codec.c:5626,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 57
    argCount: 5
    argNames:
    - str_data
    - huffman_allowed
    - out_buff_size
    - out_buff
    - bytes_encoded
    argTypes:
    - struct mhd_BufferConst*
    - bool
    - size_t
    - uint8_t*
    - size_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5632
      start: 5476
    functionDepth: 2
    functionLinenumber: 5476
    functionLinenumberEnd: 5632
    functionName: hpack_enc_string_literal
    functionSourceFile: /src/mhd2/src/mhd2/h2/hpack/mhd_hpack_codec.c
    functionUses: 0
    functionsReached:
    - mhd_COND_ALMOST_NEVER
    - mhd_h2_huffman_encode
    - memcpy
    - hpack_number_len
    - mhd_h2_huffman_est_avg_size
    - memmove
    - hpack_put_number_to_buf
    - mhd_assert
    - mhd_h2_huffman_est_min_size
    linkageType: ''
    returnType: bool
    signature: "bool hpack_enc_string_literal (const struct mhd_BufferConst *restrict
      str_data,\n                          bool huffman_allowed,\n                          const
      size_t out_buff_size,\n                          uint8_t *restrict out_buff,\n
      \                         size_t *restrict bytes_encoded)"
  - BBCount: 14
    BranchProfiles: []
    Callsites:
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/h2/hpack/mhd_hpack_codec.c:5695,1
    - Dst: mhd_UNREACHABLE
      Src: /src/mhd2/src/mhd2/h2/hpack/mhd_hpack_codec.c:5715,1
    - Dst: mhd_htbl_find_name_real
      Src: /src/mhd2/src/mhd2/h2/hpack/mhd_hpack_codec.c:5722,1
    - Dst: mhd_stbl_find_name_real
      Src: /src/mhd2/src/mhd2/h2/hpack/mhd_hpack_codec.c:5726,1
    - Dst: mhd_COND_ALMOST_NEVER
      Src: /src/mhd2/src/mhd2/h2/hpack/mhd_hpack_codec.c:5728,1
    - Dst: mhd_dtbl_find_name
      Src: /src/mhd2/src/mhd2/h2/hpack/mhd_hpack_codec.c:5729,1
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/h2/hpack/mhd_hpack_codec.c:5735,1
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/h2/hpack/mhd_hpack_codec.c:5737,1
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/h2/hpack/mhd_hpack_codec.c:5746,1
    - Dst: hpack_put_number_to_buf
      Src: /src/mhd2/src/mhd2/h2/hpack/mhd_hpack_codec.c:5747,1
    - Dst: hpack_enc_string_literal
      Src: /src/mhd2/src/mhd2/h2/hpack/mhd_hpack_codec.c:5765,1
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/h2/hpack/mhd_hpack_codec.c:5776,1
    - Dst: hpack_enc_string_literal
      Src: /src/mhd2/src/mhd2/h2/hpack/mhd_hpack_codec.c:5780,1
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/h2/hpack/mhd_hpack_codec.c:5788,1
    CyclomaticComplexity: 19
    EdgeCount: 19
    ICount: 52
    argCount: 11
    argNames:
    - hk_enc
    - name
    - name_idx
    - value
    - msg_type
    - name_idx_stat_allowed
    - name_idx_dyn_allowed
    - huffman_allowed
    - out_buff_size
    - out_buff
    - bytes_encoded
    argTypes:
    - struct mhd_HpackEncContext*
    - struct mhd_BufferConst*
    - dtbl_idx_ft
    - struct mhd_BufferConst*
    - enum mhd_HpackEncLitIndexingType
    - bool
    - bool
    - bool
    - size_t
    - uint8_t*
    - size_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5792
      start: 5670
    functionDepth: 3
    functionLinenumber: 5670
    functionLinenumberEnd: 5792
    functionName: hpack_enc_field_literal
    functionSourceFile: /src/mhd2/src/mhd2/h2/hpack/mhd_hpack_codec.c
    functionUses: 0
    functionsReached:
    - mhd_COND_ALMOST_NEVER
    - hpack_enc_string_literal
    - mhd_htbl_find_name_real
    - mhd_UNREACHABLE
    - hpack_put_number_to_buf
    - mhd_stbl_find_name_real
    - mhd_assert
    - mhd_dtbl_find_name
    linkageType: ''
    returnType: bool
    signature: "bool hpack_enc_field_literal (struct mhd_HpackEncContext *restrict
      hk_enc,\n                         const struct mhd_BufferConst *restrict name,\n
      \                        dtbl_idx_ft name_idx,\n                         const
      struct mhd_BufferConst *restrict value,\n                         enum mhd_HpackEncLitIndexingType
      msg_type,\n                         bool name_idx_stat_allowed,\n                         bool
      name_idx_dyn_allowed,\n                         bool huffman_allowed,\n                         const
      size_t out_buff_size,\n                         uint8_t *restrict out_buff,\n
      \                        size_t *restrict bytes_encoded)"
  - BBCount: 31
    BranchProfiles: []
    Callsites:
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/h2/hpack/mhd_hpack_codec.c:5848,1
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/h2/hpack/mhd_hpack_codec.c:5849,1
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/h2/hpack/mhd_hpack_codec.c:5850,1
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/h2/hpack/mhd_hpack_codec.c:5854,1
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/h2/hpack/mhd_hpack_codec.c:5855,1
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/h2/hpack/mhd_hpack_codec.c:5856,1
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/h2/hpack/mhd_hpack_codec.c:5857,1
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/h2/hpack/mhd_hpack_codec.c:5858,1
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/h2/hpack/mhd_hpack_codec.c:5859,1
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/h2/hpack/mhd_hpack_codec.c:5860,1
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/h2/hpack/mhd_hpack_codec.c:5862,1
    - Dst: mhd_htbl_find_entry_real
      Src: /src/mhd2/src/mhd2/h2/hpack/mhd_hpack_codec.c:5869,1
    - Dst: hpack_enc_field_indexed
      Src: /src/mhd2/src/mhd2/h2/hpack/mhd_hpack_codec.c:5877,1
    - Dst: hpack_enc_field_literal
      Src: /src/mhd2/src/mhd2/h2/hpack/mhd_hpack_codec.c:5901,1
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/h2/hpack/mhd_hpack_codec.c:5920,1
    - Dst: hpack_enc_field_literal
      Src: /src/mhd2/src/mhd2/h2/hpack/mhd_hpack_codec.c:5922,1
    - Dst: mhd_dtbl_check_entry_fit
      Src: /src/mhd2/src/mhd2/h2/hpack/mhd_hpack_codec.c:5945,1
    - Dst: hpack_enc_field_literal
      Src: /src/mhd2/src/mhd2/h2/hpack/mhd_hpack_codec.c:5949,1
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/h2/hpack/mhd_hpack_codec.c:5975,1
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/h2/hpack/mhd_hpack_codec.c:5976,1
    - Dst: mhd_dtbl_check_entry_fit
      Src: /src/mhd2/src/mhd2/h2/hpack/mhd_hpack_codec.c:5983,1
    - Dst: mhd_T_IS_MAYBE
      Src: /src/mhd2/src/mhd2/h2/hpack/mhd_hpack_codec.c:5989,1
    - Dst: mhd_dtbl_get_table_used
      Src: /src/mhd2/src/mhd2/h2/hpack/mhd_hpack_codec.c:5994,1
    - Dst: mhd_dtbl_get_num_entries
      Src: /src/mhd2/src/mhd2/h2/hpack/mhd_hpack_codec.c:5996,1
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/h2/hpack/mhd_hpack_codec.c:5998,1
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/h2/hpack/mhd_hpack_codec.c:6008,1
    - Dst: mhd_UNREACHABLE
      Src: /src/mhd2/src/mhd2/h2/hpack/mhd_hpack_codec.c:6050,1
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/h2/hpack/mhd_hpack_codec.c:6054,1
    - Dst: mhd_T_IS_NOT_MAYBE
      Src: /src/mhd2/src/mhd2/h2/hpack/mhd_hpack_codec.c:6054,1
    - Dst: mhd_T_IS_YES
      Src: /src/mhd2/src/mhd2/h2/hpack/mhd_hpack_codec.c:6056,1
    - Dst: hpack_enc_field_literal
      Src: /src/mhd2/src/mhd2/h2/hpack/mhd_hpack_codec.c:6058,1
    - Dst: hpack_enc_field_literal
      Src: /src/mhd2/src/mhd2/h2/hpack/mhd_hpack_codec.c:6075,1
    CyclomaticComplexity: 33
    EdgeCount: 33
    ICount: 94
    argCount: 7
    argNames:
    - hk_enc
    - name
    - value
    - enc_pol
    - out_buff_size
    - out_buff
    - bytes_encoded
    argTypes:
    - struct mhd_HpackEncContext*
    - struct mhd_BufferConst*
    - struct mhd_BufferConst*
    - enum mhd_HpackEncPolicy
    - size_t
    - uint8_t*
    - size_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 6089
      start: 5839
    functionDepth: 4
    functionLinenumber: 5839
    functionLinenumberEnd: 6089
    functionName: hpack_enc_field
    functionSourceFile: /src/mhd2/src/mhd2/h2/hpack/mhd_hpack_codec.c
    functionUses: 1
    functionsReached:
    - hpack_enc_field_indexed
    - mhd_dtbl_get_num_entries
    - mhd_dtbl_check_entry_fit
    - mhd_dtbl_get_table_used
    - mhd_htbl_find_entry_real
    - hpack_enc_field_literal
    - mhd_UNREACHABLE
    - mhd_T_IS_NOT_MAYBE
    - mhd_T_IS_YES
    - mhd_T_IS_MAYBE
    - mhd_assert
    linkageType: ''
    returnType: enum mhd_HpackEncResultInternal
    signature: "enum mhd_HpackEncResultInternal hpack_enc_field (struct mhd_HpackEncContext
      *restrict hk_enc,\n                 const struct mhd_BufferConst *restrict name,\n
      \                const struct mhd_BufferConst *restrict value,\n                 enum
      mhd_HpackEncPolicy enc_pol,\n                 const size_t out_buff_size,\n
      \                uint8_t *restrict out_buff,\n                 size_t *restrict
      bytes_encoded)"
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/h2/hpack/mhd_hpack_codec.c:6123,1
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/h2/hpack/mhd_hpack_codec.c:6124,1
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/h2/hpack/mhd_hpack_codec.c:6125,1
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/h2/hpack/mhd_hpack_codec.c:6126,1
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/h2/hpack/mhd_hpack_codec.c:6127,1
    - Dst: mhd_dtbl_get_table_max_size
      Src: /src/mhd2/src/mhd2/h2/hpack/mhd_hpack_codec.c:6127,1
    - Dst: mhd_dtbl_get_table_max_size
      Src: /src/mhd2/src/mhd2/h2/hpack/mhd_hpack_codec.c:6130,1
    - Dst: mhd_dtbl_evict_to_size
      Src: /src/mhd2/src/mhd2/h2/hpack/mhd_hpack_codec.c:6131,1
    - Dst: hpack_put_number_to_buf
      Src: /src/mhd2/src/mhd2/h2/hpack/mhd_hpack_codec.c:6151,1
    - Dst: hpack_put_number_to_buf
      Src: /src/mhd2/src/mhd2/h2/hpack/mhd_hpack_codec.c:6170,1
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/h2/hpack/mhd_hpack_codec.c:6182,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 32
    argCount: 4
    argNames:
    - hk_enc
    - out_buff_size
    - out_buff
    - bytes_encoded
    argTypes:
    - struct mhd_HpackEncContext*
    - size_t
    - uint8_t*
    - size_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 6185
      start: 6109
    functionDepth: 9
    functionLinenumber: 6109
    functionLinenumberEnd: 6185
    functionName: "(3, 2) MHD_FN_PAR_OUT_ (4) bool\nhpack_enc_check_dyn_size_update
      (\n  struct mhd_HpackEncContext *restrict hk_enc,\n  size_t out_buff_size,\n
      \ uint8_t *restrict out_buff,\n  size_t *restrict bytes_encoded)"
    functionSourceFile: /src/mhd2/src/mhd2/h2/hpack/mhd_hpack_codec.c
    functionUses: 0
    functionsReached:
    - mhd_assert
    - mhd_dtbl_get_table_max_size
    - hpack_put_number_to_buf
    - mhd_dtbl_evict_to_size
    linkageType: ''
    returnType: MHD_FN_PAR_OUT_SIZE_
    signature: "MHD_FN_PAR_OUT_SIZE_ (3, 2) MHD_FN_PAR_OUT_ (4) bool\nhpack_enc_check_dyn_size_update
      (\n  struct mhd_HpackEncContext *restrict hk_enc,\n  size_t out_buff_size,\n
      \ uint8_t *restrict out_buff,\n  size_t *restrict bytes_encoded)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/h2/hpack/mhd_hpack_codec.c:6201,1
    - Dst: mhd_dtbl_get_table_used
      Src: /src/mhd2/src/mhd2/h2/hpack/mhd_hpack_codec.c:6201,1
    - Dst: mhd_dtbl_get_table_max_size
      Src: /src/mhd2/src/mhd2/h2/hpack/mhd_hpack_codec.c:6203,1
    - Dst: mhd_COND_HARDLY_EVER
      Src: /src/mhd2/src/mhd2/h2/hpack/mhd_hpack_codec.c:6205,1
    - Dst: mhd_dtbl_resize
      Src: /src/mhd2/src/mhd2/h2/hpack/mhd_hpack_codec.c:6205,1
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/h2/hpack/mhd_hpack_codec.c:6209,1
    - Dst: mhd_dtbl_get_table_max_size
      Src: /src/mhd2/src/mhd2/h2/hpack/mhd_hpack_codec.c:6209,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 1
    argNames:
    - hk_enc
    argTypes:
    - struct mhd_HpackEncContext*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 6217
      start: 6198
    functionDepth: 12
    functionLinenumber: 6198
    functionLinenumberEnd: 6217
    functionName: hpack_enc_perform_dyn_size_update
    functionSourceFile: /src/mhd2/src/mhd2/h2/hpack/mhd_hpack_codec.c
    functionUses: 0
    functionsReached:
    - mhd_COND_HARDLY_EVER
    - mhd_dtbl_get_table_used
    - mhd_dtbl_resize
    - mhd_dtbl_get_table_max_size
    - mhd_assert
    linkageType: ''
    returnType: bool
    signature: bool hpack_enc_perform_dyn_size_update (struct mhd_HpackEncContext
      *restrict hk_enc)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/h2/hpack/mhd_hpack_codec.c:6236,1
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/h2/hpack/mhd_hpack_codec.c:6237,1
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/h2/hpack/mhd_hpack_codec.c:6238,1
    - Dst: hpack_enc_check_dyn_size_update
      Src: /src/mhd2/src/mhd2/h2/hpack/mhd_hpack_codec.c:6246,1
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/h2/hpack/mhd_hpack_codec.c:6253,1
    - Dst: hpack_enc_field
      Src: /src/mhd2/src/mhd2/h2/hpack/mhd_hpack_codec.c:6256,1
    - Dst: hpack_enc_perform_dyn_size_update
      Src: /src/mhd2/src/mhd2/h2/hpack/mhd_hpack_codec.c:6270,1
    - Dst: mhd_dtbl_new_entry
      Src: /src/mhd2/src/mhd2/h2/hpack/mhd_hpack_codec.c:6275,1
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/h2/hpack/mhd_hpack_codec.c:6281,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 22
    argCount: 7
    argNames:
    - hk_enc
    - name
    - value
    - enc_pol
    - out_buff_size
    - out_buff
    - bytes_encoded
    argTypes:
    - struct mhd_HpackEncContext*
    - struct mhd_BufferConst*
    - struct mhd_BufferConst*
    - enum mhd_HpackEncPolicy
    - size_t
    - uint8_t*
    - size_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 6285
      start: 6223
    functionDepth: 13
    functionLinenumber: 6223
    functionLinenumberEnd: 6285
    functionName: mhd_hpack_enc_field
    functionSourceFile: /src/mhd2/src/mhd2/h2/hpack/mhd_hpack_codec.c
    functionUses: 1
    functionsReached:
    - hpack_enc_check_dyn_size_update
    - mhd_dtbl_new_entry
    - hpack_enc_field
    - hpack_enc_perform_dyn_size_update
    - mhd_assert
    linkageType: ''
    returnType: enum mhd_HpackEncResult
    signature: "enum mhd_HpackEncResult mhd_hpack_enc_field (struct mhd_HpackEncContext
      *restrict hk_enc,\n                     const struct mhd_BufferConst *restrict
      name,\n                     const struct mhd_BufferConst *restrict value,\n
      \                    enum mhd_HpackEncPolicy enc_pol,\n                     const
      size_t out_buff_size,\n                     uint8_t *restrict out_buff,\n                     size_t
      *restrict bytes_encoded)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/h2/hpack/mhd_hpack_codec.c:6300,1
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/h2/hpack/mhd_hpack_codec.c:6301,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 2
    argNames:
    - code
    - code_str
    argTypes:
    - uint_fast16_t
    - char[]
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 6306
      start: 6296
    functionDepth: 1
    functionLinenumber: 6296
    functionLinenumberEnd: 6306
    functionName: status_to_str
    functionSourceFile: /src/mhd2/src/mhd2/h2/hpack/mhd_hpack_codec.c
    functionUses: 0
    functionsReached:
    - mhd_assert
    linkageType: ''
    returnType: void
    signature: "void status_to_str (uint_fast16_t code,\n               char code_str[3])"
  - BBCount: 21
    BranchProfiles: []
    Callsites:
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/h2/hpack/mhd_hpack_codec.c:6360,1
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/h2/hpack/mhd_hpack_codec.c:6362,1
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/h2/hpack/mhd_hpack_codec.c:6366,1
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/h2/hpack/mhd_hpack_codec.c:6368,1
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/h2/hpack/mhd_hpack_codec.c:6370,1
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/h2/hpack/mhd_hpack_codec.c:6372,1
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/h2/hpack/mhd_hpack_codec.c:6374,1
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/h2/hpack/mhd_hpack_codec.c:6376,1
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/h2/hpack/mhd_hpack_codec.c:6378,1
    - Dst: hpack_enc_field_indexed
      Src: /src/mhd2/src/mhd2/h2/hpack/mhd_hpack_codec.c:6416,1
    - Dst: status_to_str
      Src: /src/mhd2/src/mhd2/h2/hpack/mhd_hpack_codec.c:6430,1
    - Dst: mhd_dtbl_find_entry
      Src: /src/mhd2/src/mhd2/h2/hpack/mhd_hpack_codec.c:6438,1
    - Dst: hpack_enc_field_indexed
      Src: /src/mhd2/src/mhd2/h2/hpack/mhd_hpack_codec.c:6446,1
    - Dst: hpack_enc_field_literal
      Src: /src/mhd2/src/mhd2/h2/hpack/mhd_hpack_codec.c:6468,1
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/h2/hpack/mhd_hpack_codec.c:6488,1
    - Dst: hpack_enc_field_literal
      Src: /src/mhd2/src/mhd2/h2/hpack/mhd_hpack_codec.c:6490,1
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/h2/hpack/mhd_hpack_codec.c:6506,1
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/h2/hpack/mhd_hpack_codec.c:6507,1
    - Dst: mhd_dtbl_check_entry_fit
      Src: /src/mhd2/src/mhd2/h2/hpack/mhd_hpack_codec.c:6512,1
    - Dst: hpack_enc_field_literal
      Src: /src/mhd2/src/mhd2/h2/hpack/mhd_hpack_codec.c:6516,1
    CyclomaticComplexity: 23
    EdgeCount: 23
    ICount: 71
    argCount: 7
    argNames:
    - hk_enc
    - code
    - enc_pol
    - code_str
    - out_buff_size
    - out_buff
    - bytes_encoded
    argTypes:
    - struct mhd_HpackEncContext*
    - uint_fast16_t
    - enum mhd_HpackEncPFieldStatusPolicy
    - char[]
    - size_t
    - uint8_t*
    - size_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 6536
      start: 6340
    functionDepth: 4
    functionLinenumber: 6340
    functionLinenumberEnd: 6536
    functionName: hpack_enc_pf_status
    functionSourceFile: /src/mhd2/src/mhd2/h2/hpack/mhd_hpack_codec.c
    functionUses: 0
    functionsReached:
    - hpack_enc_field_indexed
    - mhd_dtbl_check_entry_fit
    - hpack_enc_field_literal
    - mhd_dtbl_find_entry
    - status_to_str
    - mhd_assert
    linkageType: ''
    returnType: enum mhd_HpackEncResultInternal
    signature: "enum mhd_HpackEncResultInternal hpack_enc_pf_status (struct mhd_HpackEncContext
      *restrict hk_enc,\n                     uint_fast16_t code,\n                     enum
      mhd_HpackEncPFieldStatusPolicy enc_pol,\n                     char code_str[3],\n
      \                    const size_t out_buff_size,\n                     uint8_t
      *restrict out_buff,\n                     size_t *restrict bytes_encoded)"
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/h2/hpack/mhd_hpack_codec.c:6554,1
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/h2/hpack/mhd_hpack_codec.c:6555,1
    - Dst: hpack_enc_check_dyn_size_update
      Src: /src/mhd2/src/mhd2/h2/hpack/mhd_hpack_codec.c:6563,1
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/h2/hpack/mhd_hpack_codec.c:6570,1
    - Dst: hpack_enc_pf_status
      Src: /src/mhd2/src/mhd2/h2/hpack/mhd_hpack_codec.c:6573,1
    - Dst: hpack_enc_perform_dyn_size_update
      Src: /src/mhd2/src/mhd2/h2/hpack/mhd_hpack_codec.c:6587,1
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/h2/hpack/mhd_hpack_codec.c:6593,1
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/h2/hpack/mhd_hpack_codec.c:6594,1
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/h2/hpack/mhd_hpack_codec.c:6595,1
    - Dst: mhd_dtbl_new_entry
      Src: /src/mhd2/src/mhd2/h2/hpack/mhd_hpack_codec.c:6596,1
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/h2/hpack/mhd_hpack_codec.c:6603,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 25
    argCount: 6
    argNames:
    - hk_enc
    - code
    - enc_pol
    - out_buff_size
    - out_buff
    - bytes_encoded
    argTypes:
    - struct mhd_HpackEncContext*
    - uint_fast16_t
    - enum mhd_HpackEncPFieldStatusPolicy
    - size_t
    - uint8_t*
    - size_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 6607
      start: 6541
    functionDepth: 13
    functionLinenumber: 6541
    functionLinenumberEnd: 6607
    functionName: mhd_hpack_enc_ph_status
    functionSourceFile: /src/mhd2/src/mhd2/h2/hpack/mhd_hpack_codec.c
    functionUses: 1
    functionsReached:
    - hpack_enc_check_dyn_size_update
    - mhd_dtbl_new_entry
    - hpack_enc_pf_status
    - hpack_enc_perform_dyn_size_update
    - mhd_assert
    linkageType: ''
    returnType: enum mhd_HpackEncResult
    signature: "enum mhd_HpackEncResult mhd_hpack_enc_ph_status (struct mhd_HpackEncContext
      *restrict hk_enc,\n                         uint_fast16_t code,\n                         enum
      mhd_HpackEncPFieldStatusPolicy enc_pol,\n                         const size_t
      out_buff_size,\n                         uint8_t *restrict out_buff,\n                         size_t
      *restrict bytes_encoded)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - dec_res
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 196
      start: 194
    functionDepth: 0
    functionLinenumber: 194
    functionLinenumberEnd: 196
    functionName: mhd_HPACK_DEC_RES_IS_ERR
    functionSourceFile: /src/mhd2/src/mhd2/h2/hpack/mhd_hpack_codec.h
    functionUses: 3
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: mhd_HPACK_DEC_RES_IS_ERR(dec_res)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - idx
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 626
      start: 623
    functionDepth: 0
    functionLinenumber: 623
    functionLinenumberEnd: 626
    functionName: mhd_GET_H2HUFF_CODE_AS_UINTFAST32_ALG
    functionSourceFile: /src/mhd2/src/mhd2/h2/hpack/h2_huffman_codec.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: mhd_GET_H2HUFF_CODE_AS_UINTFAST32_ALG(idx)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/h2/hpack/h2_huffman_codec.c:652,1
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/h2/hpack/h2_huffman_codec.c:653,1
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/h2/hpack/h2_huffman_codec.c:656,1
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/h2/hpack/h2_huffman_codec.c:658,1
    - Dst: mhd_GET_H2HUFF_CODE_AS_UINTFAST32_ALG
      Src: /src/mhd2/src/mhd2/h2/hpack/h2_huffman_codec.c:665,1
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/h2/hpack/h2_huffman_codec.c:669,1
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/h2/hpack/h2_huffman_codec.c:670,1
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/h2/hpack/h2_huffman_codec.c:671,1
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/h2/hpack/h2_huffman_codec.c:672,1
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/h2/hpack/h2_huffman_codec.c:673,1
    - Dst: mhd_COND_PRED_FALSE_P
      Src: /src/mhd2/src/mhd2/h2/hpack/h2_huffman_codec.c:678,1
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/h2/hpack/h2_huffman_codec.c:689,1
    - Dst: mhd_COND_HARDLY_EVER
      Src: /src/mhd2/src/mhd2/h2/hpack/h2_huffman_codec.c:692,1
    - Dst: mhd_COND_ALMOST_NEVER
      Src: /src/mhd2/src/mhd2/h2/hpack/h2_huffman_codec.c:694,1
    - Dst: mhd_PUT_UINTFAST32_BE
      Src: /src/mhd2/src/mhd2/h2/hpack/h2_huffman_codec.c:697,1
    - Dst: memcpy
      Src: /src/mhd2/src/mhd2/h2/hpack/h2_huffman_codec.c:698,1
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/h2/hpack/h2_huffman_codec.c:701,1
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/h2/hpack/h2_huffman_codec.c:704,1
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/h2/hpack/h2_huffman_codec.c:706,1
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/h2/hpack/h2_huffman_codec.c:710,1
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/h2/hpack/h2_huffman_codec.c:711,1
    - Dst: mhd_COND_PRED_TRUE_P
      Src: /src/mhd2/src/mhd2/h2/hpack/h2_huffman_codec.c:713,1
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/h2/hpack/h2_huffman_codec.c:722,1
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/h2/hpack/h2_huffman_codec.c:723,1
    - Dst: mhd_COND_HARDLY_EVER
      Src: /src/mhd2/src/mhd2/h2/hpack/h2_huffman_codec.c:726,1
    - Dst: mhd_COND_ALMOST_NEVER
      Src: /src/mhd2/src/mhd2/h2/hpack/h2_huffman_codec.c:728,1
    - Dst: mhd_PUT_UINTFAST32_BE
      Src: /src/mhd2/src/mhd2/h2/hpack/h2_huffman_codec.c:732,1
    - Dst: memcpy
      Src: /src/mhd2/src/mhd2/h2/hpack/h2_huffman_codec.c:733,1
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/h2/hpack/h2_huffman_codec.c:737,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 47
    argCount: 4
    argNames:
    - str_len
    - str
    - out_buf_size
    - out_buf
    argTypes:
    - size_t
    - char*
    - size_t
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 740
      start: 629
    functionDepth: 1
    functionLinenumber: 629
    functionLinenumberEnd: 740
    functionName: mhd_h2_huffman_encode
    functionSourceFile: /src/mhd2/src/mhd2/h2/hpack/h2_huffman_codec.c
    functionUses: 3
    functionsReached:
    - mhd_COND_ALMOST_NEVER
    - mhd_COND_PRED_TRUE_P
    - memcpy
    - mhd_COND_HARDLY_EVER
    - mhd_PUT_UINTFAST32_BE
    - mhd_GET_H2HUFF_CODE_AS_UINTFAST32_ALG
    - mhd_assert
    - mhd_COND_PRED_FALSE_P
    linkageType: ''
    returnType: size_t
    signature: "size_t mhd_h2_huffman_encode (size_t str_len,\n                       const
      char *restrict str,\n                       size_t out_buf_size,\n                       void
      *restrict out_buf)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - twidth
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 774
      start: 773
    functionDepth: 0
    functionLinenumber: 773
    functionLinenumberEnd: 774
    functionName: HUFF_DTBL_SIZE_ROUNDED
    functionSourceFile: /src/mhd2/src/mhd2/h2/hpack/h2_huffman_codec.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: HUFF_DTBL_SIZE_ROUNDED(twidth)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - pwidth
    - ','
    - twidth
    - ','
    - next_pwidth
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 787
      start: 784
    functionDepth: 0
    functionLinenumber: 784
    functionLinenumberEnd: 787
    functionName: HUFF_DTBL_ENTRIES
    functionSourceFile: /src/mhd2/src/mhd2/h2/hpack/h2_huffman_codec.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: HUFF_DTBL_ENTRIES(pwidth, twidth, next_pwidth)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - pwidth
    - ','
    - twidth
    - ','
    - next_pwidth
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 795
      start: 793
    functionDepth: 0
    functionLinenumber: 793
    functionLinenumberEnd: 795
    functionName: HUFF_DTBL_SIZE
    functionSourceFile: /src/mhd2/src/mhd2/h2/hpack/h2_huffman_codec.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: HUFF_DTBL_SIZE(pwidth, twidth, next_pwidth)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - pwidth
    - ','
    - twidth
    - ','
    - next_pwidth
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 798
      start: 796
    functionDepth: 0
    functionLinenumber: 796
    functionLinenumberEnd: 798
    functionName: HUFF_DTBL_SIZE
    functionSourceFile: /src/mhd2/src/mhd2/h2/hpack/h2_huffman_codec.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: HUFF_DTBL_SIZE(pwidth, twidth, next_pwidth)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: MHD_FN_PAR_DYN_ARR_SIZE_
      Src: /src/mhd2/src/mhd2/h2/hpack/h2_huffman_codec.c:945,1
    - Dst: HUFF_DTBL_SIZE
      Src: /src/mhd2/src/mhd2/h2/hpack/h2_huffman_codec.c:945,1
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/h2/hpack/h2_huffman_codec.c:957,1
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/h2/hpack/h2_huffman_codec.c:958,1
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/h2/hpack/h2_huffman_codec.c:960,1
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/h2/hpack/h2_huffman_codec.c:963,1
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/h2/hpack/h2_huffman_codec.c:965,1
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/h2/hpack/h2_huffman_codec.c:967,1
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/h2/hpack/h2_huffman_codec.c:970,1
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/h2/hpack/h2_huffman_codec.c:974,1
    - Dst: HUFF_DTBL_ENTRIES
      Src: /src/mhd2/src/mhd2/h2/hpack/h2_huffman_codec.c:974,1
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/h2/hpack/h2_huffman_codec.c:976,1
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/h2/hpack/h2_huffman_codec.c:977,1
    - Dst: HUFF_DTBL_ENTRIES
      Src: /src/mhd2/src/mhd2/h2/hpack/h2_huffman_codec.c:977,1
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/h2/hpack/h2_huffman_codec.c:981,1
    - Dst: HUFF_DTBL_ENTRIES
      Src: /src/mhd2/src/mhd2/h2/hpack/h2_huffman_codec.c:981,1
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/h2/hpack/h2_huffman_codec.c:982,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 19
    argCount: 7
    argNames:
    - sym
    - code
    - codebits
    - pbits
    - tbits
    - next_pbits
    - table_to_fill
    argTypes:
    - uint_fast8_t
    - uint_least32_t
    - uint_fast8_t
    - uint_fast8_t
    - uint_fast8_t
    - uint_fast8_t
    - uint_least16_t[]
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 986
      start: 936
    functionDepth: 1
    functionLinenumber: 936
    functionLinenumberEnd: 986
    functionName: init_decode_table_entries_per_sym
    functionSourceFile: /src/mhd2/src/mhd2/h2/hpack/h2_huffman_codec.c
    functionUses: 0
    functionsReached:
    - HUFF_DTBL_ENTRIES
    - mhd_assert
    - HUFF_DTBL_SIZE
    - MHD_FN_PAR_DYN_ARR_SIZE_
    linkageType: ''
    returnType: void
    signature: "void init_decode_table_entries_per_sym (\n  const uint_fast8_t sym,\n
      \ const uint_least32_t code,\n  const uint_fast8_t codebits,\n  const uint_fast8_t
      pbits,\n  const uint_fast8_t tbits,\n  const uint_fast8_t next_pbits,\n  uint_least16_t
      table_to_fill[\n    MHD_FN_PAR_DYN_ARR_SIZE_ (HUFF_DTBL_SIZE (pbits, tbits,
      next_pbits))])"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: MHD_FN_PAR_DYN_ARR_SIZE_
      Src: /src/mhd2/src/mhd2/h2/hpack/h2_huffman_codec.c:1005,1
    - Dst: HUFF_DTBL_SIZE
      Src: /src/mhd2/src/mhd2/h2/hpack/h2_huffman_codec.c:1005,1
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/h2/hpack/h2_huffman_codec.c:1010,1
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/h2/hpack/h2_huffman_codec.c:1011,1
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/h2/hpack/h2_huffman_codec.c:1012,1
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/h2/hpack/h2_huffman_codec.c:1013,1
    - Dst: memset
      Src: /src/mhd2/src/mhd2/h2/hpack/h2_huffman_codec.c:1015,1
    - Dst: HUFF_DTBL_SIZE
      Src: /src/mhd2/src/mhd2/h2/hpack/h2_huffman_codec.c:1017,1
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/h2/hpack/h2_huffman_codec.c:1025,1
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/h2/hpack/h2_huffman_codec.c:1028,1
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/h2/hpack/h2_huffman_codec.c:1029,1
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/h2/hpack/h2_huffman_codec.c:1039,1
    - Dst: init_decode_table_entries_per_sym
      Src: /src/mhd2/src/mhd2/h2/hpack/h2_huffman_codec.c:1041,1
    - Dst: HUFF_DTBL_ENTRIES
      Src: /src/mhd2/src/mhd2/h2/hpack/h2_huffman_codec.c:1055,1
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/h2/hpack/h2_huffman_codec.c:1057,1
    - Dst: HUFF_DTBL_ENTRIES
      Src: /src/mhd2/src/mhd2/h2/hpack/h2_huffman_codec.c:1060,1
    - Dst: HUFF_DTBL_SIZE
      Src: /src/mhd2/src/mhd2/h2/hpack/h2_huffman_codec.c:1061,1
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/h2/hpack/h2_huffman_codec.c:1063,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 24
    argCount: 4
    argNames:
    - pbits
    - tbits
    - next_pbits
    - table_to_fill
    argTypes:
    - uint_fast8_t
    - uint_fast8_t
    - uint_fast8_t
    - uint_least16_t[]
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1068
      start: 999
    functionDepth: 2
    functionLinenumber: 999
    functionLinenumberEnd: 1068
    functionName: init_decode_table
    functionSourceFile: /src/mhd2/src/mhd2/h2/hpack/h2_huffman_codec.c
    functionUses: 0
    functionsReached:
    - HUFF_DTBL_SIZE
    - memset
    - HUFF_DTBL_ENTRIES
    - init_decode_table_entries_per_sym
    - MHD_FN_PAR_DYN_ARR_SIZE_
    - mhd_assert
    linkageType: ''
    returnType: void
    signature: "void init_decode_table (\n  const uint_fast8_t pbits,\n  const uint_fast8_t
      tbits,\n  const uint_fast8_t next_pbits,\n  uint_least16_t table_to_fill[\n
      \   MHD_FN_PAR_DYN_ARR_SIZE_ (HUFF_DTBL_SIZE (pbits, tbits, next_pbits))])"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: init_decode_table
      Src: /src/mhd2/src/mhd2/h2/hpack/h2_huffman_codec.c:1074,1
    - Dst: init_decode_table
      Src: /src/mhd2/src/mhd2/h2/hpack/h2_huffman_codec.c:1075,1
    - Dst: init_decode_table
      Src: /src/mhd2/src/mhd2/h2/hpack/h2_huffman_codec.c:1076,1
    - Dst: init_decode_table
      Src: /src/mhd2/src/mhd2/h2/hpack/h2_huffman_codec.c:1077,1
    - Dst: init_decode_table
      Src: /src/mhd2/src/mhd2/h2/hpack/h2_huffman_codec.c:1078,1
    - Dst: init_decode_table
      Src: /src/mhd2/src/mhd2/h2/hpack/h2_huffman_codec.c:1079,1
    - Dst: init_decode_table
      Src: /src/mhd2/src/mhd2/h2/hpack/h2_huffman_codec.c:1080,1
    - Dst: init_decode_table
      Src: /src/mhd2/src/mhd2/h2/hpack/h2_huffman_codec.c:1081,1
    - Dst: init_decode_table
      Src: /src/mhd2/src/mhd2/h2/hpack/h2_huffman_codec.c:1082,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 11
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1087
      start: 1071
    functionDepth: 3
    functionLinenumber: 1071
    functionLinenumberEnd: 1087
    functionName: mhd_h2_huffman_init
    functionSourceFile: /src/mhd2/src/mhd2/h2/hpack/h2_huffman_codec.c
    functionUses: 2
    functionsReached:
    - init_decode_table
    linkageType: ''
    returnType: MHD_INTERNAL
    signature: MHD_INTERNAL mhd_h2_huffman_init (void)
  - BBCount: 28
    BranchProfiles: []
    Callsites:
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/h2/hpack/h2_huffman_codec.c:1144,1
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/h2/hpack/h2_huffman_codec.c:1147,1
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/h2/hpack/h2_huffman_codec.c:1148,1
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/h2/hpack/h2_huffman_codec.c:1150,1
    - Dst: memcpy
      Src: /src/mhd2/src/mhd2/h2/hpack/h2_huffman_codec.c:1160,1
    - Dst: mhd_GET_64BIT_BE
      Src: /src/mhd2/src/mhd2/h2/hpack/h2_huffman_codec.c:1161,1
    - Dst: memcpy
      Src: /src/mhd2/src/mhd2/h2/hpack/h2_huffman_codec.c:1177,1
    - Dst: mhd_GET_64BIT_BE
      Src: /src/mhd2/src/mhd2/h2/hpack/h2_huffman_codec.c:1178,1
    - Dst: mhd_HF_DEC64
      Src: /src/mhd2/src/mhd2/h2/hpack/h2_huffman_codec.c:1195,1
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/h2/hpack/h2_huffman_codec.c:1210,1
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/h2/hpack/h2_huffman_codec.c:1211,1
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/h2/hpack/h2_huffman_codec.c:1214,1
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/h2/hpack/h2_huffman_codec.c:1216,1
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/h2/hpack/h2_huffman_codec.c:1218,1
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/h2/hpack/h2_huffman_codec.c:1220,1
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/h2/hpack/h2_huffman_codec.c:1223,1
    - Dst: mhd_COND_PRED_FALSE_P
      Src: /src/mhd2/src/mhd2/h2/hpack/h2_huffman_codec.c:1236,1
    - Dst: HUFF_DTBL_START
      Src: /src/mhd2/src/mhd2/h2/hpack/h2_huffman_codec.c:1236,1
    - Dst: mhd_COND_RARELY
      Src: /src/mhd2/src/mhd2/h2/hpack/h2_huffman_codec.c:1242,1
    - Dst: HUFF_DTBL_START
      Src: /src/mhd2/src/mhd2/h2/hpack/h2_huffman_codec.c:1242,1
    - Dst: HUFF_DTBL_START
      Src: /src/mhd2/src/mhd2/h2/hpack/h2_huffman_codec.c:1248,1
    - Dst: HUFF_DTBL_START
      Src: /src/mhd2/src/mhd2/h2/hpack/h2_huffman_codec.c:1254,1
    - Dst: HUFF_DTBL_START
      Src: /src/mhd2/src/mhd2/h2/hpack/h2_huffman_codec.c:1260,1
    - Dst: HUFF_DTBL_START
      Src: /src/mhd2/src/mhd2/h2/hpack/h2_huffman_codec.c:1266,1
    - Dst: HUFF_DTBL_START
      Src: /src/mhd2/src/mhd2/h2/hpack/h2_huffman_codec.c:1272,1
    - Dst: HUFF_DTBL_START
      Src: /src/mhd2/src/mhd2/h2/hpack/h2_huffman_codec.c:1278,1
    - Dst: HUFF_DTBL_START
      Src: /src/mhd2/src/mhd2/h2/hpack/h2_huffman_codec.c:1284,1
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/h2/hpack/h2_huffman_codec.c:1310,1
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/h2/hpack/h2_huffman_codec.c:1311,1
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/h2/hpack/h2_huffman_codec.c:1317,1
    - Dst: HUFF_DTBL_ENTRIES
      Src: /src/mhd2/src/mhd2/h2/hpack/h2_huffman_codec.c:1317,1
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/h2/hpack/h2_huffman_codec.c:1320,1
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/h2/hpack/h2_huffman_codec.c:1325,1
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/h2/hpack/h2_huffman_codec.c:1326,1
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/h2/hpack/h2_huffman_codec.c:1327,1
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/h2/hpack/h2_huffman_codec.c:1328,1
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/h2/hpack/h2_huffman_codec.c:1329,1
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/h2/hpack/h2_huffman_codec.c:1330,1
    - Dst: mhd_COND_VERY_RARELY
      Src: /src/mhd2/src/mhd2/h2/hpack/h2_huffman_codec.c:1332,1
    - Dst: mhd_COND_VERY_RARELY
      Src: /src/mhd2/src/mhd2/h2/hpack/h2_huffman_codec.c:1346,1
    - Dst: mhd_COND_PRED_FALSE_P
      Src: /src/mhd2/src/mhd2/h2/hpack/h2_huffman_codec.c:1353,1
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/h2/hpack/h2_huffman_codec.c:1362,1
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/h2/hpack/h2_huffman_codec.c:1367,1
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/h2/hpack/h2_huffman_codec.c:1373,1
    - Dst: memcpy
      Src: /src/mhd2/src/mhd2/h2/hpack/h2_huffman_codec.c:1386,1
    - Dst: mhd_GET_64BIT_BE
      Src: /src/mhd2/src/mhd2/h2/hpack/h2_huffman_codec.c:1388,1
    - Dst: mhd_COND_RARELY
      Src: /src/mhd2/src/mhd2/h2/hpack/h2_huffman_codec.c:1391,1
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/h2/hpack/h2_huffman_codec.c:1397,1
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/h2/hpack/h2_huffman_codec.c:1411,1
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/h2/hpack/h2_huffman_codec.c:1415,1
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/h2/hpack/h2_huffman_codec.c:1416,1
    - Dst: memcpy
      Src: /src/mhd2/src/mhd2/h2/hpack/h2_huffman_codec.c:1422,1
    - Dst: mhd_GET_32BIT_BE
      Src: /src/mhd2/src/mhd2/h2/hpack/h2_huffman_codec.c:1424,1
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/h2/hpack/h2_huffman_codec.c:1441,1
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/h2/hpack/h2_huffman_codec.c:1451,1
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/h2/hpack/h2_huffman_codec.c:1455,1
    - Dst: mhd_COND_VERY_RARELY
      Src: /src/mhd2/src/mhd2/h2/hpack/h2_huffman_codec.c:1457,1
    - Dst: mhd_COND_VERY_RARELY
      Src: /src/mhd2/src/mhd2/h2/hpack/h2_huffman_codec.c:1465,1
    - Dst: mhd_COND_VERY_RARELY
      Src: /src/mhd2/src/mhd2/h2/hpack/h2_huffman_codec.c:1474,1
    CyclomaticComplexity: 36
    EdgeCount: 36
    ICount: 196
    argCount: 5
    argNames:
    - encoded_size
    - encoded
    - out_buf_size
    - out_buf
    - decode_result
    argTypes:
    - size_t
    - void*
    - size_t
    - char*
    - enum mhd_H2HuffDecodeRes*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1484
      start: 1110
    functionDepth: 1
    functionLinenumber: 1110
    functionLinenumberEnd: 1484
    functionName: mhd_h2_huffman_decode
    functionSourceFile: /src/mhd2/src/mhd2/h2/hpack/h2_huffman_codec.c
    functionUses: 3
    functionsReached:
    - mhd_COND_RARELY
    - mhd_GET_32BIT_BE
    - memcpy
    - HUFF_DTBL_ENTRIES
    - mhd_HF_DEC64
    - mhd_GET_64BIT_BE
    - HUFF_DTBL_START
    - mhd_assert
    - mhd_COND_VERY_RARELY
    - mhd_COND_PRED_FALSE_P
    linkageType: ''
    returnType: size_t
    signature: "size_t mhd_h2_huffman_decode (size_t encoded_size,\n                       const
      void *restrict encoded,\n                       size_t out_buf_size,\n                       char
      *restrict out_buf,\n                       enum mhd_H2HuffDecodeRes *restrict
      decode_result)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - pbits
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1231
      start: 1230
    functionDepth: 0
    functionLinenumber: 1230
    functionLinenumberEnd: 1231
    functionName: HUFF_DTBL_START
    functionSourceFile: /src/mhd2/src/mhd2/h2/hpack/h2_huffman_codec.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: HUFF_DTBL_START(pbits)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/h2/hpack/h2_huffman_est.h:63,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - str_len
    argTypes:
    - uint_fast32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 66
      start: 59
    functionDepth: 1
    functionLinenumber: 59
    functionLinenumberEnd: 66
    functionName: uint_least32_t::mhd_h2_huffman_est_min_size
    functionSourceFile: /src/mhd2/src/mhd2/h2/hpack/h2_huffman_est.h
    functionUses: 0
    functionsReached:
    - mhd_assert
    linkageType: ''
    returnType: mhd_static_inline
    signature: 'mhd_static_inline uint_least32_t

      mhd_h2_huffman_est_min_size (uint_fast32_t str_len)'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/h2/hpack/h2_huffman_est.h:80,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 1
    argNames:
    - str_len
    argTypes:
    - uint_fast32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 86
      start: 76
    functionDepth: 1
    functionLinenumber: 76
    functionLinenumberEnd: 86
    functionName: uint_least32_t::mhd_h2_huffman_est_avg_size
    functionSourceFile: /src/mhd2/src/mhd2/h2/hpack/h2_huffman_est.h
    functionUses: 0
    functionsReached:
    - mhd_assert
    linkageType: ''
    returnType: mhd_static_inline
    signature: 'mhd_static_inline uint_least32_t

      mhd_h2_huffman_est_avg_size (uint_fast32_t str_len)'
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - param_num
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 167
      start: 166
    functionDepth: 0
    functionLinenumber: 166
    functionLinenumberEnd: 167
    functionName: MHD_FN_PAR_NONNULL_
    functionSourceFile: /src/mhd2/src/incl_priv/mhd_sys_options.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: MHD_FN_PAR_NONNULL_(param_num)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - param_num
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 180
      start: 178
    functionDepth: 0
    functionLinenumber: 178
    functionLinenumberEnd: 180
    functionName: MHD_FN_PAR_IN_
    functionSourceFile: /src/mhd2/src/incl_priv/mhd_sys_options.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: MHD_FN_PAR_IN_(param_num)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - param_num
    - ','
    - size_num
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 187
      start: 185
    functionDepth: 0
    functionLinenumber: 185
    functionLinenumberEnd: 187
    functionName: MHD_FN_PAR_IN_SIZE_
    functionSourceFile: /src/mhd2/src/incl_priv/mhd_sys_options.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: MHD_FN_PAR_IN_SIZE_(param_num, size_num)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - param_num
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 194
      start: 192
    functionDepth: 0
    functionLinenumber: 192
    functionLinenumberEnd: 194
    functionName: MHD_FN_PAR_OUT_
    functionSourceFile: /src/mhd2/src/incl_priv/mhd_sys_options.h
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: MHD_FN_PAR_OUT_(param_num)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - param_num
    - ','
    - size_num
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 201
      start: 199
    functionDepth: 0
    functionLinenumber: 199
    functionLinenumberEnd: 201
    functionName: MHD_FN_PAR_OUT_SIZE_
    functionSourceFile: /src/mhd2/src/incl_priv/mhd_sys_options.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: MHD_FN_PAR_OUT_SIZE_(param_num, size_num)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - param_num
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 208
      start: 206
    functionDepth: 0
    functionLinenumber: 206
    functionLinenumberEnd: 208
    functionName: MHD_FN_PAR_INOUT_
    functionSourceFile: /src/mhd2/src/incl_priv/mhd_sys_options.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: MHD_FN_PAR_INOUT_(param_num)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - param_num
    - ','
    - size_num
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 215
      start: 213
    functionDepth: 0
    functionLinenumber: 213
    functionLinenumberEnd: 215
    functionName: MHD_FN_PAR_INOUT_SIZE_
    functionSourceFile: /src/mhd2/src/incl_priv/mhd_sys_options.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: MHD_FN_PAR_INOUT_SIZE_(param_num, size_num)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - param_num
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 222
      start: 220
    functionDepth: 0
    functionLinenumber: 220
    functionLinenumberEnd: 222
    functionName: MHD_FN_PAR_FD_READ_
    functionSourceFile: /src/mhd2/src/incl_priv/mhd_sys_options.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: MHD_FN_PAR_FD_READ_(param_num)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - param_num
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 229
      start: 227
    functionDepth: 0
    functionLinenumber: 227
    functionLinenumberEnd: 229
    functionName: MHD_FN_PAR_CSTR_
    functionSourceFile: /src/mhd2/src/incl_priv/mhd_sys_options.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: MHD_FN_PAR_CSTR_(param_num)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - size
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 235
      start: 234
    functionDepth: 0
    functionLinenumber: 234
    functionLinenumberEnd: 235
    functionName: MHD_FN_PAR_FIX_ARR_SIZE_
    functionSourceFile: /src/mhd2/src/incl_priv/mhd_sys_options.h
    functionUses: 18
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: MHD_FN_PAR_FIX_ARR_SIZE_(size)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - size
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 237
      start: 236
    functionDepth: 0
    functionLinenumber: 236
    functionLinenumberEnd: 237
    functionName: MHD_FN_PAR_FIX_ARR_SIZE_
    functionSourceFile: /src/mhd2/src/incl_priv/mhd_sys_options.h
    functionUses: 18
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: MHD_FN_PAR_FIX_ARR_SIZE_(size)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - size
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 241
      start: 240
    functionDepth: 0
    functionLinenumber: 240
    functionLinenumberEnd: 241
    functionName: MHD_FN_PAR_DYN_ARR_SIZE_
    functionSourceFile: /src/mhd2/src/incl_priv/mhd_sys_options.h
    functionUses: 30
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: MHD_FN_PAR_DYN_ARR_SIZE_(size)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - size
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 243
      start: 242
    functionDepth: 0
    functionLinenumber: 242
    functionLinenumberEnd: 243
    functionName: MHD_FN_PAR_DYN_ARR_SIZE_
    functionSourceFile: /src/mhd2/src/incl_priv/mhd_sys_options.h
    functionUses: 30
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: MHD_FN_PAR_DYN_ARR_SIZE_(size)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - align
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 247
      start: 246
    functionDepth: 0
    functionLinenumber: 246
    functionLinenumberEnd: 247
    functionName: mhd_FN_RET_ALIGNED
    functionSourceFile: /src/mhd2/src/incl_priv/mhd_sys_options.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: mhd_FN_RET_ALIGNED(align)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - param_num
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 257
      start: 256
    functionDepth: 0
    functionLinenumber: 256
    functionLinenumberEnd: 257
    functionName: mhd_FN_RET_SIZED
    functionSourceFile: /src/mhd2/src/incl_priv/mhd_sys_options.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: mhd_FN_RET_SIZED(param_num)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - destructor
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 286
      start: 284
    functionDepth: 0
    functionLinenumber: 284
    functionLinenumberEnd: 286
    functionName: mhd_FN_OBJ_CONSTRUCTOR
    functionSourceFile: /src/mhd2/src/incl_priv/mhd_sys_options.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: mhd_FN_OBJ_CONSTRUCTOR(destructor)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - fixed_type
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 373
      start: 372
    functionDepth: 0
    functionLinenumber: 372
    functionLinenumberEnd: 373
    functionName: mhd_ENUM_BASE_T
    functionSourceFile: /src/mhd2/src/incl_priv/mhd_sys_options.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: mhd_ENUM_BASE_T(fixed_type)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - ptr
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 442
      start: 441
    functionDepth: 0
    functionLinenumber: 441
    functionLinenumberEnd: 442
    functionName: mhd_DROP_CONST
    functionSourceFile: /src/mhd2/src/incl_priv/mhd_sys_options.h
    functionUses: 5
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: mhd_DROP_CONST(ptr)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - ptr
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 444
      start: 443
    functionDepth: 0
    functionLinenumber: 443
    functionLinenumberEnd: 444
    functionName: mhd_DROP_CONST
    functionSourceFile: /src/mhd2/src/incl_priv/mhd_sys_options.h
    functionUses: 5
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: mhd_DROP_CONST(ptr)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - ptr
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 446
      start: 445
    functionDepth: 0
    functionLinenumber: 445
    functionLinenumberEnd: 446
    functionName: mhd_DROP_CONST
    functionSourceFile: /src/mhd2/src/incl_priv/mhd_sys_options.h
    functionUses: 5
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: mhd_DROP_CONST(ptr)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - i
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 453
      start: 452
    functionDepth: 0
    functionLinenumber: 452
    functionLinenumberEnd: 453
    functionName: mhd_INT_TO_PTR
    functionSourceFile: /src/mhd2/src/incl_priv/mhd_sys_options.h
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: mhd_INT_TO_PTR(i)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - i
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 455
      start: 454
    functionDepth: 0
    functionLinenumber: 454
    functionLinenumberEnd: 455
    functionName: mhd_INT_TO_PTR
    functionSourceFile: /src/mhd2/src/incl_priv/mhd_sys_options.h
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: mhd_INT_TO_PTR(i)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - i
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 462
      start: 461
    functionDepth: 0
    functionLinenumber: 461
    functionLinenumberEnd: 462
    functionName: mhd_UINT_TO_PTR
    functionSourceFile: /src/mhd2/src/incl_priv/mhd_sys_options.h
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: mhd_UINT_TO_PTR(i)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - i
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 464
      start: 463
    functionDepth: 0
    functionLinenumber: 463
    functionLinenumberEnd: 464
    functionName: mhd_UINT_TO_PTR
    functionSourceFile: /src/mhd2/src/incl_priv/mhd_sys_options.h
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: mhd_UINT_TO_PTR(i)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - p
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 473
      start: 472
    functionDepth: 0
    functionLinenumber: 472
    functionLinenumberEnd: 473
    functionName: mhd_PTR_TO_INT
    functionSourceFile: /src/mhd2/src/incl_priv/mhd_sys_options.h
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: mhd_PTR_TO_INT(p)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - p
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 475
      start: 474
    functionDepth: 0
    functionLinenumber: 474
    functionLinenumberEnd: 475
    functionName: mhd_PTR_TO_INT
    functionSourceFile: /src/mhd2/src/incl_priv/mhd_sys_options.h
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: mhd_PTR_TO_INT(p)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - p
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 477
      start: 476
    functionDepth: 0
    functionLinenumber: 476
    functionLinenumberEnd: 477
    functionName: mhd_PTR_TO_INT
    functionSourceFile: /src/mhd2/src/incl_priv/mhd_sys_options.h
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: mhd_PTR_TO_INT(p)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - p
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 479
      start: 478
    functionDepth: 0
    functionLinenumber: 478
    functionLinenumberEnd: 479
    functionName: mhd_PTR_TO_INT
    functionSourceFile: /src/mhd2/src/incl_priv/mhd_sys_options.h
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: mhd_PTR_TO_INT(p)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - p
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 481
      start: 480
    functionDepth: 0
    functionLinenumber: 480
    functionLinenumberEnd: 481
    functionName: mhd_PTR_TO_INT
    functionSourceFile: /src/mhd2/src/incl_priv/mhd_sys_options.h
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: mhd_PTR_TO_INT(p)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - FI
    - ','
    - FD
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 143
      start: 135
    functionDepth: 0
    functionLinenumber: 135
    functionLinenumberEnd: 143
    functionName: AIF_GNUC_SET_INIT_AND_DEINIT
    functionSourceFile: /src/mhd2/src/incl_priv/autoinit_funcs.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: AIF_GNUC_SET_INIT_AND_DEINIT(FI, FD)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - a
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 154
      start: 153
    functionDepth: 0
    functionLinenumber: 153
    functionLinenumberEnd: 154
    functionName: AIF_INSTRMACRO
    functionSourceFile: /src/mhd2/src/incl_priv/autoinit_funcs.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: AIF_INSTRMACRO(a)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - a
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 155
      start: 154
    functionDepth: 0
    functionLinenumber: 154
    functionLinenumberEnd: 155
    functionName: AIF_STRMACRO
    functionSourceFile: /src/mhd2/src/incl_priv/autoinit_funcs.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: AIF_STRMACRO(a)
  - 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: 158
      start: 157
    functionDepth: 0
    functionLinenumber: 157
    functionLinenumberEnd: 158
    functionName: AIF_INCONCAT
    functionSourceFile: /src/mhd2/src/incl_priv/autoinit_funcs.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: AIF_INCONCAT(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: 159
      start: 158
    functionDepth: 0
    functionLinenumber: 158
    functionLinenumberEnd: 159
    functionName: AIF_CONCAT
    functionSourceFile: /src/mhd2/src/incl_priv/autoinit_funcs.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: AIF_CONCAT(a, b)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - v
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 182
      start: 181
    functionDepth: 0
    functionLinenumber: 181
    functionLinenumberEnd: 182
    functionName: AIF_W32_DECORVARNAME
    functionSourceFile: /src/mhd2/src/incl_priv/autoinit_funcs.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: AIF_W32_DECORVARNAME(v)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - v
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 186
      start: 185
    functionDepth: 0
    functionLinenumber: 185
    functionLinenumberEnd: 186
    functionName: AIF_W32_DECORVARNAME
    functionSourceFile: /src/mhd2/src/incl_priv/autoinit_funcs.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: AIF_W32_DECORVARNAME(v)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - f
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 194
      start: 193
    functionDepth: 0
    functionLinenumber: 193
    functionLinenumberEnd: 194
    functionName: AIF_W32_INITHELPERVARNAME
    functionSourceFile: /src/mhd2/src/incl_priv/autoinit_funcs.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: AIF_W32_INITHELPERVARNAME(f)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - f
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 196
      start: 194
    functionDepth: 0
    functionLinenumber: 194
    functionLinenumberEnd: 196
    functionName: AIF_W32_INITHELPERVARNAMEDECORSTR
    functionSourceFile: /src/mhd2/src/incl_priv/autoinit_funcs.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: AIF_W32_INITHELPERVARNAMEDECORSTR(f)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - S
    - ','
    - F
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 230
      start: 224
    functionDepth: 0
    functionLinenumber: 224
    functionLinenumberEnd: 230
    functionName: AIF_W32_INIT_VFPTR_IN_SEG
    functionSourceFile: /src/mhd2/src/incl_priv/autoinit_funcs.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: AIF_W32_INIT_VFPTR_IN_SEG(S, F)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - S
    - ','
    - F
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 255
      start: 249
    functionDepth: 0
    functionLinenumber: 249
    functionLinenumberEnd: 255
    functionName: AIF_W32_INIT_IFPTR_IN_SEG
    functionSourceFile: /src/mhd2/src/incl_priv/autoinit_funcs.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: AIF_W32_INIT_IFPTR_IN_SEG(S, F)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - F
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 261
      start: 259
    functionDepth: 0
    functionLinenumber: 259
    functionLinenumberEnd: 261
    functionName: AIF_W32_REG_STAT_INIT_C_USER
    functionSourceFile: /src/mhd2/src/incl_priv/autoinit_funcs.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: AIF_W32_REG_STAT_INIT_C_USER(F)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - F
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 263
      start: 261
    functionDepth: 0
    functionLinenumber: 261
    functionLinenumberEnd: 263
    functionName: AIF_W32_REG_STAT_INIT_C_LIB
    functionSourceFile: /src/mhd2/src/incl_priv/autoinit_funcs.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: AIF_W32_REG_STAT_INIT_C_LIB(F)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - F
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 265
      start: 263
    functionDepth: 0
    functionLinenumber: 263
    functionLinenumberEnd: 265
    functionName: AIF_W32_REG_STAT_INIT_CXX_USER
    functionSourceFile: /src/mhd2/src/incl_priv/autoinit_funcs.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: AIF_W32_REG_STAT_INIT_CXX_USER(F)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - F
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 267
      start: 265
    functionDepth: 0
    functionLinenumber: 265
    functionLinenumberEnd: 267
    functionName: AIF_W32_REG_STAT_INIT_CXX_LIB
    functionSourceFile: /src/mhd2/src/incl_priv/autoinit_funcs.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: AIF_W32_REG_STAT_INIT_CXX_LIB(F)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - F
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 275
      start: 273
    functionDepth: 0
    functionLinenumber: 273
    functionLinenumberEnd: 275
    functionName: AIF_W32_REG_STAT_INIT_EARLY1
    functionSourceFile: /src/mhd2/src/incl_priv/autoinit_funcs.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: AIF_W32_REG_STAT_INIT_EARLY1(F)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - F
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 277
      start: 275
    functionDepth: 0
    functionLinenumber: 275
    functionLinenumberEnd: 277
    functionName: AIF_W32_REG_STAT_INIT_EARLY2
    functionSourceFile: /src/mhd2/src/incl_priv/autoinit_funcs.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: AIF_W32_REG_STAT_INIT_EARLY2(F)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - F
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 279
      start: 277
    functionDepth: 0
    functionLinenumber: 277
    functionLinenumberEnd: 279
    functionName: AIF_W32_REG_STAT_INIT_LATE
    functionSourceFile: /src/mhd2/src/incl_priv/autoinit_funcs.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: AIF_W32_REG_STAT_INIT_LATE(F)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - f
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 301
      start: 300
    functionDepth: 0
    functionLinenumber: 300
    functionLinenumberEnd: 301
    functionName: AIF_W32_DEINITHELPERVARNAME
    functionSourceFile: /src/mhd2/src/incl_priv/autoinit_funcs.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: AIF_W32_DEINITHELPERVARNAME(f)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - f
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 303
      start: 301
    functionDepth: 0
    functionLinenumber: 301
    functionLinenumberEnd: 303
    functionName: AIF_W32_DEINITHELPERVARNAMEDECORSTR
    functionSourceFile: /src/mhd2/src/incl_priv/autoinit_funcs.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: AIF_W32_DEINITHELPERVARNAMEDECORSTR(f)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - S
    - ','
    - F
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 317
      start: 311
    functionDepth: 0
    functionLinenumber: 311
    functionLinenumberEnd: 317
    functionName: AIF_W32_DEINIT_VFPTR_IN_SEG
    functionSourceFile: /src/mhd2/src/incl_priv/autoinit_funcs.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: AIF_W32_DEINIT_VFPTR_IN_SEG(S, F)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - F
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 324
      start: 322
    functionDepth: 0
    functionLinenumber: 322
    functionLinenumberEnd: 324
    functionName: AIF_W32_REG_STAT_DEINIT_EARLY
    functionSourceFile: /src/mhd2/src/incl_priv/autoinit_funcs.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: AIF_W32_REG_STAT_DEINIT_EARLY(F)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - F
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 326
      start: 324
    functionDepth: 0
    functionLinenumber: 324
    functionLinenumberEnd: 326
    functionName: AIF_W32_REG_STAT_DEINIT_LATE1
    functionSourceFile: /src/mhd2/src/incl_priv/autoinit_funcs.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: AIF_W32_REG_STAT_DEINIT_LATE1(F)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - F
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 328
      start: 326
    functionDepth: 0
    functionLinenumber: 326
    functionLinenumberEnd: 328
    functionName: AIF_W32_REG_STAT_DEINIT_LATE2
    functionSourceFile: /src/mhd2/src/incl_priv/autoinit_funcs.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: AIF_W32_REG_STAT_DEINIT_LATE2(F)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - F
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 351
      start: 350
    functionDepth: 0
    functionLinenumber: 350
    functionLinenumberEnd: 351
    functionName: AIF_W32_REGISTER_STAT_INIT
    functionSourceFile: /src/mhd2/src/incl_priv/autoinit_funcs.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: AIF_W32_REGISTER_STAT_INIT(F)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - F
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 354
      start: 352
    functionDepth: 0
    functionLinenumber: 352
    functionLinenumberEnd: 354
    functionName: AIF_W32_REGISTER_STAT_DEINIT
    functionSourceFile: /src/mhd2/src/incl_priv/autoinit_funcs.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: AIF_W32_REGISTER_STAT_DEINIT(F)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - F
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 358
      start: 357
    functionDepth: 0
    functionLinenumber: 357
    functionLinenumberEnd: 358
    functionName: AIF_W32_REGISTER_STAT_INIT
    functionSourceFile: /src/mhd2/src/incl_priv/autoinit_funcs.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: AIF_W32_REGISTER_STAT_INIT(F)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - F
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 361
      start: 359
    functionDepth: 0
    functionLinenumber: 359
    functionLinenumberEnd: 361
    functionName: AIF_W32_REGISTER_STAT_DEINIT
    functionSourceFile: /src/mhd2/src/incl_priv/autoinit_funcs.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: AIF_W32_REGISTER_STAT_DEINIT(F)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - F
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 366
      start: 365
    functionDepth: 0
    functionLinenumber: 365
    functionLinenumberEnd: 366
    functionName: AIF_W32_REGISTER_STAT_INIT
    functionSourceFile: /src/mhd2/src/incl_priv/autoinit_funcs.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: AIF_W32_REGISTER_STAT_INIT(F)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - F
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 369
      start: 367
    functionDepth: 0
    functionLinenumber: 367
    functionLinenumberEnd: 369
    functionName: AIF_W32_REGISTER_STAT_DEINIT
    functionSourceFile: /src/mhd2/src/incl_priv/autoinit_funcs.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: AIF_W32_REGISTER_STAT_DEINIT(F)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - FI
    - ','
    - FD
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 394
      start: 381
    functionDepth: 0
    functionLinenumber: 381
    functionLinenumberEnd: 394
    functionName: AIF_W32_SET_STAT_INIT_AND_DEINIT
    functionSourceFile: /src/mhd2/src/incl_priv/autoinit_funcs.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: AIF_W32_SET_STAT_INIT_AND_DEINIT(FI, FD)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - FI
    - ','
    - FD
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 412
      start: 399
    functionDepth: 0
    functionLinenumber: 399
    functionLinenumberEnd: 412
    functionName: AIF_W32_SET_STAT_INIT_AND_DEINIT
    functionSourceFile: /src/mhd2/src/incl_priv/autoinit_funcs.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: AIF_W32_SET_STAT_INIT_AND_DEINIT(FI, FD)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - pReserved
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 457
      start: 456
    functionDepth: 0
    functionLinenumber: 456
    functionLinenumberEnd: 457
    functionName: AIF_W32_IS_DLL_DEINIT_SAFE
    functionSourceFile: /src/mhd2/src/incl_priv/autoinit_funcs.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: AIF_W32_IS_DLL_DEINIT_SAFE(pReserved)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - pReserved
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 459
      start: 458
    functionDepth: 0
    functionLinenumber: 458
    functionLinenumberEnd: 459
    functionName: AIF_W32_IS_DLL_DEINIT_SAFE
    functionSourceFile: /src/mhd2/src/incl_priv/autoinit_funcs.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: AIF_W32_IS_DLL_DEINIT_SAFE(pReserved)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - h
    - ','
    - r
    - ','
    - p
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 473
      start: 472
    functionDepth: 0
    functionLinenumber: 472
    functionLinenumberEnd: 473
    functionName: AIF_W32_CALL_USER_DLLMAIN
    functionSourceFile: /src/mhd2/src/incl_priv/autoinit_funcs.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: AIF_W32_CALL_USER_DLLMAIN(h, r, p)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - h
    - ','
    - r
    - ','
    - p
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 481
      start: 479
    functionDepth: 0
    functionLinenumber: 479
    functionLinenumberEnd: 481
    functionName: AIF_W32_CALL_USER_DLLMAIN
    functionSourceFile: /src/mhd2/src/incl_priv/autoinit_funcs.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: AIF_W32_CALL_USER_DLLMAIN(h, r, p)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - FI
    - ','
    - FD
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 507
      start: 492
    functionDepth: 0
    functionLinenumber: 492
    functionLinenumberEnd: 507
    functionName: AIF_W32_SET_DLL_INIT_AND_DEINIT
    functionSourceFile: /src/mhd2/src/incl_priv/autoinit_funcs.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: AIF_W32_SET_DLL_INIT_AND_DEINIT(FI, FD)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - FI
    - ','
    - FD
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 521
      start: 519
    functionDepth: 0
    functionLinenumber: 519
    functionLinenumberEnd: 521
    functionName: AIF_SET_INIT_AND_DEINIT_FUNCS
    functionSourceFile: /src/mhd2/src/incl_priv/autoinit_funcs.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: AIF_SET_INIT_AND_DEINIT_FUNCS(FI, FD)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - FI
    - ','
    - FD
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 528
      start: 526
    functionDepth: 0
    functionLinenumber: 526
    functionLinenumberEnd: 528
    functionName: AIF_SET_INIT_AND_DEINIT_FUNCS
    functionSourceFile: /src/mhd2/src/incl_priv/autoinit_funcs.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: AIF_SET_INIT_AND_DEINIT_FUNCS(FI, FD)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - FI
    - ','
    - FD
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 535
      start: 533
    functionDepth: 0
    functionLinenumber: 533
    functionLinenumberEnd: 535
    functionName: AIF_SET_INIT_AND_DEINIT_FUNCS
    functionSourceFile: /src/mhd2/src/incl_priv/autoinit_funcs.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: AIF_SET_INIT_AND_DEINIT_FUNCS(FI, FD)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: MHD_request_get_info_dynamic
      Src: /src/mhd2/src/examples2/minimal_auth_basic.c:58,1
    - Dst: MHD_action_basic_auth_challenge_a
      Src: /src/mhd2/src/examples2/minimal_auth_basic.c:62,1
    - Dst: MHD_response_from_buffer_static
      Src: /src/mhd2/src/examples2/minimal_auth_basic.c:66,1
    - Dst: MHD_action_from_response
      Src: /src/mhd2/src/examples2/minimal_auth_basic.c:72,1
    - Dst: MHD_response_from_buffer_static
      Src: /src/mhd2/src/examples2/minimal_auth_basic.c:74,1
    - Dst: MHD_action_abort_request
      Src: /src/mhd2/src/examples2/minimal_auth_basic.c:80,1
    - Dst: memcmp
      Src: /src/mhd2/src/examples2/minimal_auth_basic.c:85,1
    - Dst: memcmp
      Src: /src/mhd2/src/examples2/minimal_auth_basic.c:89,1
    - Dst: MHD_action_from_response
      Src: /src/mhd2/src/examples2/minimal_auth_basic.c:94,1
    - Dst: MHD_response_from_buffer_static
      Src: /src/mhd2/src/examples2/minimal_auth_basic.c:96,1
    - Dst: MHD_action_from_response
      Src: /src/mhd2/src/examples2/minimal_auth_basic.c:103,1
    - Dst: MHD_response_from_buffer_static
      Src: /src/mhd2/src/examples2/minimal_auth_basic.c:105,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 17
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 109
      start: 28
    functionDepth: 2
    functionLinenumber: 28
    functionLinenumberEnd: 109
    functionName: "(2) MHD_FN_PAR_NONNULL_ (3)\nconst struct MHD_Action *\nreq_cb
      (void *cls,\n        struct MHD_Request *MHD_RESTRICT request,\n        const
      struct MHD_String *MHD_RESTRICT path,\n        enum MHD_HTTP_Method method,\n
      \       uint_fast64_t upload_size)"
    functionSourceFile: /src/mhd2/src/examples2/minimal_auth_basic.c
    functionUses: 0
    functionsReached:
    - MHD_action_from_response
    - MHD_request_get_info_dynamic
    - MHD_response_from_buffer_static
    - MHD_action_abort_request
    - memcmp
    - MHD_action_basic_auth_challenge_a
    linkageType: ''
    returnType: MHD_FN_PAR_NONNULL_
    signature: "MHD_FN_PAR_NONNULL_ (2) MHD_FN_PAR_NONNULL_ (3)\nconst struct MHD_Action
      *\nreq_cb (void *cls,\n        struct MHD_Request *MHD_RESTRICT request,\n        const
      struct MHD_String *MHD_RESTRICT path,\n        enum MHD_HTTP_Method method,\n
      \       uint_fast64_t upload_size)"
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: fprintf
      Src: /src/mhd2/src/examples2/minimal_auth_basic.c:121,1
    - Dst: atoi
      Src: /src/mhd2/src/examples2/minimal_auth_basic.c:126,1
    - Dst: fprintf
      Src: /src/mhd2/src/examples2/minimal_auth_basic.c:129,1
    - Dst: MHD_daemon_create
      Src: /src/mhd2/src/examples2/minimal_auth_basic.c:133,1
    - Dst: fprintf
      Src: /src/mhd2/src/examples2/minimal_auth_basic.c:137,1
    - Dst: MHD_DAEMON_SET_OPTIONS
      Src: /src/mhd2/src/examples2/minimal_auth_basic.c:142,1
    - Dst: MHD_D_OPTION_WM_WORKER_THREADS
      Src: /src/mhd2/src/examples2/minimal_auth_basic.c:144,1
    - Dst: MHD_D_OPTION_BIND_PORT
      Src: /src/mhd2/src/examples2/minimal_auth_basic.c:145,1
    - Dst: fprintf
      Src: /src/mhd2/src/examples2/minimal_auth_basic.c:148,1
    - Dst: MHD_daemon_start
      Src: /src/mhd2/src/examples2/minimal_auth_basic.c:154,1
    - Dst: fprintf
      Src: /src/mhd2/src/examples2/minimal_auth_basic.c:156,1
    - Dst: printf
      Src: /src/mhd2/src/examples2/minimal_auth_basic.c:161,1
    - Dst: fgetc
      Src: /src/mhd2/src/examples2/minimal_auth_basic.c:163,1
    - Dst: printf
      Src: /src/mhd2/src/examples2/minimal_auth_basic.c:166,1
    - Dst: fflush
      Src: /src/mhd2/src/examples2/minimal_auth_basic.c:167,1
    - Dst: MHD_daemon_destroy
      Src: /src/mhd2/src/examples2/minimal_auth_basic.c:168,1
    - Dst: printf
      Src: /src/mhd2/src/examples2/minimal_auth_basic.c:169,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 30
    argCount: 2
    argNames:
    - argc
    - argv
    argTypes:
    - int
    - char**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 171
      start: 112
    functionDepth: 4
    functionLinenumber: 112
    functionLinenumberEnd: 171
    functionName: main
    functionSourceFile: /src/mhd2/src/examples2/minimal_auth_basic.c
    functionUses: 0
    functionsReached:
    - fprintf
    - MHD_daemon_create
    - MHD_daemon_start
    - MHD_D_OPTION_BIND_PORT
    - printf
    - fgetc
    - MHD_DAEMON_SET_OPTIONS
    - MHD_D_OPTION_WM_WORKER_THREADS
    - fflush
    - MHD_daemon_destroy
    - atoi
    linkageType: ''
    returnType: int
    signature: "int main (int argc,\n      char *const *argv)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: MHD_action_from_response
      Src: /src/mhd2/src/examples2/minimal_example2.c:42,1
    - Dst: MHD_response_from_buffer_static
      Src: /src/mhd2/src/examples2/minimal_example2.c:44,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 48
      start: 27
    functionDepth: 2
    functionLinenumber: 27
    functionLinenumberEnd: 48
    functionName: "(2) MHD_FN_PAR_NONNULL_ (3)\nconst struct MHD_Action *\nreq_cb
      (void *cls,\n        struct MHD_Request *MHD_RESTRICT request,\n        const
      struct MHD_String *MHD_RESTRICT path,\n        enum MHD_HTTP_Method method,\n
      \       uint_fast64_t upload_size)"
    functionSourceFile: /src/mhd2/src/examples2/minimal_example2.c
    functionUses: 0
    functionsReached:
    - MHD_response_from_buffer_static
    - MHD_action_from_response
    linkageType: ''
    returnType: MHD_FN_PAR_NONNULL_
    signature: "MHD_FN_PAR_NONNULL_ (2) MHD_FN_PAR_NONNULL_ (3)\nconst struct MHD_Action
      *\nreq_cb (void *cls,\n        struct MHD_Request *MHD_RESTRICT request,\n        const
      struct MHD_String *MHD_RESTRICT path,\n        enum MHD_HTTP_Method method,\n
      \       uint_fast64_t upload_size)"
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: fprintf
      Src: /src/mhd2/src/examples2/minimal_example2.c:60,1
    - Dst: atoi
      Src: /src/mhd2/src/examples2/minimal_example2.c:66,1
    - Dst: fprintf
      Src: /src/mhd2/src/examples2/minimal_example2.c:69,1
    - Dst: MHD_daemon_create
      Src: /src/mhd2/src/examples2/minimal_example2.c:73,1
    - Dst: fprintf
      Src: /src/mhd2/src/examples2/minimal_example2.c:77,1
    - Dst: MHD_DAEMON_SET_OPTIONS
      Src: /src/mhd2/src/examples2/minimal_example2.c:82,1
    - Dst: MHD_D_OPTION_WM_WORKER_THREADS
      Src: /src/mhd2/src/examples2/minimal_example2.c:84,1
    - Dst: MHD_D_OPTION_BIND_PORT
      Src: /src/mhd2/src/examples2/minimal_example2.c:85,1
    - Dst: fprintf
      Src: /src/mhd2/src/examples2/minimal_example2.c:88,1
    - Dst: MHD_daemon_start
      Src: /src/mhd2/src/examples2/minimal_example2.c:94,1
    - Dst: fprintf
      Src: /src/mhd2/src/examples2/minimal_example2.c:96,1
    - Dst: printf
      Src: /src/mhd2/src/examples2/minimal_example2.c:101,1
    - Dst: fgetc
      Src: /src/mhd2/src/examples2/minimal_example2.c:103,1
    - Dst: printf
      Src: /src/mhd2/src/examples2/minimal_example2.c:106,1
    - Dst: fflush
      Src: /src/mhd2/src/examples2/minimal_example2.c:107,1
    - Dst: MHD_daemon_destroy
      Src: /src/mhd2/src/examples2/minimal_example2.c:108,1
    - Dst: printf
      Src: /src/mhd2/src/examples2/minimal_example2.c:109,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 30
    argCount: 2
    argNames:
    - argc
    - argv
    argTypes:
    - int
    - char**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 111
      start: 51
    functionDepth: 4
    functionLinenumber: 51
    functionLinenumberEnd: 111
    functionName: main
    functionSourceFile: /src/mhd2/src/examples2/minimal_example2.c
    functionUses: 0
    functionsReached:
    - fprintf
    - MHD_daemon_create
    - MHD_daemon_start
    - MHD_D_OPTION_BIND_PORT
    - printf
    - fgetc
    - MHD_DAEMON_SET_OPTIONS
    - MHD_D_OPTION_WM_WORKER_THREADS
    - fflush
    - MHD_daemon_destroy
    - atoi
    linkageType: ''
    returnType: int
    signature: "int main (int argc,\n      char *const *argv)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: json_loadb
      Src: /src/mhd2/src/examples2/json_echo.c:135,1
    - Dst: MHD_upload_action_from_response
      Src: /src/mhd2/src/examples2/json_echo.c:140,1
    - Dst: json_dumps
      Src: /src/mhd2/src/examples2/json_echo.c:142,1
    - Dst: JSON_INDENT
      Src: /src/mhd2/src/examples2/json_echo.c:143,1
    - Dst: json_decref
      Src: /src/mhd2/src/examples2/json_echo.c:144,1
    - Dst: MHD_response_from_buffer
      Src: /src/mhd2/src/examples2/json_echo.c:145,1
    - Dst: strlen
      Src: /src/mhd2/src/examples2/json_echo.c:146,1
    - Dst: MHD_upload_action_from_response
      Src: /src/mhd2/src/examples2/json_echo.c:150,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 9
    argCount: 4
    argNames:
    - upload_cls
    - request
    - content_data_size
    - content_data
    argTypes:
    - void*
    - struct MHD_Request*
    - size_t
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 152
      start: 123
    functionDepth: 3
    functionLinenumber: 123
    functionLinenumberEnd: 152
    functionName: handle_upload
    functionSourceFile: /src/mhd2/src/examples2/json_echo.c
    functionUses: 0
    functionsReached:
    - json_decref
    - MHD_response_from_buffer
    - json_loadb
    - json_dumps
    - MHD_upload_action_from_response
    - JSON_INDENT
    - strlen
    linkageType: ''
    returnType: struct MHD_UploadAction
    signature: "struct MHD_UploadAction *\nhandle_upload (void *upload_cls,\n               struct
      MHD_Request *request,\n               size_t content_data_size,\n               void
      *content_data)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: MHD_action_from_response
      Src: /src/mhd2/src/examples2/json_echo.c:166,1
    - Dst: MHD_action_abort_request
      Src: /src/mhd2/src/examples2/json_echo.c:169,1
    - Dst: MHD_action_process_upload_full
      Src: /src/mhd2/src/examples2/json_echo.c:170,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 5
    argNames:
    - cls
    - request
    - path
    - method
    - upload_size
    argTypes:
    - void*
    - struct MHD_Request*
    - struct MHD_String*
    - enum MHD_HTTP_Method
    - uint_fast64_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 174
      start: 155
    functionDepth: 2
    functionLinenumber: 155
    functionLinenumberEnd: 174
    functionName: handle_request
    functionSourceFile: /src/mhd2/src/examples2/json_echo.c
    functionUses: 0
    functionsReached:
    - MHD_action_process_upload_full
    - MHD_action_from_response
    - MHD_action_abort_request
    linkageType: ''
    returnType: struct MHD_Action
    signature: "struct MHD_Action *\nhandle_request (void *cls,\n                struct
      MHD_Request *request,\n                const struct MHD_String *path,\n                enum
      MHD_HTTP_Method method,\n                uint_fast64_t upload_size)"
  - BBCount: 12
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/mhd2/src/examples2/json_echo.c:191,1
    - Dst: free
      Src: /src/mhd2/src/examples2/json_echo.c:202,1
    - Dst: malloc
      Src: /src/mhd2/src/examples2/json_echo.c:210,1
    - Dst: assert
      Src: /src/mhd2/src/examples2/json_echo.c:224,1
    - Dst: FD_SET
      Src: /src/mhd2/src/examples2/json_echo.c:231,1
    - Dst: FD_SET
      Src: /src/mhd2/src/examples2/json_echo.c:234,1
    - Dst: FD_SET
      Src: /src/mhd2/src/examples2/json_echo.c:237,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 36
    argCount: 5
    argNames:
    - cls
    - fd
    - watch_for
    - app_cntx
    - ecb_cntx
    argTypes:
    - void*
    - MHD_Socket
    - enum MHD_FdState
    - MHD_APP_SOCKET_CNTX_TYPE*
    - struct MHD_EventUpdateContext*
    assertStmts:
    - condition: (fd < FD_SETSIZE)
      pos:
        line_end: 190
        line_start: 190
        source_file: /src/mhd2/src/examples2/json_echo.c
    - condition: (fd == app_cntx->fd)
      pos:
        line_end: 223
        line_start: 223
        source_file: /src/mhd2/src/examples2/json_echo.c
    constantsTouched: []
    func_position:
      end: 242
      start: 180
    functionDepth: 0
    functionLinenumber: 180
    functionLinenumberEnd: 242
    functionName: sock_reg_update_cb
    functionSourceFile: /src/mhd2/src/examples2/json_echo.c
    functionUses: 0
    functionsReached:
    - free
    - malloc
    - FD_SET
    - assert
    linkageType: ''
    returnType: MHD_APP_SOCKET_CNTX_TYPE
    signature: "MHD_APP_SOCKET_CNTX_TYPE *\nsock_reg_update_cb (\n  void *cls,\n  MHD_Socket
      fd,\n  enum MHD_FdState watch_for,\n  MHD_APP_SOCKET_CNTX_TYPE *app_cntx,\n
      \ struct MHD_EventUpdateContext *ecb_cntx)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: MHD_response_add_header
      Src: /src/mhd2/src/examples2/json_echo.c:255,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - response
    argTypes:
    - struct MHD_Response*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 258
      start: 250
    functionDepth: 3
    functionLinenumber: 250
    functionLinenumberEnd: 258
    functionName: mark_as_html
    functionSourceFile: /src/mhd2/src/examples2/json_echo.c
    functionUses: 0
    functionsReached:
    - MHD_response_add_header
    linkageType: ''
    returnType: void
    signature: void mark_as_html (struct MHD_Response *response)
  - BBCount: 14
    BranchProfiles: []
    Callsites:
    - Dst: sscanf
      Src: /src/mhd2/src/examples2/json_echo.c:274,1
    - Dst: fprintf
      Src: /src/mhd2/src/examples2/json_echo.c:282,1
    - Dst: MHD_response_from_buffer_static
      Src: /src/mhd2/src/examples2/json_echo.c:290,1
    - Dst: strlen
      Src: /src/mhd2/src/examples2/json_echo.c:292,1
    - Dst: mark_as_html
      Src: /src/mhd2/src/examples2/json_echo.c:294,1
    - Dst: MHD_response_set_option
      Src: /src/mhd2/src/examples2/json_echo.c:296,1
    - Dst: MHD_R_OPTION_REUSABLE
      Src: /src/mhd2/src/examples2/json_echo.c:297,1
    - Dst: MHD_response_from_buffer_static
      Src: /src/mhd2/src/examples2/json_echo.c:300,1
    - Dst: strlen
      Src: /src/mhd2/src/examples2/json_echo.c:302,1
    - Dst: mark_as_html
      Src: /src/mhd2/src/examples2/json_echo.c:304,1
    - Dst: MHD_response_set_option
      Src: /src/mhd2/src/examples2/json_echo.c:306,1
    - Dst: MHD_R_OPTION_REUSABLE
      Src: /src/mhd2/src/examples2/json_echo.c:307,1
    - Dst: MHD_daemon_create
      Src: /src/mhd2/src/examples2/json_echo.c:310,1
    - Dst: MHD_DAEMON_SET_OPTIONS
      Src: /src/mhd2/src/examples2/json_echo.c:315,1
    - Dst: MHD_D_OPTION_REREGISTER_ALL
      Src: /src/mhd2/src/examples2/json_echo.c:317,1
    - Dst: MHD_D_OPTION_WM_EXTERNAL_EVENT_LOOP_CB_LEVEL
      Src: /src/mhd2/src/examples2/json_echo.c:318,1
    - Dst: MHD_D_OPTION_FD_NUMBER_LIMIT
      Src: /src/mhd2/src/examples2/json_echo.c:321,1
    - Dst: MHD_D_OPTION_DEFAULT_TIMEOUT_MILSEC
      Src: /src/mhd2/src/examples2/json_echo.c:322,1
    - Dst: MHD_D_OPTION_CONN_MEMORY_LIMIT
      Src: /src/mhd2/src/examples2/json_echo.c:323,1
    - Dst: MHD_D_OPTION_BIND_PORT
      Src: /src/mhd2/src/examples2/json_echo.c:324,1
    - Dst: MHD_daemon_start
      Src: /src/mhd2/src/examples2/json_echo.c:328,1
    - Dst: MHD_daemon_destroy
      Src: /src/mhd2/src/examples2/json_echo.c:330,1
    - Dst: FD_ZERO
      Src: /src/mhd2/src/examples2/json_echo.c:339,1
    - Dst: FD_ZERO
      Src: /src/mhd2/src/examples2/json_echo.c:340,1
    - Dst: FD_ZERO
      Src: /src/mhd2/src/examples2/json_echo.c:341,1
    - Dst: FD_SET
      Src: /src/mhd2/src/examples2/json_echo.c:343,1
    - Dst: MHD_daemon_process_reg_events
      Src: /src/mhd2/src/examples2/json_echo.c:349,1
    - Dst: select
      Src: /src/mhd2/src/examples2/json_echo.c:362,1
    - Dst: FD_ISSET
      Src: /src/mhd2/src/examples2/json_echo.c:368,1
    - Dst: _kbhit
      Src: /src/mhd2/src/examples2/json_echo.c:372,1
    - Dst: FD_ISSET
      Src: /src/mhd2/src/examples2/json_echo.c:381,1
    - Dst: FD_ISSET
      Src: /src/mhd2/src/examples2/json_echo.c:385,1
    - Dst: FD_ISSET
      Src: /src/mhd2/src/examples2/json_echo.c:389,1
    - Dst: MHD_daemon_event_update
      Src: /src/mhd2/src/examples2/json_echo.c:393,1
    - Dst: MHD_daemon_destroy
      Src: /src/mhd2/src/examples2/json_echo.c:398,1
    - Dst: MHD_response_destroy
      Src: /src/mhd2/src/examples2/json_echo.c:399,1
    - Dst: MHD_response_destroy
      Src: /src/mhd2/src/examples2/json_echo.c:400,1
    CyclomaticComplexity: 19
    EdgeCount: 19
    ICount: 56
    argCount: 2
    argNames:
    - argc
    - argv
    argTypes:
    - int
    - char**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 402
      start: 265
    functionDepth: 10
    functionLinenumber: 265
    functionLinenumberEnd: 402
    functionName: main
    functionSourceFile: /src/mhd2/src/examples2/json_echo.c
    functionUses: 0
    functionsReached:
    - fprintf
    - MHD_D_OPTION_WM_EXTERNAL_EVENT_LOOP_CB_LEVEL
    - MHD_D_OPTION_REREGISTER_ALL
    - MHD_D_OPTION_BIND_PORT
    - MHD_response_set_option
    - MHD_response_from_buffer_static
    - MHD_daemon_process_reg_events
    - strlen
    - MHD_response_destroy
    - MHD_daemon_start
    - _kbhit
    - select
    - FD_ZERO
    - MHD_daemon_event_update
    - FD_ISSET
    - sscanf
    - MHD_D_OPTION_FD_NUMBER_LIMIT
    - MHD_D_OPTION_CONN_MEMORY_LIMIT
    - MHD_D_OPTION_DEFAULT_TIMEOUT_MILSEC
    - FD_SET
    - MHD_R_OPTION_REUSABLE
    - MHD_daemon_create
    - mark_as_html
    - MHD_DAEMON_SET_OPTIONS
    - MHD_daemon_destroy
    linkageType: ''
    returnType: int
    signature: "int main (int argc,\n      char *const *argv)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - pmtx
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 84
      start: 83
    functionDepth: 0
    functionLinenumber: 83
    functionLinenumberEnd: 84
    functionName: my_mutex_init
    functionSourceFile: /src/mhd2/src/examples2/demo.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: my_mutex_init(pmtx)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - pmtx
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 85
      start: 84
    functionDepth: 0
    functionLinenumber: 84
    functionLinenumberEnd: 85
    functionName: my_mutex_destroy
    functionSourceFile: /src/mhd2/src/examples2/demo.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: my_mutex_destroy(pmtx)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - pmtx
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 86
      start: 85
    functionDepth: 0
    functionLinenumber: 85
    functionLinenumberEnd: 86
    functionName: my_mutex_lock
    functionSourceFile: /src/mhd2/src/examples2/demo.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: my_mutex_lock(pmtx)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - pmtx
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 87
      start: 86
    functionDepth: 0
    functionLinenumber: 86
    functionLinenumberEnd: 87
    functionName: my_mutex_unlock
    functionSourceFile: /src/mhd2/src/examples2/demo.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: my_mutex_unlock(pmtx)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - pmtx
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 92
      start: 91
    functionDepth: 0
    functionLinenumber: 91
    functionLinenumberEnd: 92
    functionName: my_mutex_init
    functionSourceFile: /src/mhd2/src/examples2/demo.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: my_mutex_init(pmtx)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - pmtx
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 93
      start: 92
    functionDepth: 0
    functionLinenumber: 92
    functionLinenumberEnd: 93
    functionName: my_mutex_destroy
    functionSourceFile: /src/mhd2/src/examples2/demo.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: my_mutex_destroy(pmtx)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - pmtx
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 94
      start: 93
    functionDepth: 0
    functionLinenumber: 93
    functionLinenumberEnd: 94
    functionName: my_mutex_lock
    functionSourceFile: /src/mhd2/src/examples2/demo.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: my_mutex_lock(pmtx)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - pmtx
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 95
      start: 94
    functionDepth: 0
    functionLinenumber: 94
    functionLinenumberEnd: 95
    functionName: my_mutex_unlock
    functionSourceFile: /src/mhd2/src/examples2/demo.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: my_mutex_unlock(pmtx)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - arg
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 99
      start: 98
    functionDepth: 0
    functionLinenumber: 98
    functionLinenumberEnd: 99
    functionName: my_S_ISREG
    functionSourceFile: /src/mhd2/src/examples2/demo.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: my_S_ISREG(arg)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - arg
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 101
      start: 100
    functionDepth: 0
    functionLinenumber: 100
    functionLinenumberEnd: 101
    functionName: my_S_ISREG
    functionSourceFile: /src/mhd2/src/examples2/demo.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: my_S_ISREG(arg)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - tmpl
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 142
      start: 141
    functionDepth: 0
    functionLinenumber: 141
    functionLinenumberEnd: 142
    functionName: my_mkstemp
    functionSourceFile: /src/mhd2/src/examples2/demo.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: my_mkstemp(tmpl)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: GetTempFileNameA
      Src: /src/mhd2/src/examples2/demo.c:152,1
    - Dst: CreateFileA
      Src: /src/mhd2/src/examples2/demo.c:157,1
    - Dst: _open_osfhandle
      Src: /src/mhd2/src/examples2/demo.c:167,1
    - Dst: strcpy
      Src: /src/mhd2/src/examples2/demo.c:171,1
    - Dst: CloseHandle
      Src: /src/mhd2/src/examples2/demo.c:176,1
    - Dst: DeleteFileA
      Src: /src/mhd2/src/examples2/demo.c:178,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 16
    argCount: 1
    argNames:
    - tmpl
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 181
      start: 143
    functionDepth: 0
    functionLinenumber: 143
    functionLinenumberEnd: 181
    functionName: my_mkstemp
    functionSourceFile: /src/mhd2/src/examples2/demo.c
    functionUses: 0
    functionsReached:
    - strcpy
    - CreateFileA
    - GetTempFileNameA
    - _open_osfhandle
    - DeleteFileA
    - CloseHandle
    linkageType: ''
    returnType: int
    signature: int my_mkstemp (char *tmpl)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - str
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 188
      start: 187
    functionDepth: 0
    functionLinenumber: 187
    functionLinenumberEnd: 188
    functionName: my_strdup
    functionSourceFile: /src/mhd2/src/examples2/demo.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: my_strdup(str)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: strlen
      Src: /src/mhd2/src/examples2/demo.c:195,1
    - Dst: malloc
      Src: /src/mhd2/src/examples2/demo.c:196,1
    - Dst: memcpy
      Src: /src/mhd2/src/examples2/demo.c:198,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - str
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 200
      start: 189
    functionDepth: 0
    functionLinenumber: 189
    functionLinenumberEnd: 200
    functionName: my_strdup
    functionSourceFile: /src/mhd2/src/examples2/demo.c
    functionUses: 0
    functionsReached:
    - malloc
    - strlen
    - memcpy
    linkageType: ''
    returnType: char
    signature: 'char *

      my_strdup (const char *str)'
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: MHD_response_add_header
      Src: /src/mhd2/src/examples2/demo.c:349,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - response
    argTypes:
    - struct MHD_Response*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 352
      start: 344
    functionDepth: 3
    functionLinenumber: 344
    functionLinenumberEnd: 352
    functionName: mark_as_html
    functionSourceFile: /src/mhd2/src/examples2/demo.c
    functionUses: 1
    functionsReached:
    - MHD_response_add_header
    linkageType: ''
    returnType: void
    signature: void mark_as_html (struct MHD_Response *response)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: MHD_response_set_option
      Src: /src/mhd2/src/examples2/demo.c:367,1
    - Dst: MHD_R_OPTION_REUSABLE
      Src: /src/mhd2/src/examples2/demo.c:368,1
    - Dst: exit
      Src: /src/mhd2/src/examples2/demo.c:370,1
    - Dst: my_mutex_lock
      Src: /src/mhd2/src/examples2/demo.c:372,1
    - Dst: MHD_response_destroy
      Src: /src/mhd2/src/examples2/demo.c:374,1
    - Dst: my_mutex_unlock
      Src: /src/mhd2/src/examples2/demo.c:376,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 10
    argCount: 1
    argNames:
    - response
    argTypes:
    - struct MHD_Response*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 377
      start: 361
    functionDepth: 3
    functionLinenumber: 361
    functionLinenumberEnd: 377
    functionName: update_cached_response
    functionSourceFile: /src/mhd2/src/examples2/demo.c
    functionUses: 0
    functionsReached:
    - MHD_response_destroy
    - MHD_response_set_option
    - my_mutex_lock
    - exit
    - my_mutex_unlock
    - MHD_R_OPTION_REUSABLE
    linkageType: ''
    returnType: void
    signature: void update_cached_response (struct MHD_Response *response)
  - BBCount: 19
    BranchProfiles: []
    Callsites:
    - Dst: opendir
      Src: /src/mhd2/src/examples2/demo.c:420,1
    - Dst: readdir
      Src: /src/mhd2/src/examples2/demo.c:422,1
    - Dst: snprintf
      Src: /src/mhd2/src/examples2/demo.c:428,1
    - Dst: stat
      Src: /src/mhd2/src/examples2/demo.c:432,1
    - Dst: S_ISREG
      Src: /src/mhd2/src/examples2/demo.c:434,1
    - Dst: realloc
      Src: /src/mhd2/src/examples2/demo.c:444,1
    - Dst: snprintf
      Src: /src/mhd2/src/examples2/demo.c:448,1
    - Dst: closedir
      Src: /src/mhd2/src/examples2/demo.c:459,1
    - Dst: snprintf
      Src: /src/mhd2/src/examples2/demo.c:465,1
    - Dst: _findfirsti64
      Src: /src/mhd2/src/examples2/demo.c:470,1
    - Dst: realloc
      Src: /src/mhd2/src/examples2/demo.c:487,1
    - Dst: snprintf
      Src: /src/mhd2/src/examples2/demo.c:491,1
    - Dst: _findnexti64
      Src: /src/mhd2/src/examples2/demo.c:503,1
    - Dst: _findclose
      Src: /src/mhd2/src/examples2/demo.c:505,1
    CyclomaticComplexity: 36
    EdgeCount: 36
    ICount: 52
    argCount: 2
    argNames:
    - rdc
    - dirname
    argTypes:
    - struct ResponseDataContext*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 508
      start: 410
    functionDepth: 0
    functionLinenumber: 410
    functionLinenumberEnd: 508
    functionName: list_directory
    functionSourceFile: /src/mhd2/src/examples2/demo.c
    functionUses: 0
    functionsReached:
    - readdir
    - closedir
    - stat
    - S_ISREG
    - _findnexti64
    - realloc
    - snprintf
    - _findfirsti64
    - opendir
    - _findclose
    linkageType: ''
    returnType: bool
    signature: "bool list_directory (struct ResponseDataContext *rdc,\n                const
      char *dirname)"
  - BBCount: 12
    BranchProfiles: []
    Callsites:
    - Dst: malloc
      Src: /src/mhd2/src/examples2/demo.c:531,1
    - Dst: update_cached_response
      Src: /src/mhd2/src/examples2/demo.c:534,1
    - Dst: strlen
      Src: /src/mhd2/src/examples2/demo.c:537,1
    - Dst: free
      Src: /src/mhd2/src/examples2/demo.c:540,1
    - Dst: update_cached_response
      Src: /src/mhd2/src/examples2/demo.c:541,1
    - Dst: memcpy
      Src: /src/mhd2/src/examples2/demo.c:544,1
    - Dst: stat
      Src: /src/mhd2/src/examples2/demo.c:553,1
    - Dst: snprintf
      Src: /src/mhd2/src/examples2/demo.c:558,1
    - Dst: snprintf
      Src: /src/mhd2/src/examples2/demo.c:569,1
    - Dst: stat
      Src: /src/mhd2/src/examples2/demo.c:575,1
    - Dst: snprintf
      Src: /src/mhd2/src/examples2/demo.c:581,1
    - Dst: list_directory
      Src: /src/mhd2/src/examples2/demo.c:590,1
    - Dst: free
      Src: /src/mhd2/src/examples2/demo.c:593,1
    - Dst: update_cached_response
      Src: /src/mhd2/src/examples2/demo.c:594,1
    - Dst: strlen
      Src: /src/mhd2/src/examples2/demo.c:602,1
    - Dst: free
      Src: /src/mhd2/src/examples2/demo.c:605,1
    - Dst: update_cached_response
      Src: /src/mhd2/src/examples2/demo.c:606,1
    - Dst: memcpy
      Src: /src/mhd2/src/examples2/demo.c:609,1
    - Dst: MHD_response_from_buffer
      Src: /src/mhd2/src/examples2/demo.c:613,1
    - Dst: mark_as_html
      Src: /src/mhd2/src/examples2/demo.c:618,1
    - Dst: MHD_response_set_option
      Src: /src/mhd2/src/examples2/demo.c:620,1
    - Dst: MHD_R_OPTION_CONN_CLOSE
      Src: /src/mhd2/src/examples2/demo.c:621,1
    - Dst: update_cached_response
      Src: /src/mhd2/src/examples2/demo.c:623,1
    CyclomaticComplexity: 21
    EdgeCount: 21
    ICount: 59
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 624
      start: 514
    functionDepth: 4
    functionLinenumber: 514
    functionLinenumberEnd: 624
    functionName: update_directory
    functionSourceFile: /src/mhd2/src/examples2/demo.c
    functionUses: 0
    functionsReached:
    - list_directory
    - stat
    - malloc
    - MHD_response_from_buffer
    - mark_as_html
    - free
    - MHD_response_set_option
    - MHD_R_OPTION_CONN_CLOSE
    - snprintf
    - update_cached_response
    - strlen
    - memcpy
    linkageType: ''
    returnType: void
    signature: void update_directory (void)
  - BBCount: 12
    BranchProfiles: []
    Callsites:
    - Dst: strcmp
      Src: /src/mhd2/src/examples2/demo.c:715,1
    - Dst: strcmp
      Src: /src/mhd2/src/examples2/demo.c:717,1
    - Dst: strcmp
      Src: /src/mhd2/src/examples2/demo.c:719,1
    - Dst: MHD_upload_action_from_response
      Src: /src/mhd2/src/examples2/demo.c:722,1
    - Dst: strcmp
      Src: /src/mhd2/src/examples2/demo.c:725,1
    - Dst: fprintf
      Src: /src/mhd2/src/examples2/demo.c:728,1
    - Dst: MHD_upload_action_continue
      Src: /src/mhd2/src/examples2/demo.c:731,1
    - Dst: fprintf
      Src: /src/mhd2/src/examples2/demo.c:735,1
    - Dst: MHD_upload_action_from_response
      Src: /src/mhd2/src/examples2/demo.c:737,1
    - Dst: strstr
      Src: /src/mhd2/src/examples2/demo.c:744,1
    - Dst: strchr
      Src: /src/mhd2/src/examples2/demo.c:746,1
    - Dst: strchr
      Src: /src/mhd2/src/examples2/demo.c:748,1
    - Dst: MHD_upload_action_from_response
      Src: /src/mhd2/src/examples2/demo.c:751,1
    - Dst: my_strdup
      Src: /src/mhd2/src/examples2/demo.c:754,1
    - Dst: fprintf
      Src: /src/mhd2/src/examples2/demo.c:758,1
    - Dst: MHD_upload_action_from_response
      Src: /src/mhd2/src/examples2/demo.c:760,1
    - Dst: strlen
      Src: /src/mhd2/src/examples2/demo.c:765,1
    - Dst: isprint
      Src: /src/mhd2/src/examples2/demo.c:769,1
    - Dst: my_mkstemp
      Src: /src/mhd2/src/examples2/demo.c:772,1
    - Dst: fprintf
      Src: /src/mhd2/src/examples2/demo.c:775,1
    - Dst: strerror
      Src: /src/mhd2/src/examples2/demo.c:778,1
    - Dst: MHD_upload_action_from_response
      Src: /src/mhd2/src/examples2/demo.c:779,1
    - Dst: defined
      Src: /src/mhd2/src/examples2/demo.c:784,1
    - Dst: defined
      Src: /src/mhd2/src/examples2/demo.c:784,1
    - Dst: write
      Src: /src/mhd2/src/examples2/demo.c:786,1
    - Dst: write
      Src: /src/mhd2/src/examples2/demo.c:791,1
    - Dst: fprintf
      Src: /src/mhd2/src/examples2/demo.c:798,1
    - Dst: strerror
      Src: /src/mhd2/src/examples2/demo.c:801,1
    - Dst: close
      Src: /src/mhd2/src/examples2/demo.c:802,1
    - Dst: unlink
      Src: /src/mhd2/src/examples2/demo.c:804,1
    - Dst: MHD_upload_action_from_response
      Src: /src/mhd2/src/examples2/demo.c:805,1
    - Dst: close
      Src: /src/mhd2/src/examples2/demo.c:810,1
    - Dst: MHD_upload_action_continue
      Src: /src/mhd2/src/examples2/demo.c:814,1
    CyclomaticComplexity: 18
    EdgeCount: 18
    ICount: 49
    argCount: 10
    argNames:
    - req
    - cls
    - name
    - filename
    - content_type
    - encoding
    - size
    - data
    - 'off'
    - final_data
    argTypes:
    - struct MHD_Request*
    - void*
    - struct MHD_String*
    - struct MHD_StringNullable*
    - struct MHD_StringNullable*
    - struct MHD_StringNullable*
    - size_t
    - void*
    - uint_fast64_t
    - enum MHD_Bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 815
      start: 698
    functionDepth: 2
    functionLinenumber: 698
    functionLinenumberEnd: 815
    functionName: stream_reader
    functionSourceFile: /src/mhd2/src/examples2/demo.c
    functionUses: 2
    functionsReached:
    - close
    - fprintf
    - strcmp
    - strstr
    - strchr
    - my_mkstemp
    - write
    - MHD_upload_action_from_response
    - unlink
    - MHD_upload_action_continue
    - strlen
    - defined
    - strerror
    - isprint
    - my_strdup
    linkageType: ''
    returnType: struct MHD_UploadAction
    signature: "struct MHD_UploadAction *\nstream_reader (struct MHD_Request *req,\n
      \              void *cls,\n               const struct MHD_String *name,\n               const
      struct MHD_StringNullable *filename,\n               const struct MHD_StringNullable
      *content_type,\n               const struct MHD_StringNullable *encoding,\n
      \              size_t size,\n               const void *data,\n               uint_fast64_t
      off,\n               enum MHD_Bool final_data)"
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: strcmp
      Src: /src/mhd2/src/examples2/demo.c:840,1
    - Dst: fprintf
      Src: /src/mhd2/src/examples2/demo.c:850,1
    - Dst: my_strdup
      Src: /src/mhd2/src/examples2/demo.c:855,1
    - Dst: my_mkstemp
      Src: /src/mhd2/src/examples2/demo.c:856,1
    - Dst: fprintf
      Src: /src/mhd2/src/examples2/demo.c:859,1
    - Dst: strerror
      Src: /src/mhd2/src/examples2/demo.c:862,1
    - Dst: write
      Src: /src/mhd2/src/examples2/demo.c:870,1
    - Dst: write
      Src: /src/mhd2/src/examples2/demo.c:874,1
    - Dst: close
      Src: /src/mhd2/src/examples2/demo.c:879,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 26
    argCount: 2
    argNames:
    - cls
    - data
    argTypes:
    - void*
    - struct MHD_PostField*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 882
      start: 833
    functionDepth: 1
    functionLinenumber: 833
    functionLinenumberEnd: 882
    functionName: handle_full_upload
    functionSourceFile: /src/mhd2/src/examples2/demo.c
    functionUses: 0
    functionsReached:
    - close
    - fprintf
    - strcmp
    - write
    - my_mkstemp
    - my_strdup
    - strerror
    linkageType: ''
    returnType: enum MHD_Bool
    signature: "enum MHD_Bool handle_full_upload (void *cls,\n                    const
      struct MHD_PostField *data)"
  - BBCount: 13
    BranchProfiles: []
    Callsites:
    - Dst: fprintf
      Src: /src/mhd2/src/examples2/demo.c:907,1
    - Dst: MHD_upload_action_from_response
      Src: /src/mhd2/src/examples2/demo.c:910,1
    - Dst: fprintf
      Src: /src/mhd2/src/examples2/demo.c:916,1
    - Dst: close
      Src: /src/mhd2/src/examples2/demo.c:918,1
    - Dst: fprintf
      Src: /src/mhd2/src/examples2/demo.c:921,1
    - Dst: unlink
      Src: /src/mhd2/src/examples2/demo.c:925,1
    - Dst: MHD_upload_action_from_response
      Src: /src/mhd2/src/examples2/demo.c:926,1
    - Dst: MHD_request_get_value
      Src: /src/mhd2/src/examples2/demo.c:930,1
    - Dst: MHD_request_get_value
      Src: /src/mhd2/src/examples2/demo.c:934,1
    - Dst: fprintf
      Src: /src/mhd2/src/examples2/demo.c:941,1
    - Dst: unlink
      Src: /src/mhd2/src/examples2/demo.c:944,1
    - Dst: MHD_upload_action_from_response
      Src: /src/mhd2/src/examples2/demo.c:945,1
    - Dst: MHD_request_get_post_data_cb
      Src: /src/mhd2/src/examples2/demo.c:951,1
    - Dst: fprintf
      Src: /src/mhd2/src/examples2/demo.c:956,1
    - Dst: MHD_upload_action_from_response
      Src: /src/mhd2/src/examples2/demo.c:958,1
    - Dst: fprintf
      Src: /src/mhd2/src/examples2/demo.c:964,1
    - Dst: MHD_upload_action_from_response
      Src: /src/mhd2/src/examples2/demo.c:966,1
    - Dst: mkdir
      Src: /src/mhd2/src/examples2/demo.c:972,1
    - Dst: mkdir
      Src: /src/mhd2/src/examples2/demo.c:975,1
    - Dst: snprintf
      Src: /src/mhd2/src/examples2/demo.c:977,1
    - Dst: fprintf
      Src: /src/mhd2/src/examples2/demo.c:985,1
    - Dst: MHD_upload_action_from_response
      Src: /src/mhd2/src/examples2/demo.c:987,1
    - Dst: mkdir
      Src: /src/mhd2/src/examples2/demo.c:992,1
    - Dst: mkdir
      Src: /src/mhd2/src/examples2/demo.c:995,1
    - Dst: snprintf
      Src: /src/mhd2/src/examples2/demo.c:998,1
    - Dst: fprintf
      Src: /src/mhd2/src/examples2/demo.c:1007,1
    - Dst: MHD_upload_action_from_response
      Src: /src/mhd2/src/examples2/demo.c:1009,1
    - Dst: rename
      Src: /src/mhd2/src/examples2/demo.c:1014,1
    - Dst: fprintf
      Src: /src/mhd2/src/examples2/demo.c:1017,1
    - Dst: strerror
      Src: /src/mhd2/src/examples2/demo.c:1021,1
    - Dst: MHD_upload_action_from_response
      Src: /src/mhd2/src/examples2/demo.c:1022,1
    - Dst: chmod
      Src: /src/mhd2/src/examples2/demo.c:1027,1
    - Dst: update_directory
      Src: /src/mhd2/src/examples2/demo.c:1031,1
    - Dst: my_mutex_lock
      Src: /src/mhd2/src/examples2/demo.c:1032,1
    - Dst: MHD_upload_action_from_response
      Src: /src/mhd2/src/examples2/demo.c:1034,1
    - Dst: MHD_upload_action_from_response
      Src: /src/mhd2/src/examples2/demo.c:1037,1
    - Dst: my_mutex_unlock
      Src: /src/mhd2/src/examples2/demo.c:1039,1
    - Dst: free
      Src: /src/mhd2/src/examples2/demo.c:1042,1
    - Dst: free
      Src: /src/mhd2/src/examples2/demo.c:1043,1
    CyclomaticComplexity: 28
    EdgeCount: 28
    ICount: 76
    argCount: 3
    argNames:
    - req
    - cls
    - parsing_result
    argTypes:
    - struct MHD_Request*
    - void*
    - enum MHD_PostParseResult
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1045
      start: 893
    functionDepth: 5
    functionLinenumber: 893
    functionLinenumberEnd: 1045
    functionName: done_cb
    functionSourceFile: /src/mhd2/src/examples2/demo.c
    functionUses: 1
    functionsReached:
    - close
    - rename
    - update_directory
    - fprintf
    - MHD_request_get_post_data_cb
    - mkdir
    - MHD_upload_action_from_response
    - my_mutex_lock
    - unlink
    - free
    - MHD_request_get_value
    - chmod
    - snprintf
    - strerror
    - my_mutex_unlock
    linkageType: ''
    returnType: struct MHD_UploadAction
    signature: "struct MHD_UploadAction *\ndone_cb (struct MHD_Request *req,\n         void
      *cls,\n         enum MHD_PostParseResult parsing_result)"
  - BBCount: 19
    BranchProfiles: []
    Callsites:
    - Dst: MHD_action_from_response
      Src: /src/mhd2/src/examples2/demo.c:1081,1
    - Dst: strcmp
      Src: /src/mhd2/src/examples2/demo.c:1087,1
    - Dst: strstr
      Src: /src/mhd2/src/examples2/demo.c:1102,1
    - Dst: _WIN32
      Src: /src/mhd2/src/examples2/demo.c:1106,1
    - Dst: open
      Src: /src/mhd2/src/examples2/demo.c:1111,1
    - Dst: fstat
      Src: /src/mhd2/src/examples2/demo.c:1115,1
    - Dst: my_S_ISREG
      Src: /src/mhd2/src/examples2/demo.c:1117,1
    - Dst: close
      Src: /src/mhd2/src/examples2/demo.c:1119,1
    - Dst: MHD_action_from_response
      Src: /src/mhd2/src/examples2/demo.c:1124,1
    - Dst: read
      Src: /src/mhd2/src/examples2/demo.c:1128,1
    - Dst: lseek
      Src: /src/mhd2/src/examples2/demo.c:1131,1
    - Dst: magic_buffer
      Src: /src/mhd2/src/examples2/demo.c:1135,1
    - Dst: strrchr
      Src: /src/mhd2/src/examples2/demo.c:1143,1
    - Dst: strcmp
      Src: /src/mhd2/src/examples2/demo.c:1148,1
    - Dst: strcmp
      Src: /src/mhd2/src/examples2/demo.c:1150,1
    - Dst: strcmp
      Src: /src/mhd2/src/examples2/demo.c:1152,1
    - Dst: strcmp
      Src: /src/mhd2/src/examples2/demo.c:1155,1
    - Dst: strcmp
      Src: /src/mhd2/src/examples2/demo.c:1158,1
    - Dst: strcmp
      Src: /src/mhd2/src/examples2/demo.c:1161,1
    - Dst: MHD_response_from_fd
      Src: /src/mhd2/src/examples2/demo.c:1167,1
    - Dst: MHD_action_abort_request
      Src: /src/mhd2/src/examples2/demo.c:1172,1
    - Dst: MHD_response_add_header
      Src: /src/mhd2/src/examples2/demo.c:1176,1
    - Dst: MHD_action_from_response
      Src: /src/mhd2/src/examples2/demo.c:1179,1
    - Dst: strcmp
      Src: /src/mhd2/src/examples2/demo.c:1184,1
    - Dst: malloc
      Src: /src/mhd2/src/examples2/demo.c:1189,1
    - Dst: MHD_action_abort_request
      Src: /src/mhd2/src/examples2/demo.c:1191,1
    - Dst: memset
      Src: /src/mhd2/src/examples2/demo.c:1192,1
    - Dst: strcpy
      Src: /src/mhd2/src/examples2/demo.c:1195,1
    - Dst: MHD_action_parse_post
      Src: /src/mhd2/src/examples2/demo.c:1198,1
    - Dst: strcmp
      Src: /src/mhd2/src/examples2/demo.c:1209,1
    - Dst: my_mutex_lock
      Src: /src/mhd2/src/examples2/demo.c:1214,1
    - Dst: MHD_action_from_response
      Src: /src/mhd2/src/examples2/demo.c:1216,1
    - Dst: MHD_action_from_response
      Src: /src/mhd2/src/examples2/demo.c:1219,1
    - Dst: my_mutex_unlock
      Src: /src/mhd2/src/examples2/demo.c:1221,1
    - Dst: MHD_action_from_response
      Src: /src/mhd2/src/examples2/demo.c:1225,1
    CyclomaticComplexity: 35
    EdgeCount: 35
    ICount: 59
    argCount: 5
    argNames:
    - cls
    - MHD_RESTRICT
    - MHD_RESTRICT
    - method
    - upload_size
    argTypes:
    - void*
    - struct MHD_Request*
    - struct MHD_String*
    - enum MHD_HTTP_Method
    - uint_fast64_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1227
      start: 1064
    functionDepth: 4
    functionLinenumber: 1064
    functionLinenumberEnd: 1227
    functionName: generate_page
    functionSourceFile: /src/mhd2/src/examples2/demo.c
    functionUses: 0
    functionsReached:
    - my_S_ISREG
    - read
    - MHD_action_abort_request
    - close
    - fstat
    - malloc
    - open
    - MHD_action_parse_post
    - MHD_response_from_fd
    - my_mutex_lock
    - MHD_response_add_header
    - _WIN32
    - strcpy
    - strrchr
    - lseek
    - strstr
    - memset
    - my_mutex_unlock
    - strcmp
    - MHD_action_from_response
    - magic_buffer
    linkageType: ''
    returnType: struct MHD_Action
    signature: "struct MHD_Action *\ngenerate_page (void *cls,\n               struct
      MHD_Request *MHD_RESTRICT request,\n               const struct MHD_String *MHD_RESTRICT
      path,\n               enum MHD_HTTP_Method method,\n               uint_fast64_t
      upload_size)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - sig
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1241
      start: 1236
    functionDepth: 0
    functionLinenumber: 1236
    functionLinenumberEnd: 1241
    functionName: catcher
    functionSourceFile: /src/mhd2/src/examples2/demo.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void catcher (int sig)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: sigemptyset
      Src: /src/mhd2/src/examples2/demo.c:1254,1
    - Dst: sigaction
      Src: /src/mhd2/src/examples2/demo.c:1260,1
    - Dst: fprintf
      Src: /src/mhd2/src/examples2/demo.c:1263,1
    - Dst: strerror
      Src: /src/mhd2/src/examples2/demo.c:1264,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1265
      start: 1247
    functionDepth: 0
    functionLinenumber: 1247
    functionLinenumberEnd: 1265
    functionName: ignore_sigpipe
    functionSourceFile: /src/mhd2/src/examples2/demo.c
    functionUses: 1
    functionsReached:
    - strerror
    - sigaction
    - fprintf
    - sigemptyset
    linkageType: ''
    returnType: void
    signature: void ignore_sigpipe (void)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: setlocale
      Src: /src/mhd2/src/examples2/demo.c:1274,1
    - Dst: setlocale
      Src: /src/mhd2/src/examples2/demo.c:1276,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1277
      start: 1271
    functionDepth: 0
    functionLinenumber: 1271
    functionLinenumberEnd: 1277
    functionName: set_utf8_locale
    functionSourceFile: /src/mhd2/src/examples2/demo.c
    functionUses: 0
    functionsReached:
    - setlocale
    linkageType: ''
    returnType: void
    signature: void set_utf8_locale (void)
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: sscanf
      Src: /src/mhd2/src/examples2/demo.c:1300,1
    - Dst: fprintf
      Src: /src/mhd2/src/examples2/demo.c:1308,1
    - Dst: ignore_sigpipe
      Src: /src/mhd2/src/examples2/demo.c:1316,1
    - Dst: set_utf8_locale
      Src: /src/mhd2/src/examples2/demo.c:1319,1
    - Dst: magic_open
      Src: /src/mhd2/src/examples2/demo.c:1322,1
    - Dst: magic_load
      Src: /src/mhd2/src/examples2/demo.c:1323,1
    - Dst: my_mutex_init
      Src: /src/mhd2/src/examples2/demo.c:1326,1
    - Dst: MHD_response_from_buffer_static
      Src: /src/mhd2/src/examples2/demo.c:1328,1
    - Dst: strlen
      Src: /src/mhd2/src/examples2/demo.c:1330,1
    - Dst: mark_as_html
      Src: /src/mhd2/src/examples2/demo.c:1332,1
    - Dst: MHD_response_set_option
      Src: /src/mhd2/src/examples2/demo.c:1334,1
    - Dst: MHD_R_OPTION_REUSABLE
      Src: /src/mhd2/src/examples2/demo.c:1335,1
    - Dst: MHD_response_from_buffer_static
      Src: /src/mhd2/src/examples2/demo.c:1338,1
    - Dst: strlen
      Src: /src/mhd2/src/examples2/demo.c:1340,1
    - Dst: mark_as_html
      Src: /src/mhd2/src/examples2/demo.c:1342,1
    - Dst: MHD_response_set_option
      Src: /src/mhd2/src/examples2/demo.c:1344,1
    - Dst: MHD_R_OPTION_REUSABLE
      Src: /src/mhd2/src/examples2/demo.c:1345,1
    - Dst: MHD_response_from_buffer_static
      Src: /src/mhd2/src/examples2/demo.c:1348,1
    - Dst: strlen
      Src: /src/mhd2/src/examples2/demo.c:1350,1
    - Dst: mark_as_html
      Src: /src/mhd2/src/examples2/demo.c:1352,1
    - Dst: MHD_response_set_option
      Src: /src/mhd2/src/examples2/demo.c:1354,1
    - Dst: MHD_R_OPTION_REUSABLE
      Src: /src/mhd2/src/examples2/demo.c:1355,1
    - Dst: update_directory
      Src: /src/mhd2/src/examples2/demo.c:1357,1
    - Dst: MHD_daemon_create
      Src: /src/mhd2/src/examples2/demo.c:1358,1
    - Dst: MHD_DAEMON_SET_OPTIONS
      Src: /src/mhd2/src/examples2/demo.c:1363,1
    - Dst: MHD_D_OPTION_POLL_SYSCALL
      Src: /src/mhd2/src/examples2/demo.c:1365,1
    - Dst: MHD_D_OPTION_WM_WORKER_THREADS
      Src: /src/mhd2/src/examples2/demo.c:1366,1
    - Dst: MHD_D_OPTION_DEFAULT_TIMEOUT_MILSEC
      Src: /src/mhd2/src/examples2/demo.c:1367,1
    - Dst: MHD_D_OPTION_CONN_MEMORY_LIMIT
      Src: /src/mhd2/src/examples2/demo.c:1368,1
    - Dst: MHD_D_OPTION_BIND_PORT
      Src: /src/mhd2/src/examples2/demo.c:1369,1
    - Dst: MHD_DAEMON_SET_OPTIONS
      Src: /src/mhd2/src/examples2/demo.c:1374,1
    - Dst: MHD_D_OPTION_PER_IP_LIMIT
      Src: /src/mhd2/src/examples2/demo.c:1376,1
    - Dst: MHD_daemon_start
      Src: /src/mhd2/src/examples2/demo.c:1380,1
    - Dst: MHD_daemon_destroy
      Src: /src/mhd2/src/examples2/demo.c:1382,1
    - Dst: fprintf
      Src: /src/mhd2/src/examples2/demo.c:1385,1
    - Dst: getc
      Src: /src/mhd2/src/examples2/demo.c:1388,1
    - Dst: MHD_daemon_destroy
      Src: /src/mhd2/src/examples2/demo.c:1389,1
    - Dst: MHD_response_destroy
      Src: /src/mhd2/src/examples2/demo.c:1390,1
    - Dst: MHD_response_destroy
      Src: /src/mhd2/src/examples2/demo.c:1391,1
    - Dst: MHD_response_destroy
      Src: /src/mhd2/src/examples2/demo.c:1392,1
    - Dst: update_cached_response
      Src: /src/mhd2/src/examples2/demo.c:1393,1
    - Dst: my_mutex_destroy
      Src: /src/mhd2/src/examples2/demo.c:1394,1
    - Dst: magic_close
      Src: /src/mhd2/src/examples2/demo.c:1396,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 47
    argCount: 2
    argNames:
    - argc
    - argv
    argTypes:
    - int
    - char**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1399
      start: 1291
    functionDepth: 5
    functionLinenumber: 1291
    functionLinenumberEnd: 1399
    functionName: main
    functionSourceFile: /src/mhd2/src/examples2/demo.c
    functionUses: 0
    functionsReached:
    - fprintf
    - getc
    - MHD_D_OPTION_BIND_PORT
    - magic_load
    - MHD_response_set_option
    - MHD_response_from_buffer_static
    - strlen
    - my_mutex_destroy
    - set_utf8_locale
    - MHD_response_destroy
    - MHD_daemon_start
    - ignore_sigpipe
    - update_directory
    - magic_close
    - magic_open
    - sscanf
    - MHD_D_OPTION_CONN_MEMORY_LIMIT
    - my_mutex_init
    - update_cached_response
    - MHD_D_OPTION_DEFAULT_TIMEOUT_MILSEC
    - MHD_R_OPTION_REUSABLE
    - MHD_daemon_create
    - MHD_D_OPTION_POLL_SYSCALL
    - MHD_D_OPTION_PER_IP_LIMIT
    - mark_as_html
    - MHD_DAEMON_SET_OPTIONS
    - MHD_D_OPTION_WM_WORKER_THREADS
    - MHD_daemon_destroy
    linkageType: ''
    returnType: int
    signature: "int main (int argc,\n      char *const *argv)"
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: MHD_request_get_info_dynamic
      Src: /src/mhd2/src/examples2/minimal_auth_digest.c:65,1
    - Dst: MHD_action_digest_auth_challenge_a
      Src: /src/mhd2/src/examples2/minimal_auth_digest.c:69,1
    - Dst: MHD_response_from_buffer_static
      Src: /src/mhd2/src/examples2/minimal_auth_digest.c:79,1
    - Dst: MHD_action_from_response
      Src: /src/mhd2/src/examples2/minimal_auth_digest.c:85,1
    - Dst: MHD_response_from_buffer_static
      Src: /src/mhd2/src/examples2/minimal_auth_digest.c:87,1
    - Dst: MHD_action_abort_request
      Src: /src/mhd2/src/examples2/minimal_auth_digest.c:93,1
    - Dst: memcmp
      Src: /src/mhd2/src/examples2/minimal_auth_digest.c:98,1
    - Dst: MHD_digest_auth_check
      Src: /src/mhd2/src/examples2/minimal_auth_digest.c:105,1
    - Dst: MHD_action_from_response
      Src: /src/mhd2/src/examples2/minimal_auth_digest.c:115,1
    - Dst: MHD_response_from_buffer_static
      Src: /src/mhd2/src/examples2/minimal_auth_digest.c:117,1
    - Dst: MHD_action_digest_auth_challenge_a
      Src: /src/mhd2/src/examples2/minimal_auth_digest.c:123,1
    - Dst: MHD_response_from_buffer_static
      Src: /src/mhd2/src/examples2/minimal_auth_digest.c:133,1
    - Dst: MHD_action_from_response
      Src: /src/mhd2/src/examples2/minimal_auth_digest.c:140,1
    - Dst: MHD_response_from_buffer_static
      Src: /src/mhd2/src/examples2/minimal_auth_digest.c:142,1
    - Dst: MHD_action_from_response
      Src: /src/mhd2/src/examples2/minimal_auth_digest.c:149,1
    - Dst: MHD_response_from_buffer_static
      Src: /src/mhd2/src/examples2/minimal_auth_digest.c:151,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 23
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 155
      start: 35
    functionDepth: 8
    functionLinenumber: 35
    functionLinenumberEnd: 155
    functionName: "(2) MHD_FN_PAR_NONNULL_ (3)\nconst struct MHD_Action *\nreq_cb
      (void *cls,\n        struct MHD_Request *MHD_RESTRICT request,\n        const
      struct MHD_String *MHD_RESTRICT path,\n        enum MHD_HTTP_Method method,\n
      \       uint_fast64_t upload_size)"
    functionSourceFile: /src/mhd2/src/examples2/minimal_auth_digest.c
    functionUses: 0
    functionsReached:
    - MHD_digest_auth_check
    - MHD_action_digest_auth_challenge_a
    - MHD_action_from_response
    - MHD_request_get_info_dynamic
    - MHD_response_from_buffer_static
    - MHD_action_abort_request
    - memcmp
    linkageType: ''
    returnType: MHD_FN_PAR_NONNULL_
    signature: "MHD_FN_PAR_NONNULL_ (2) MHD_FN_PAR_NONNULL_ (3)\nconst struct MHD_Action
      *\nreq_cb (void *cls,\n        struct MHD_Request *MHD_RESTRICT request,\n        const
      struct MHD_String *MHD_RESTRICT path,\n        enum MHD_HTTP_Method method,\n
      \       uint_fast64_t upload_size)"
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: fprintf
      Src: /src/mhd2/src/examples2/minimal_auth_digest.c:172,1
    - Dst: atoi
      Src: /src/mhd2/src/examples2/minimal_auth_digest.c:177,1
    - Dst: fprintf
      Src: /src/mhd2/src/examples2/minimal_auth_digest.c:180,1
    - Dst: init_entropy_bytes
      Src: /src/mhd2/src/examples2/minimal_auth_digest.c:184,1
    - Dst: MHD_daemon_create
      Src: /src/mhd2/src/examples2/minimal_auth_digest.c:187,1
    - Dst: fprintf
      Src: /src/mhd2/src/examples2/minimal_auth_digest.c:191,1
    - Dst: MHD_DAEMON_SET_OPTIONS
      Src: /src/mhd2/src/examples2/minimal_auth_digest.c:196,1
    - Dst: MHD_D_OPTION_WM_WORKER_THREADS
      Src: /src/mhd2/src/examples2/minimal_auth_digest.c:198,1
    - Dst: MHD_D_OPTION_BIND_PORT
      Src: /src/mhd2/src/examples2/minimal_auth_digest.c:199,1
    - Dst: MHD_D_OPTION_RANDOM_ENTROPY
      Src: /src/mhd2/src/examples2/minimal_auth_digest.c:201,1
    - Dst: fprintf
      Src: /src/mhd2/src/examples2/minimal_auth_digest.c:204,1
    - Dst: MHD_daemon_start
      Src: /src/mhd2/src/examples2/minimal_auth_digest.c:210,1
    - Dst: fprintf
      Src: /src/mhd2/src/examples2/minimal_auth_digest.c:212,1
    - Dst: printf
      Src: /src/mhd2/src/examples2/minimal_auth_digest.c:217,1
    - Dst: fgetc
      Src: /src/mhd2/src/examples2/minimal_auth_digest.c:219,1
    - Dst: printf
      Src: /src/mhd2/src/examples2/minimal_auth_digest.c:222,1
    - Dst: fflush
      Src: /src/mhd2/src/examples2/minimal_auth_digest.c:223,1
    - Dst: MHD_daemon_destroy
      Src: /src/mhd2/src/examples2/minimal_auth_digest.c:224,1
    - Dst: printf
      Src: /src/mhd2/src/examples2/minimal_auth_digest.c:225,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 32
    argCount: 2
    argNames:
    - argc
    - argv
    argTypes:
    - int
    - char**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 227
      start: 163
    functionDepth: 4
    functionLinenumber: 163
    functionLinenumberEnd: 227
    functionName: main
    functionSourceFile: /src/mhd2/src/examples2/minimal_auth_digest.c
    functionUses: 0
    functionsReached:
    - fprintf
    - MHD_daemon_create
    - MHD_daemon_start
    - MHD_D_OPTION_BIND_PORT
    - printf
    - fgetc
    - MHD_DAEMON_SET_OPTIONS
    - MHD_D_OPTION_WM_WORKER_THREADS
    - fflush
    - MHD_daemon_destroy
    - MHD_D_OPTION_RANDOM_ENTROPY
    - atoi
    - init_entropy_bytes
    linkageType: ''
    returnType: int
    signature: "int main (int argc,\n      char *const *argv)"
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: open
      Src: /src/mhd2/src/examples2/minimal_auth_digest.c:243,1
    - Dst: open
      Src: /src/mhd2/src/examples2/minimal_auth_digest.c:246,1
    - Dst: open
      Src: /src/mhd2/src/examples2/minimal_auth_digest.c:248,1
    - Dst: fprintf
      Src: /src/mhd2/src/examples2/minimal_auth_digest.c:252,1
    - Dst: read
      Src: /src/mhd2/src/examples2/minimal_auth_digest.c:257,1
    - Dst: fprintf
      Src: /src/mhd2/src/examples2/minimal_auth_digest.c:262,1
    - Dst: close
      Src: /src/mhd2/src/examples2/minimal_auth_digest.c:263,1
    - Dst: close
      Src: /src/mhd2/src/examples2/minimal_auth_digest.c:267,1
    - Dst: CryptAcquireContext
      Src: /src/mhd2/src/examples2/minimal_auth_digest.c:273,1
    - Dst: fprintf
      Src: /src/mhd2/src/examples2/minimal_auth_digest.c:280,1
    - Dst: GetLastError
      Src: /src/mhd2/src/examples2/minimal_auth_digest.c:282,1
    - Dst: CryptGenRandom
      Src: /src/mhd2/src/examples2/minimal_auth_digest.c:285,1
    - Dst: fprintf
      Src: /src/mhd2/src/examples2/minimal_auth_digest.c:288,1
    - Dst: GetLastError
      Src: /src/mhd2/src/examples2/minimal_auth_digest.c:290,1
    - Dst: CryptReleaseContext
      Src: /src/mhd2/src/examples2/minimal_auth_digest.c:292,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 32
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 295
      start: 235
    functionDepth: 0
    functionLinenumber: 235
    functionLinenumberEnd: 295
    functionName: init_entropy_bytes
    functionSourceFile: /src/mhd2/src/examples2/minimal_auth_digest.c
    functionUses: 1
    functionsReached:
    - close
    - fprintf
    - GetLastError
    - CryptGenRandom
    - open
    - read
    - CryptReleaseContext
    - CryptAcquireContext
    linkageType: ''
    returnType: int
    signature: int init_entropy_bytes (void)
Fuzzer filename: /src/fuzz_crypto_ext.cpp
Fuzzing method: LLVMFuzzerTestOneInput
included-header-files:
- h2/h2_req_get_items.h
- microhttpd_ws.h
- hpack/mhd_hpack_codec.h
- h2_frame_length.h
- h2_req_fields.h
- sys_null_macro.h
- response_auth_digest.h
- ../mhd2/mhd_md5.h
- stream_process_reply.h
- mhd_limits.h
- mbedtls/entropy.h
- mhd_lib_init_auto.h
- mhd_socket_error.h
- stdlib.h
- sha256_gnutls.h
- h2_req_items_funcs.h
- sys/cpuset.h
- cstring
- mhd_hpack_enc_types.h
- mhd_lib_init_impl.h
- http_post_enc.h
- libtest.h
- conn_mark_ready.h
- psa/crypto.h
- mhd_dcc_action.h
- mhd_tls_ver_stct.h
- process.h
- h2_frame_types.h
- mhd_unreachable.h
- limits.h
- string.h
- openssl/bio.h
- mhd_mono_clock.h
- mach/clock.h
- h2_conn_streams.h
- md5_int.h
- mhd_bool.h
- mhd_itc_types.h
- mempool_types.h
- mhd_str_types.h
- mhdtl_str_to_uint.h
- sys_kqueue.h
- hpack/mhd_hpack_dec_types.h
- ../mhd2/mhd_sha256.h
- mhd_bithelpers.h
- mhd_recv.h
- features.h
- sched.h
- h2_req_data.h
- errno.h
- mhd_dlinked_list.h
- stdbool.h
- sys/endian.h
- mhd_sys_options.h
- conn_tls_check.h
- signal.h
- mutex
- h2_app_cb.h
- mbedtls/debug.h
- mhd_tristate.h
- tls_mbed_conn_data.h
- stream_funcs.h
- tls_mbed_funcs.h
- mhd_hpack_dec_types.h
- malloc.h
- netinet/ip.h
- sys_offsetof.h
- sha256_mbedtls.h
- sys/uio.h
- h2/h2_stream_data.h
- mhd_itc.h
- stdarg.h
- request_get_value.h
- sys/event.h
- sys_thread_entry_type.h
- sys_w32_ver.h
- mhd_read_file.h
- sys/eventfd.h
- daemon_funcs.h
- mhd_status_code_int.h
- stdatomic.h
- daemon_add_conn.h
- tls_mbed_daemon_data.h
- md5_mbedtls.h
- h2_proc_settings.h
- microhttpd2_generated_daemon_options.h
- h2_frame_init.h
- mhd_public_api.h
- microhttpd2.h
- sha256_openssl.h
- h2_action.h
- machine/param.h
- winsock2.h
- windows.h
- tls_open_conn_data.h
- gnutls/gnutls.h
- mhd_lib_init.h
- h2_proc_out.h
- mhd_post_result.h
- daemon_logger.h
- http_status_str.h
- conio.h
- microhttpd2_generated_response_options.h
- magic.h
- respond_with_error.h
- mbedtls/ctr_drbg.h
- sys/wait.h
- tls_multi_tls_lib.h
- sys/byteorder.h
- sha512_256_openssl.h
- sys/random.h
- mhd_tls_common.h
- mbedtls/build_info.h
- openssl/conf.h
- sys_poll.h
- sys/un.h
- request_auth_get.h
- response_options.h
- mhd_macro_concat.h
- mhd_rng.h
- mhd_send.h
- microhttpd.h
- md5_ext.h
- mhdt_has_in_name.h
- mbedtls/platform.h
- netinet/tcp.h
- mhd_tls_choice.h
- mhd_sockets_macros.h
- sys/sysctl.h
- tls_multi_funcs.h
- mhd_sha512_256.h
- sys/mman.h
- h2_proc_in.h
- intrin.h
- sha512_256_mbedtls.h
- mhd_md5.h
- response_from.h
- mhd_cntnr_ptr.h
- mhd_locks.h
- poll.h
- auth_basic.h
- mhd_str.c
- h2/h2_resp_data.h
- sys_malloc.h
- h2_proc_conn.h
- stream_process_request.h
- mhd_iovec.h
- sckt_recv.h
- h2/hpack/h2_huffman_codec.h
- sys/sendfile.h
- mhd_arr_num_elems.h
- md5_openssl.h
- h2_huffman_est.h
- h2_req_item_kinds.h
- upgrade_prep.h
- stdalign.h
- openssl/crypto.h
- sys_sockets_headers.h
- tls_gnu_funcs.h
- time.h
- mhd_atomic_counter.h
- pthread_np.h
- direct.h
- netinet/in.h
- extr_events_funcs.h
- conn_timeout.h
- mhd_socket_type.h
- mbedtls/ssl.h
- wincrypt.h
- response_destroy.h
- conn_data_process.h
- ../mhd2/mhd_sha512_256.h
- tls_open_funcs.h
- openssl/pem.h
- sha512_256_int.h
- h2_settings.h
- mhd_align.h
- mbedtls/pk.h
- h2_err_codes.h
- stdio.h
- unordered_set
- mhd_request.h
- gnutls/crypto.h
- tls_gnu_daemon_data.h
- mbedtls/sha256.h
- mhdt_has_param.h
- fuzzer/FuzzedDataProvider.h
- mhdtl_get_cpu_count.h
- openssl/evp.h
- mbedtls/net_sockets.h
- h2_reply_funcs.h
- tls_mbed_tls_lib.h
- mach/mach.h
- sys/socket.h
- selectLib.h
- sys_ip_headers.h
- io.h
- ctype.h
- tls_test_keys.h
- vxCpuLib.h
- tls_multi_conn_data.h
- mbedtls/version.h
- unistd.h
- request_funcs.h
- sys/_cpuset.h
- mbedtls/sha512.h
- h2_req_get_items.h
- openssl/opensslv.h
- jansson.h
- netdb.h
- assert.h
- sys_select.h
- ../mhd2/mhd_str.h
- http_prot_ver.h
- mbedtls/x509_crt.h
- upgrade_proc.h
- tls_gnu_conn_data.h
- mhd_helper.h
- mhdt_tmpfile.h
- tls_dh_params.h
- h2_bit_masks.h
- endian.h
- mhd_assert.h
- openssl/opensslconf.h
- inttypes.h
- mhd_predict.h
- openssl/err.h
- winnt.h
- mhd_socket_error_funcs.h
- md5_gnutls.h
- mhd_constexpr.h
- sha256_ext.h
- mach/mach_time.h
- mhd_action.h
- sys/stat.h
- sdkddkver.h
- mempool_funcs.h
- fcntl.h
- microhttpd2_portability.h
- sys/param.h
- daemon_options.h
- h2/h2_conn_data.h
- mhd_post_parser.h
- tls_open_tls_lib.h
- sys/select.h
- crtdefs.h
- bcrypt.h
- mhd_assume.h
- openssl/ssl.h
- arpa/inet.h
- sanitizer/asan_interface.h
- sha256_int.h
- sys_sockets_types.h
- sha256_builtin.h
- ws2tcpip.h
- machine/endian.h
- cstdlib
- mhd_dbg_print.h
- pthread.h
- mhd_conn_socket.h
- sckt_send.h
- events_process.h
- http_method.h
- h2_conn_data.h
- connection_helper.h
- sys_bool_type.h
- mhd_stream.h
- h2_req_item_struct.h
- conn_data_send.h
- post_parser_funcs.h
- ../mhd2/mhd_str.c
- mhd_tls_internal.h
- mhd_http_layer_state.h
- mbedtls/hmac_drbg.h
- cstdint
- mhd_buffer.h
- locale.h
- mhd_str_macros.h
- sys_errno.h
- mhd_daemon.h
- response_set_options.h
- mhd_upgrade.h
- h2/h2_comm.h
- dirent.h
- tls_multi_daemon_data.h
- tls_gnu_tls_lib.h
- mhd_auth_digest_hdr.h
- tls_open_daemon_data.h
- mhd_byteorder.h
- autoinit_funcs.h
- h2_comm.h
- stream_process_states.h
- h2_frame_codec.h
- mhd_digest_auth_data.h
- md5_builtin.h
- sys/time.h
- sys/types.h
- sys_base_types.h
- mhd_postfield_int.h
- mhd_tls_enums.h
- h2_stream_data.h
- curl/curl.h
- memory
- algorithm
- stdint.h
- vector
- synchapi.h
- sys/machine.h
- auth_digest.h
- mhd_response.h
- mhd_tls_funcs.h
- sha512_256_builtin.h
- conn_data_recv.h
- string
- h2/hpack/mhd_hpack_codec.c
- h2_huffman_codec.h
- sys_file_fd.h
- wchar.h
- sys_sizet_type.h
- h2/h2_action.h
- windef.h
- openssl/rand.h
- sys/isa_defs.h
- hpack/mhd_hpack_enc_types.h
- response_add_header.h
- response_funcs.h
- mhd_config.h
- mhd_comm_layer_state.h
- mbedtls/md5.h
- mhd_hpack_codec.h
- sockLib.h
- mhd_connection.h
- mhdt_checks.h
- mhd_panic.h
- stddef.h
- mbedtls/md.h
- mhd_sockets_funcs.h
- inetLib.h
- mhd_threads.h
- mhd_str.h
- mhd_sha256.h
- compat_calloc.h
- sys/epoll.h
- daemon_logger_default.h
- mhd_reply.h
- cstdarg
report: name
sources:
- function_names:
  - destroy_global_pool
  - mark_post_parse_ready
  - is_post_parse_ready
  - clear_post_parse_ready
  - destroy_error_response
  - pick_method
  - pick_http_version
  - ensure_lbuf_capacity
  - dummy_reader
  - dummy_done
  - dummy_request_cb
  - init_daemon_connection
  - init_connection_buffer
  - init_parsing_configuration
  - prepare_headers_and_parse
  - prepare_body_and_process
  - final_cleanup
  source_file: /src/connection_helper.cpp
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - request_ended_cb
  - pick_status_code
  - create_response
  - add_headers
  - randomise_response_options
  - add_auth
  - LLVMFuzzerTestOneInput
  source_file: /src/fuzz_response.cpp
  types:
    enum:
    - enumerators:
      - name: EMPTY
      - name: FROM_FD
      - name: IOVEC
      - name: BUF_COPY
      - name: BUF_STATIC
      - name: FROM_PIPE
      item_type: enum
      name: CtorKind
      pos:
        line_end: 55
        line_start: 53
        source_file: /src/fuzz_response.cpp
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - b64encode
  - ToMhdBool
  - safe_ascii
  - kv_cb
  - post_cb
  - create_socket
  - generate_daemon_options
  - generate_auth_header
  - append_headers
  - make_multipart
  - append_request_headers
  - append_chunked_payload
  - send_request
  - wait_for_response
  - send_http_request_blocking
  - generate_daemon_req_opts
  - post_done_cb
  - post_reader
  - upload_cb
  - request_parsing
  - handle_basic_auth
  - handle_digest_auth
  - req_cb
  - req_cb_stream
  - req_cb_process
  source_file: /src/mhd_helper.cpp
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names: []
  source_file: /src/mhd_helper.h
  types:
    enum: []
    preproc_defs: []
    structs:
    - fields:
      - name: omit_host
        type: bool
      - name: bad_cl
        type: bool
      - name: keep_alive
        type: bool
      - name: extra_headers
        type: bool
      - name: use_digest
        type: bool
      - name: send_malformed_digest
        type: bool
      - name: te_chunked
        type: bool
      - name: as_multipart
        type: bool
      - name: realm_hint
        type: std::string
      - name: boundary
        type: std::string
      item_type: struct
      name: DaemonOpts
      pos:
        line_end: 41
        line_start: 30
        source_file: /src/mhd_helper.h
    - fields:
      - name: realm
        type: std::string
      - name: allowed_user
        type: std::string
      - name: allowed_pass
        type: std::string
      - name: force_challenge
        type: bool
      - name: force_bad
        type: bool
      - name: flip_ok_to_forbidden
        type: bool
      - name: prefer_utf8
        type: enum MHD_Bool
      - name: use_digest
        type: bool
      - name: qop
        type: MHD_DigestAuthMultiQOP
      - name: algo
        type: MHD_DigestAuthMultiAlgo
      - name: send_stale
        type: enum MHD_Bool
      - name: allow_userhash
        type: enum MHD_Bool
      - name: use_opaque
        type: bool
      - name: buf_sz
        type: size_t
      - name: max_nonstream
        type: size_t
      - name: enc
        type: enum MHD_HTTP_PostEncoding
      - name: do_parse_post
        type: bool
      - name: do_process_upload
        type: bool
      item_type: struct
      name: DaemonReqOpts
      pos:
        line_end: 66
        line_start: 44
        source_file: /src/mhd_helper.h
    typedefs: []
    union: []
- function_names: []
  source_file: /src/connection_helper.h
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - ToMhdBool
  - dummy_log
  - "(2) MHD_FN_PAR_NONNULL_(3)\nconst struct MHD_Action* req_cb(void* cls,\n                                struct
    MHD_Request* request,\n                                const struct MHD_String*
    path,\n                                enum MHD_HTTP_Method method,\n                                uint_fast64_t
    upload_size)"
  - fuzz_digest_auth_calc
  - fuzz_response_creation
  - fuzz_response_config
  - daemon_configuration
  - fuzz_daemon_lifecycle
  - LLVMFuzzerTestOneInput
  source_file: /src/fuzz_mhd2.cpp
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - fuzz_tokens
  - fuzz_conversion
  - fuzz_decode
  - fuzz_quoted
  - fuzz_base64
  - fuzz_transformation
  - fuzz_hex_conversion
  - LLVMFuzzerTestOneInput
  source_file: /src/fuzz_str.cpp
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - LLVMFuzzerInitialize
  - LLVMFuzzerTestOneInput
  source_file: /src/fuzz_daemon_connection.cpp
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - fuzz_mhd_stream_process_post_finish
  - LLVMFuzzerInitialize
  - LLVMFuzzerTestOneInput
  source_file: /src/fuzz_connection.cpp
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - fuzz_hash_ext_multi
  - LLVMFuzzerTestOneInput
  source_file: /src/fuzz_crypto_ext.cpp
  types:
    enum:
    - enumerators:
      - name: LESS1
      - name: EQ
      - name: RANDOM
      - name: PLUS1
      - name: SMALL
      - name: TAIL
      - name: HALT
      item_type: enum
      name: Pattern
      pos:
        line_end: 76
        line_start: 76
        source_file: /src/fuzz_crypto_ext.cpp
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - LLVMFuzzerTestOneInput
  source_file: /src/fuzz_libinfo.cpp
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - start_daemon_once
  - LLVMFuzzerTestOneInput
  source_file: /src/fuzz_daemon.cpp
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - fuzz_hash_int_multi
  - LLVMFuzzerTestOneInput
  source_file: /src/fuzz_crypto_int.cpp
  types:
    enum:
    - enumerators:
      - name: LESS1
      - name: PLUS1
      - name: RANDOM
      - name: SMALL
      - name: EQ
      - name: TAIL
      - name: HALT
      item_type: enum
      name: Pattern
      pos:
        line_end: 75
        line_start: 75
        source_file: /src/fuzz_crypto_int.cpp
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names: []
  source_file: /src/mhd2/w32/common/mhd_config.h
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: WINDOWS
      pos:
        line_end: 7
        line_start: 6
        source_file: /src/mhd2/w32/common/mhd_config.h
      type_or_value: "1\r"
    - item_type: preproc_def
      name: __STDC_NO_VLA__
      pos:
        line_end: 12
        line_start: 11
        source_file: /src/mhd2/w32/common/mhd_config.h
      type_or_value: "1\r"
    - item_type: preproc_def
      name: HAVE_C_VARARRAYS
      pos:
        line_end: 16
        line_start: 15
        source_file: /src/mhd2/w32/common/mhd_config.h
      type_or_value: "1\r"
    - item_type: preproc_def
      name: HAVE_FUNC_PARAM_ARR_STATIC_FIXED
      pos:
        line_end: 22
        line_start: 21
        source_file: /src/mhd2/w32/common/mhd_config.h
      type_or_value: "1\r"
    - item_type: preproc_def
      name: HAVE_FUNC_PARAM_ARR_STATIC_VAR
      pos:
        line_end: 27
        line_start: 26
        source_file: /src/mhd2/w32/common/mhd_config.h
      type_or_value: "1\r"
    - item_type: preproc_def
      name: HAVE___FUNC__
      pos:
        line_end: 31
        line_start: 30
        source_file: /src/mhd2/w32/common/mhd_config.h
      type_or_value: "1\r"
    - item_type: preproc_def
      name: INLINE_FUNC
      pos:
        line_end: 34
        line_start: 33
        source_file: /src/mhd2/w32/common/mhd_config.h
      type_or_value: "1\r"
    - item_type: preproc_def
      name: mhd_static_inline
      pos:
        line_end: 37
        line_start: 36
        source_file: /src/mhd2/w32/common/mhd_config.h
      type_or_value: "static __forceinline\r"
    - item_type: preproc_def
      name: HAVE_COMPOUND_LITERALS
      pos:
        line_end: 45
        line_start: 44
        source_file: /src/mhd2/w32/common/mhd_config.h
      type_or_value: "1\r"
    - item_type: preproc_def
      name: HAVE_COMPOUND_LITERALS_ARRAYS_LOCAL
      pos:
        line_end: 49
        line_start: 48
        source_file: /src/mhd2/w32/common/mhd_config.h
      type_or_value: "1\r"
    - item_type: preproc_def
      name: HAVE_COMPOUND_LITERALS_ARRAYS_SCOPE
      pos:
        line_end: 53
        line_start: 52
        source_file: /src/mhd2/w32/common/mhd_config.h
      type_or_value: "1\r"
    - item_type: preproc_def
      name: HAVE_COMPOUND_LITERALS_LVALUES
      pos:
        line_end: 56
        line_start: 55
        source_file: /src/mhd2/w32/common/mhd_config.h
      type_or_value: "1\r"
    - item_type: preproc_def
      name: MHD_HAVE___BUILTIN_BSWAP32
      pos:
        line_end: 61
        line_start: 60
        source_file: /src/mhd2/w32/common/mhd_config.h
      type_or_value: "1\r"
    - item_type: preproc_def
      name: MHD_HAVE___BUILTIN_BSWAP64
      pos:
        line_end: 64
        line_start: 63
        source_file: /src/mhd2/w32/common/mhd_config.h
      type_or_value: "1\r"
    - item_type: preproc_def
      name: HAVE_MACRO_VARIADIC
      pos:
        line_end: 68
        line_start: 67
        source_file: /src/mhd2/w32/common/mhd_config.h
      type_or_value: "1\r"
    - item_type: preproc_def
      name: HAVE_NULL_PTR_ALL_ZEROS
      pos:
        line_end: 71
        line_start: 70
        source_file: /src/mhd2/w32/common/mhd_config.h
      type_or_value: "1\r"
    - item_type: preproc_def
      name: MHD_UNREACHABLE_KEYWORD
      pos:
        line_end: 75
        line_start: 74
        source_file: /src/mhd2/w32/common/mhd_config.h
      type_or_value: "__builtin_unreachable ()\r"
    - item_type: preproc_def
      name: MHD_UNREACHABLE_KEYWORD
      pos:
        line_end: 77
        line_start: 76
        source_file: /src/mhd2/w32/common/mhd_config.h
      type_or_value: "__assume (0)\r"
    - item_type: preproc_def
      name: HAVE_RESTRICT
      pos:
        line_end: 83
        line_start: 82
        source_file: /src/mhd2/w32/common/mhd_config.h
      type_or_value: "1\r"
    - item_type: preproc_def
      name: restrict
      pos:
        line_end: 85
        line_start: 84
        source_file: /src/mhd2/w32/common/mhd_config.h
      type_or_value: "__restrict\r"
    - item_type: preproc_def
      name: HAVE_RESTRICT
      pos:
        line_end: 87
        line_start: 86
        source_file: /src/mhd2/w32/common/mhd_config.h
      type_or_value: "1\r"
    - item_type: preproc_def
      name: mhd_FALLTHROUGH
      pos:
        line_end: 98
        line_start: 97
        source_file: /src/mhd2/w32/common/mhd_config.h
      type_or_value: "[[fallthrough]]\r"
    - item_type: preproc_def
      name: mhd_FALLTHROUGH
      pos:
        line_end: 103
        line_start: 102
        source_file: /src/mhd2/w32/common/mhd_config.h
      type_or_value: "__attribute__((__fallthrough__))\r"
    - item_type: preproc_def
      name: SIZEOF_CHAR
      pos:
        line_end: 114
        line_start: 113
        source_file: /src/mhd2/w32/common/mhd_config.h
      type_or_value: "1\r"
    - item_type: preproc_def
      name: SIZEOF_INT
      pos:
        line_end: 117
        line_start: 116
        source_file: /src/mhd2/w32/common/mhd_config.h
      type_or_value: "4\r"
    - item_type: preproc_def
      name: SIZEOF_INT_FAST64_T
      pos:
        line_end: 120
        line_start: 119
        source_file: /src/mhd2/w32/common/mhd_config.h
      type_or_value: "8\r"
    - item_type: preproc_def
      name: SIZEOF_SIZE_T
      pos:
        line_end: 124
        line_start: 123
        source_file: /src/mhd2/w32/common/mhd_config.h
      type_or_value: "8\r"
    - item_type: preproc_def
      name: SIZEOF_SIZE_T
      pos:
        line_end: 126
        line_start: 125
        source_file: /src/mhd2/w32/common/mhd_config.h
      type_or_value: "4\r"
    - item_type: preproc_def
      name: SIZEOF_STRUCT_TIMEVAL_TV_SEC
      pos:
        line_end: 130
        line_start: 129
        source_file: /src/mhd2/w32/common/mhd_config.h
      type_or_value: "4\r"
    - item_type: preproc_def
      name: SIZEOF_UNSIGNED_INT
      pos:
        line_end: 133
        line_start: 132
        source_file: /src/mhd2/w32/common/mhd_config.h
      type_or_value: "4\r"
    - item_type: preproc_def
      name: SIZEOF_UNSIGNED_LONG_LONG
      pos:
        line_end: 136
        line_start: 135
        source_file: /src/mhd2/w32/common/mhd_config.h
      type_or_value: "8\r"
    - item_type: preproc_def
      name: MHD_NORETURN_
      pos:
        line_end: 140
        line_start: 139
        source_file: /src/mhd2/w32/common/mhd_config.h
      type_or_value: "_Noreturn\r"
    - item_type: preproc_def
      name: MHD_NORETURN_
      pos:
        line_end: 142
        line_start: 141
        source_file: /src/mhd2/w32/common/mhd_config.h
      type_or_value: "__declspec(noreturn)\r"
    - item_type: preproc_def
      name: HAVE_INET6
      pos:
        line_end: 148
        line_start: 147
        source_file: /src/mhd2/w32/common/mhd_config.h
      type_or_value: "1\r"
    - item_type: preproc_def
      name: HAVE_DCLR_IPV6_V6ONLY
      pos:
        line_end: 151
        line_start: 150
        source_file: /src/mhd2/w32/common/mhd_config.h
      type_or_value: "1\r"
    - item_type: preproc_def
      name: HAS_FD_SETSIZE_OVERRIDABLE
      pos:
        line_end: 154
        line_start: 153
        source_file: /src/mhd2/w32/common/mhd_config.h
      type_or_value: "1\r"
    - item_type: preproc_def
      name: MHD_SYS_FD_SETSIZE_
      pos:
        line_end: 158
        line_start: 157
        source_file: /src/mhd2/w32/common/mhd_config.h
      type_or_value: "64\r"
    - item_type: preproc_def
      name: MHD_ITC_SOCKETPAIR_
      pos:
        line_end: 162
        line_start: 161
        source_file: /src/mhd2/w32/common/mhd_config.h
      type_or_value: "1\r"
    - item_type: preproc_def
      name: mhd_THREADS_KIND_W32
      pos:
        line_end: 165
        line_start: 164
        source_file: /src/mhd2/w32/common/mhd_config.h
      type_or_value: "1\r"
    - item_type: preproc_def
      name: _WIN32_WINNT
      pos:
        line_end: 169
        line_start: 168
        source_file: /src/mhd2/w32/common/mhd_config.h
      type_or_value: "0x0600\r"
    - item_type: preproc_def
      name: HAVE_POLL
      pos:
        line_end: 174
        line_start: 173
        source_file: /src/mhd2/w32/common/mhd_config.h
      type_or_value: "1\r"
    - item_type: preproc_def
      name: HAVE_WSAPOLL
      pos:
        line_end: 177
        line_start: 176
        source_file: /src/mhd2/w32/common/mhd_config.h
      type_or_value: "1\r"
    - item_type: preproc_def
      name: HAVE_SELECT
      pos:
        line_end: 182
        line_start: 181
        source_file: /src/mhd2/w32/common/mhd_config.h
      type_or_value: "1\r"
    - item_type: preproc_def
      name: HAVE_W32_GMTIME_S
      pos:
        line_end: 185
        line_start: 184
        source_file: /src/mhd2/w32/common/mhd_config.h
      type_or_value: "1\r"
    - item_type: preproc_def
      name: HAVE_CALLOC
      pos:
        line_end: 188
        line_start: 187
        source_file: /src/mhd2/w32/common/mhd_config.h
      type_or_value: "1\r"
    - item_type: preproc_def
      name: HAVE_ASSERT
      pos:
        line_end: 191
        line_start: 190
        source_file: /src/mhd2/w32/common/mhd_config.h
      type_or_value: "1\r"
    - item_type: preproc_def
      name: HAVE_SNPRINTF
      pos:
        line_end: 195
        line_start: 194
        source_file: /src/mhd2/w32/common/mhd_config.h
      type_or_value: "1\r"
    - item_type: preproc_def
      name: HAVE_STDBOOL_H
      pos:
        line_end: 203
        line_start: 202
        source_file: /src/mhd2/w32/common/mhd_config.h
      type_or_value: "1\r"
    - item_type: preproc_def
      name: HAVE_BUILTIN_TYPE_BOOL
      pos:
        line_end: 207
        line_start: 206
        source_file: /src/mhd2/w32/common/mhd_config.h
      type_or_value: "1\r"
    - item_type: preproc_def
      name: bool
      pos:
        line_end: 211
        line_start: 210
        source_file: /src/mhd2/w32/common/mhd_config.h
      type_or_value: "int\r"
    - item_type: preproc_def
      name: 'false'
      pos:
        line_end: 215
        line_start: 214
        source_file: /src/mhd2/w32/common/mhd_config.h
      type_or_value: "0\r"
    - item_type: preproc_def
      name: 'true'
      pos:
        line_end: 219
        line_start: 218
        source_file: /src/mhd2/w32/common/mhd_config.h
      type_or_value: "(! 0)\r"
    - item_type: preproc_def
      name: MHD_USE_GETSOCKNAME
      pos:
        line_end: 223
        line_start: 222
        source_file: /src/mhd2/w32/common/mhd_config.h
      type_or_value: "1\r"
    - item_type: preproc_def
      name: HAVE_C_ALIGNOF
      pos:
        line_end: 228
        line_start: 227
        source_file: /src/mhd2/w32/common/mhd_config.h
      type_or_value: "1\r"
    - item_type: preproc_def
      name: HAVE_STDALIGN_H
      pos:
        line_end: 230
        line_start: 229
        source_file: /src/mhd2/w32/common/mhd_config.h
      type_or_value: "1\r"
    - item_type: preproc_def
      name: HAVE_DCLR_AF_UNIX
      pos:
        line_end: 235
        line_start: 234
        source_file: /src/mhd2/w32/common/mhd_config.h
      type_or_value: "1\r"
    - item_type: preproc_def
      name: HAVE_NANOSLEEP
      pos:
        line_end: 238
        line_start: 237
        source_file: /src/mhd2/w32/common/mhd_config.h
      type_or_value: "1\r"
    - item_type: preproc_def
      name: HAVE_PTRDIFF_T
      pos:
        line_end: 241
        line_start: 240
        source_file: /src/mhd2/w32/common/mhd_config.h
      type_or_value: "1\r"
    - item_type: preproc_def
      name: HAVE_SIZE_T
      pos:
        line_end: 244
        line_start: 243
        source_file: /src/mhd2/w32/common/mhd_config.h
      type_or_value: "1\r"
    - item_type: preproc_def
      name: HAVE_TIMESPEC_GET
      pos:
        line_end: 247
        line_start: 246
        source_file: /src/mhd2/w32/common/mhd_config.h
      type_or_value: "1\r"
    - item_type: preproc_def
      name: HAVE_UINT8_T
      pos:
        line_end: 250
        line_start: 249
        source_file: /src/mhd2/w32/common/mhd_config.h
      type_or_value: "1\r"
    - item_type: preproc_def
      name: HAVE_UINTPTR_T
      pos:
        line_end: 253
        line_start: 252
        source_file: /src/mhd2/w32/common/mhd_config.h
      type_or_value: "1\r"
    - item_type: preproc_def
      name: HAVE_INTTYPES_H
      pos:
        line_end: 259
        line_start: 258
        source_file: /src/mhd2/w32/common/mhd_config.h
      type_or_value: "1\r"
    - item_type: preproc_def
      name: HAVE_WINDOWS_H
      pos:
        line_end: 263
        line_start: 262
        source_file: /src/mhd2/w32/common/mhd_config.h
      type_or_value: "1\r"
    - item_type: preproc_def
      name: HAVE_WINSOCK2_H
      pos:
        line_end: 266
        line_start: 265
        source_file: /src/mhd2/w32/common/mhd_config.h
      type_or_value: "1\r"
    - item_type: preproc_def
      name: HAVE_WS2TCPIP_H
      pos:
        line_end: 269
        line_start: 268
        source_file: /src/mhd2/w32/common/mhd_config.h
      type_or_value: "1\r"
    - item_type: preproc_def
      name: HAVE_ERRNO_H
      pos:
        line_end: 272
        line_start: 271
        source_file: /src/mhd2/w32/common/mhd_config.h
      type_or_value: "1\r"
    - item_type: preproc_def
      name: HAVE_FCNTL_H
      pos:
        line_end: 275
        line_start: 274
        source_file: /src/mhd2/w32/common/mhd_config.h
      type_or_value: "1\r"
    - item_type: preproc_def
      name: HAVE_LIMITS_H
      pos:
        line_end: 278
        line_start: 277
        source_file: /src/mhd2/w32/common/mhd_config.h
      type_or_value: "1\r"
    - item_type: preproc_def
      name: HAVE_STDDEF_H
      pos:
        line_end: 281
        line_start: 280
        source_file: /src/mhd2/w32/common/mhd_config.h
      type_or_value: "1\r"
    - item_type: preproc_def
      name: HAVE_STDINT_H
      pos:
        line_end: 284
        line_start: 283
        source_file: /src/mhd2/w32/common/mhd_config.h
      type_or_value: "1\r"
    - item_type: preproc_def
      name: HAVE_STDLIB_H
      pos:
        line_end: 287
        line_start: 286
        source_file: /src/mhd2/w32/common/mhd_config.h
      type_or_value: "1\r"
    - item_type: preproc_def
      name: HAVE_STDIO_H
      pos:
        line_end: 290
        line_start: 289
        source_file: /src/mhd2/w32/common/mhd_config.h
      type_or_value: "1\r"
    - item_type: preproc_def
      name: HAVE_STRINGS_H
      pos:
        line_end: 293
        line_start: 292
        source_file: /src/mhd2/w32/common/mhd_config.h
      type_or_value: "1\r"
    - item_type: preproc_def
      name: HAVE_STRING_H
      pos:
        line_end: 296
        line_start: 295
        source_file: /src/mhd2/w32/common/mhd_config.h
      type_or_value: "1\r"
    - item_type: preproc_def
      name: HAVE_SYS_STAT_H
      pos:
        line_end: 299
        line_start: 298
        source_file: /src/mhd2/w32/common/mhd_config.h
      type_or_value: "1\r"
    - item_type: preproc_def
      name: HAVE_TIME_H
      pos:
        line_end: 302
        line_start: 301
        source_file: /src/mhd2/w32/common/mhd_config.h
      type_or_value: "1\r"
    - item_type: preproc_def
      name: HAVE_SYS_TYPES_H
      pos:
        line_end: 305
        line_start: 304
        source_file: /src/mhd2/w32/common/mhd_config.h
      type_or_value: "1\r"
    - item_type: preproc_def
      name: HAVE_MALLOC_H
      pos:
        line_end: 308
        line_start: 307
        source_file: /src/mhd2/w32/common/mhd_config.h
      type_or_value: "1\r"
    - item_type: preproc_def
      name: HAVE_SDKDDKVER_H
      pos:
        line_end: 311
        line_start: 310
        source_file: /src/mhd2/w32/common/mhd_config.h
      type_or_value: "1\r"
    - item_type: preproc_def
      name: HAVE_STDARG_H
      pos:
        line_end: 314
        line_start: 313
        source_file: /src/mhd2/w32/common/mhd_config.h
      type_or_value: "1\r"
    - item_type: preproc_def
      name: HAVE_DCLR_POLLIN
      pos:
        line_end: 320
        line_start: 319
        source_file: /src/mhd2/w32/common/mhd_config.h
      type_or_value: "1\r"
    - item_type: preproc_def
      name: HAVE_DCLR_POLLOUT
      pos:
        line_end: 323
        line_start: 322
        source_file: /src/mhd2/w32/common/mhd_config.h
      type_or_value: "1\r"
    - item_type: preproc_def
      name: HAVE_DCLR_POLLPRI
      pos:
        line_end: 326
        line_start: 325
        source_file: /src/mhd2/w32/common/mhd_config.h
      type_or_value: "1\r"
    - item_type: preproc_def
      name: HAVE_DCLR_POLLRDBAND
      pos:
        line_end: 329
        line_start: 328
        source_file: /src/mhd2/w32/common/mhd_config.h
      type_or_value: "1\r"
    - item_type: preproc_def
      name: HAVE_DCLR_POLLRDNORM
      pos:
        line_end: 332
        line_start: 331
        source_file: /src/mhd2/w32/common/mhd_config.h
      type_or_value: "1\r"
    - item_type: preproc_def
      name: HAVE_DCLR_POLLWRBAND
      pos:
        line_end: 335
        line_start: 334
        source_file: /src/mhd2/w32/common/mhd_config.h
      type_or_value: "1\r"
    - item_type: preproc_def
      name: HAVE_DCLR_POLLWRNORM
      pos:
        line_end: 338
        line_start: 337
        source_file: /src/mhd2/w32/common/mhd_config.h
      type_or_value: "1\r"
    - item_type: preproc_def
      name: HAVE_DCLR_SD_SEND
      pos:
        line_end: 342
        line_start: 341
        source_file: /src/mhd2/w32/common/mhd_config.h
      type_or_value: "1\r"
    - item_type: preproc_def
      name: HAVE_DCLR_SOL_SOCKET
      pos:
        line_end: 345
        line_start: 344
        source_file: /src/mhd2/w32/common/mhd_config.h
      type_or_value: "1\r"
    - item_type: preproc_def
      name: HAVE_DCLR_SOMAXCONN
      pos:
        line_end: 348
        line_start: 347
        source_file: /src/mhd2/w32/common/mhd_config.h
      type_or_value: "1\r"
    - item_type: preproc_def
      name: HAVE_DCLR_SO_LINGER
      pos:
        line_end: 351
        line_start: 350
        source_file: /src/mhd2/w32/common/mhd_config.h
      type_or_value: "1\r"
    - item_type: preproc_def
      name: HAVE_DCLR_SO_REUSEADDR
      pos:
        line_end: 354
        line_start: 353
        source_file: /src/mhd2/w32/common/mhd_config.h
      type_or_value: "1\r"
    - item_type: preproc_def
      name: HAVE_DCLR_TCP_NODELAY
      pos:
        line_end: 360
        line_start: 359
        source_file: /src/mhd2/w32/common/mhd_config.h
      type_or_value: "1\r"
    - item_type: preproc_def
      name: MHD_SUPPORT_SELECT
      pos:
        line_end: 367
        line_start: 366
        source_file: /src/mhd2/w32/common/mhd_config.h
      type_or_value: "1\r"
    - item_type: preproc_def
      name: MHD_SUPPORT_POLL
      pos:
        line_end: 371
        line_start: 370
        source_file: /src/mhd2/w32/common/mhd_config.h
      type_or_value: "1\r"
    - item_type: preproc_def
      name: MHD_SUPPORT_COOKIES
      pos:
        line_end: 376
        line_start: 375
        source_file: /src/mhd2/w32/common/mhd_config.h
      type_or_value: "1\r"
    - item_type: preproc_def
      name: MHD_AUTH_DIGEST_DEF_MAX_NC
      pos:
        line_end: 379
        line_start: 378
        source_file: /src/mhd2/w32/common/mhd_config.h
      type_or_value: "1000\r"
    - item_type: preproc_def
      name: MHD_AUTH_DIGEST_DEF_TIMEOUT
      pos:
        line_end: 382
        line_start: 381
        source_file: /src/mhd2/w32/common/mhd_config.h
      type_or_value: "90\r"
    - item_type: preproc_def
      name: MHD_SUPPORT_LOG_FUNCTIONALITY
      pos:
        line_end: 385
        line_start: 384
        source_file: /src/mhd2/w32/common/mhd_config.h
      type_or_value: "1\r"
    - item_type: preproc_def
      name: MHD_ENABLE_AUTO_MESSAGES_BODIES
      pos:
        line_end: 388
        line_start: 387
        source_file: /src/mhd2/w32/common/mhd_config.h
      type_or_value: "1\r"
    - item_type: preproc_def
      name: MHD_SUPPORT_AUTH_BASIC
      pos:
        line_end: 392
        line_start: 391
        source_file: /src/mhd2/w32/common/mhd_config.h
      type_or_value: "1\r"
    - item_type: preproc_def
      name: MHD_SUPPORT_AUTH_DIGEST
      pos:
        line_end: 395
        line_start: 394
        source_file: /src/mhd2/w32/common/mhd_config.h
      type_or_value: "1\r"
    - item_type: preproc_def
      name: MHD_SUPPORT_MD5
      pos:
        line_end: 398
        line_start: 397
        source_file: /src/mhd2/w32/common/mhd_config.h
      type_or_value: "1\r"
    - item_type: preproc_def
      name: MHD_SUPPORT_SHA256
      pos:
        line_end: 401
        line_start: 400
        source_file: /src/mhd2/w32/common/mhd_config.h
      type_or_value: "1\r"
    - item_type: preproc_def
      name: MHD_SUPPORT_SHA512_256
      pos:
        line_end: 405
        line_start: 404
        source_file: /src/mhd2/w32/common/mhd_config.h
      type_or_value: "1\r"
    - item_type: preproc_def
      name: MHD_SUPPORT_POST_PARSER
      pos:
        line_end: 408
        line_start: 407
        source_file: /src/mhd2/w32/common/mhd_config.h
      type_or_value: "1\r"
    - item_type: preproc_def
      name: MHD_SUPPORT_UPGRADE
      pos:
        line_end: 411
        line_start: 410
        source_file: /src/mhd2/w32/common/mhd_config.h
      type_or_value: "1\r"
    - item_type: preproc_def
      name: MHD_SUPPORT_COOKIES
      pos:
        line_end: 415
        line_start: 414
        source_file: /src/mhd2/w32/common/mhd_config.h
      type_or_value: "1\r"
    - item_type: preproc_def
      name: _GNU_SOURCE
      pos:
        line_end: 420
        line_start: 419
        source_file: /src/mhd2/w32/common/mhd_config.h
      type_or_value: "1\r"
    - item_type: preproc_def
      name: STDC_HEADERS
      pos:
        line_end: 423
        line_start: 422
        source_file: /src/mhd2/w32/common/mhd_config.h
      type_or_value: "1\r"
    structs: []
    typedefs: []
    union: []
- function_names:
  - handle_request
  - main
  source_file: /src/mhd2/doc/examples/basic-authentication.c
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - handle_request
  - main
  source_file: /src/mhd2/doc/examples/host-example.c
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - simple_reply_to_request
  source_file: /src/mhd2/doc/examples/simple_reply_fragment.c
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - send_page
  - iterate_post
  - request_completed
  - answer_to_connection
  - main
  source_file: /src/mhd2/doc/examples/largepost.c
  types:
    enum:
    - enumerators:
      - name: GET
        value: '0'
      - name: POST
        value: '1'
      item_type: enum
      name: ConnectionType
      pos:
        line_end: 28
        line_start: 24
        source_file: /src/mhd2/doc/examples/largepost.c
    preproc_defs:
    - item_type: preproc_def
      name: snprintf
      pos:
        line_end: 18
        line_start: 17
        source_file: /src/mhd2/doc/examples/largepost.c
      type_or_value: _snprintf
    - item_type: preproc_def
      name: PORT
      pos:
        line_end: 21
        line_start: 20
        source_file: /src/mhd2/doc/examples/largepost.c
      type_or_value: '8888'
    - item_type: preproc_def
      name: POSTBUFFERSIZE
      pos:
        line_end: 22
        line_start: 21
        source_file: /src/mhd2/doc/examples/largepost.c
      type_or_value: '512'
    - item_type: preproc_def
      name: MAXCLIENTS
      pos:
        line_end: 23
        line_start: 22
        source_file: /src/mhd2/doc/examples/largepost.c
      type_or_value: '2'
    - item_type: preproc_def
      name: ASKPAGE
      pos:
        line_end: 70
        line_start: 62
        source_file: /src/mhd2/doc/examples/largepost.c
      type_or_value: "\"<html><body>\\n\" \\\n        \"Upload a file, please!<br>\\n\"
        \\\n        \"There are %u clients uploading at the moment.<br>\\n\" \\\n
        \       \"<form action=\\\"/filepost\\\" method=\\\"post\\\" enctype=\\\"multipart/form-data\\\">\\n\"
        \\\n        \"<input name=\\\"file\\\" type=\\\"file\\\">\\n\" \\\n        \"<input
        type=\\\"submit\\\" value=\\\" Send \\\"></form>\\n\" \\\n        \"</body></html>\""
    structs:
    - fields:
      - name: connectiontype
        type: enum ConnectionType
      - name: '*postprocessor'
        type: struct MHD_PostProcessor
      - name: '*fp'
        type: FILE
      - name: '*answerstring'
        type: char
      - name: answercode
        type: unsigned int
      item_type: struct
      name: connection_info_struct
      pos:
        line_end: 59
        line_start: 36
        source_file: /src/mhd2/doc/examples/largepost.c
    typedefs: []
    union: []
- function_names:
  - sock_reg_update_cb
  - handle_request
  - main
  source_file: /src/mhd2/doc/examples/external-select.c
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: MHD_APP_SOCKET_CNTX_TYPE
      pos:
        line_end: 4
        line_start: 3
        source_file: /src/mhd2/doc/examples/external-select.c
      type_or_value: struct AppSockContext
    structs:
    - fields:
      - name: '*next'
        type: struct AppSockContext
      - name: '*prev'
        type: struct AppSockContext
      - name: '*ecb_cntx'
        type: struct MHD_EventUpdateContext
      - name: fd
        type: MHD_Socket
      item_type: struct
      name: AppSockContext
      pos:
        line_end: 18
        line_start: 12
        source_file: /src/mhd2/doc/examples/external-select.c
    typedefs: []
    union: []
- function_names:
  - handle_request
  - main
  source_file: /src/mhd2/doc/examples/init-example.c
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - handle_request
  - main
  source_file: /src/mhd2/doc/examples/options-example.c
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - answer_to_connection
  - main
  source_file: /src/mhd2/doc/examples/hellobrowser.c
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: PORT
      pos:
        line_end: 15
        line_start: 14
        source_file: /src/mhd2/doc/examples/hellobrowser.c
      type_or_value: '8888'
    structs: []
    typedefs: []
    union: []
- function_names:
  - send_page
  - iterate_post
  - request_completed
  - answer_to_connection
  - main
  source_file: /src/mhd2/doc/examples/simplepost.c
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: snprintf
      pos:
        line_end: 18
        line_start: 17
        source_file: /src/mhd2/doc/examples/simplepost.c
      type_or_value: _snprintf
    - item_type: preproc_def
      name: PORT
      pos:
        line_end: 21
        line_start: 20
        source_file: /src/mhd2/doc/examples/simplepost.c
      type_or_value: '8888'
    - item_type: preproc_def
      name: POSTBUFFERSIZE
      pos:
        line_end: 22
        line_start: 21
        source_file: /src/mhd2/doc/examples/simplepost.c
      type_or_value: '512'
    - item_type: preproc_def
      name: MAXNAMESIZE
      pos:
        line_end: 23
        line_start: 22
        source_file: /src/mhd2/doc/examples/simplepost.c
      type_or_value: '20'
    - item_type: preproc_def
      name: MAXANSWERSIZE
      pos:
        line_end: 24
        line_start: 23
        source_file: /src/mhd2/doc/examples/simplepost.c
      type_or_value: '512'
    - item_type: preproc_def
      name: GET
      pos:
        line_end: 26
        line_start: 25
        source_file: /src/mhd2/doc/examples/simplepost.c
      type_or_value: '0'
    - item_type: preproc_def
      name: POST
      pos:
        line_end: 27
        line_start: 26
        source_file: /src/mhd2/doc/examples/simplepost.c
      type_or_value: '1'
    - item_type: preproc_def
      name: GREETINGPAGE
      pos:
        line_end: 45
        line_start: 43
        source_file: /src/mhd2/doc/examples/simplepost.c
      type_or_value: '"<html><body><h1>Welcome, %s!</center></h1></body></html>"'
    structs:
    - fields:
      - name: connectiontype
        type: int
      - name: '*answerstring'
        type: char
      - name: '*postprocessor'
        type: struct MHD_PostProcessor
      item_type: struct
      name: connection_info_struct
      pos:
        line_end: 33
        line_start: 28
        source_file: /src/mhd2/doc/examples/simplepost.c
    typedefs: []
    union: []
- function_names:
  - answer_to_connection
  - main
  source_file: /src/mhd2/doc/examples/responseheaders.c
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: PORT
      pos:
        line_end: 18
        line_start: 17
        source_file: /src/mhd2/doc/examples/responseheaders.c
      type_or_value: '8888'
    - item_type: preproc_def
      name: FILENAME
      pos:
        line_end: 19
        line_start: 18
        source_file: /src/mhd2/doc/examples/responseheaders.c
      type_or_value: '"picture.png"'
    - item_type: preproc_def
      name: MIMETYPE
      pos:
        line_end: 20
        line_start: 19
        source_file: /src/mhd2/doc/examples/responseheaders.c
      type_or_value: '"image/png"'
    structs: []
    typedefs: []
    union: []
- function_names:
  - get_file_size
  - load_file
  - ask_for_authentication
  - is_authenticated
  - secret_page
  - answer_to_connection
  - main
  source_file: /src/mhd2/doc/examples/tlsauthentication.c
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: PORT
      pos:
        line_end: 16
        line_start: 15
        source_file: /src/mhd2/doc/examples/tlsauthentication.c
      type_or_value: '8888'
    - item_type: preproc_def
      name: REALM
      pos:
        line_end: 18
        line_start: 17
        source_file: /src/mhd2/doc/examples/tlsauthentication.c
      type_or_value: '"Maintenance"'
    - item_type: preproc_def
      name: USER
      pos:
        line_end: 19
        line_start: 18
        source_file: /src/mhd2/doc/examples/tlsauthentication.c
      type_or_value: '"a legitimate user"'
    - item_type: preproc_def
      name: PASSWORD
      pos:
        line_end: 20
        line_start: 19
        source_file: /src/mhd2/doc/examples/tlsauthentication.c
      type_or_value: '"and his password"'
    - item_type: preproc_def
      name: SERVERKEYFILE
      pos:
        line_end: 22
        line_start: 21
        source_file: /src/mhd2/doc/examples/tlsauthentication.c
      type_or_value: '"server.key"'
    - item_type: preproc_def
      name: SERVERCERTFILE
      pos:
        line_end: 23
        line_start: 22
        source_file: /src/mhd2/doc/examples/tlsauthentication.c
      type_or_value: '"server.pem"'
    structs: []
    typedefs: []
    union: []
- function_names:
  - get_session
  - add_session_cookie
  - serve_simple_form
  - fill_v1_form
  - fill_v1_v2_form
  - not_found_page
  - post_iterator
  - create_response
  - request_completed_callback
  - expire_sessions
  - main
  source_file: /src/mhd2/doc/examples/sessions.c
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: METHOD_ERROR
      pos:
        line_end: 15
        line_start: 13
        source_file: /src/mhd2/doc/examples/sessions.c
      type_or_value: '"<html><head><title>Illegal request</title></head><body>Go away.</body></html>"'
    - item_type: preproc_def
      name: NOT_FOUND_ERROR
      pos:
        line_end: 21
        line_start: 19
        source_file: /src/mhd2/doc/examples/sessions.c
      type_or_value: '"<html><head><title>Not found</title></head><body>Go away.</body></html>"'
    - item_type: preproc_def
      name: MAIN_PAGE
      pos:
        line_end: 27
        line_start: 25
        source_file: /src/mhd2/doc/examples/sessions.c
      type_or_value: '"<html><head><title>Welcome</title></head><body><form action=\"/2\"
        method=\"post\">What is your name? <input type=\"text\" name=\"v1\" value=\"%s\"
        /><input type=\"submit\" value=\"Next\" /></body></html>"'
    - item_type: preproc_def
      name: FORM_V1
      pos:
        line_end: 29
        line_start: 28
        source_file: /src/mhd2/doc/examples/sessions.c
      type_or_value: MAIN_PAGE
    - item_type: preproc_def
      name: SECOND_PAGE
      pos:
        line_end: 35
        line_start: 33
        source_file: /src/mhd2/doc/examples/sessions.c
      type_or_value: '"<html><head><title>Tell me more</title></head><body><a href=\"/\">previous</a>
        <form action=\"/S\" method=\"post\">%s, what is your job? <input type=\"text\"
        name=\"v2\" value=\"%s\" /><input type=\"submit\" value=\"Next\" /></body></html>"'
    - item_type: preproc_def
      name: FORM_V1_V2
      pos:
        line_end: 37
        line_start: 36
        source_file: /src/mhd2/doc/examples/sessions.c
      type_or_value: SECOND_PAGE
    - item_type: preproc_def
      name: SUBMIT_PAGE
      pos:
        line_end: 43
        line_start: 41
        source_file: /src/mhd2/doc/examples/sessions.c
      type_or_value: '"<html><head><title>Ready to submit?</title></head><body><form
        action=\"/F\" method=\"post\"><a href=\"/2\">previous </a> <input type=\"hidden\"
        name=\"DONE\" value=\"yes\" /><input type=\"submit\" value=\"Submit\" /></body></html>"'
    - item_type: preproc_def
      name: LAST_PAGE
      pos:
        line_end: 49
        line_start: 47
        source_file: /src/mhd2/doc/examples/sessions.c
      type_or_value: '"<html><head><title>Thank you</title></head><body>Thank you.</body></html>"'
    - item_type: preproc_def
      name: COOKIE_NAME
      pos:
        line_end: 54
        line_start: 53
        source_file: /src/mhd2/doc/examples/sessions.c
      type_or_value: '"session"'
    structs:
    - fields:
      - name: '*next'
        type: struct Session
      - name: sid[33]
        type: char
      - name: rc
        type: unsigned int
      - name: start
        type: time_t
      - name: value_1[64]
        type: char
      - name: value_2[64]
        type: char
      item_type: struct
      name: Session
      pos:
        line_end: 92
        line_start: 59
        source_file: /src/mhd2/doc/examples/sessions.c
    - fields:
      - name: '*session'
        type: struct Session
      - name: '*pp'
        type: struct MHD_PostProcessor
      - name: '*post_url'
        type: char
      item_type: struct
      name: Request
      pos:
        line_end: 118
        line_start: 98
        source_file: /src/mhd2/doc/examples/sessions.c
    - fields:
      - name: '*url'
        type: char
      - name: '*mime'
        type: char
      - name: handler
        type: PageHandler
      - name: '*handler_cls'
        type: void
      item_type: struct
      name: Page
      pos:
        line_end: 220
        line_start: 199
        source_file: /src/mhd2/doc/examples/sessions.c
    typedefs:
    - item_type: typedef
      name: "(*PageHandler)(const void *cls,\n                                       const
        char *mime,\n                                       struct Session *session,\n
        \                                      struct MHD_Connection *connection)"
      pos:
        line_end: 193
        line_start: 190
        source_file: /src/mhd2/doc/examples/sessions.c
      type: MHD_Result
    union: []
- function_names:
  - answer_to_connection
  - main
  source_file: /src/mhd2/doc/examples/basicauthentication.c
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: PORT
      pos:
        line_end: 17
        line_start: 16
        source_file: /src/mhd2/doc/examples/basicauthentication.c
      type_or_value: '8888'
    structs: []
    typedefs: []
    union: []
- function_names:
  - print_out_key
  - answer_to_connection
  - main
  source_file: /src/mhd2/doc/examples/logging.c
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: PORT
      pos:
        line_end: 14
        line_start: 13
        source_file: /src/mhd2/doc/examples/logging.c
      type_or_value: '8888'
    structs: []
    typedefs: []
    union: []
- function_names:
  - upgrade_handler
  - send_all
  - make_blocking
  - access_handler
  - main
  source_file: /src/mhd2/doc/examples/websocket.c
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: PORT
      pos:
        line_end: 20
        line_start: 19
        source_file: /src/mhd2/doc/examples/websocket.c
      type_or_value: '80'
    - item_type: preproc_def
      name: PAGE
      pos:
        line_end: 64
        line_start: 21
        source_file: /src/mhd2/doc/examples/websocket.c
      type_or_value: "\"<!DOCTYPE html>\\n\" \\\n        \"<html>\\n\" \\\n        \"<head>\\n\"
        \\\n        \"<meta charset=\\\"UTF-8\\\">\\n\" \\\n        \"<title>Websocket
        Demo</title>\\n\" \\\n        \"<script>\\n\" \\\n        \"\\n\" \\\n        \"let
        url = 'ws' + (window.location.protocol === 'https:' ? 's' : '')\" \\\n        \"
        \ + ':/\" \"/' +\\n\" \\\n        \"          window.location.host + '/chat';\\n\"
        \\\n        \"let socket = null;\\n\" \\\n        \"\\n\" \\\n        \"window.onload
        = function(event) {\\n\" \\\n        \"  socket = new WebSocket(url);\\n\"
        \\\n        \"  socket.onopen = function(event) {\\n\" \\\n        \"    document.write('The
        websocket connection has been \" \\\n        \"established.<br>');\\n\" \\\n
        \       \"\\n\" \\\n        \"    /\" \"/ Send some text\\n\" \\\n        \"
        \   socket.send('Hello from JavaScript!');\\n\" \\\n        \"  }\\n\" \\\n
        \       \"\\n\" \\\n        \"  socket.onclose = function(event) {\\n\" \\\n
        \       \"    document.write('The websocket connection has been closed.<br>');\\n\"
        \\\n        \"  }\\n\" \\\n        \"\\n\" \\\n        \"  socket.onerror
        = function(event) {\\n\" \\\n        \"    document.write('An error occurred
        during the websocket \" \\\n        \"communication.<br>');\\n\" \\\n        \"
        \ }\\n\" \\\n        \"\\n\" \\\n        \"  socket.onmessage = function(event)
        {\\n\" \\\n        \"    document.write('Websocket message received: ' + \"
        \\\n        \"event.data + '<br>');\\n\" \\\n        \"  }\\n\" \\\n        \"}\\n\"
        \\\n        \"\\n\" \\\n        \"</script>\\n\" \\\n        \"</head>\\n\"
        \\\n        \"<body>\\n\" \\\n        \"</body>\\n\" \\\n        \"</html>\""
    - item_type: preproc_def
      name: PAGE_NOT_FOUND
      pos:
        line_end: 67
        line_start: 65
        source_file: /src/mhd2/doc/examples/websocket.c
      type_or_value: '"404 Not Found"'
    - item_type: preproc_def
      name: PAGE_INVALID_WEBSOCKET_REQUEST
      pos:
        line_end: 70
        line_start: 68
        source_file: /src/mhd2/doc/examples/websocket.c
      type_or_value: '"Invalid WebSocket request!"'
    structs: []
    typedefs: []
    union: []
- function_names:
  - catcher
  - ignore_sigpipe
  - main
  source_file: /src/mhd2/doc/examples/sigpipe.c
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - mhdt_has_param
  source_file: /src/mhd2/src/tests/mhdt_has_param.h
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: MHDT_HAS_PARAM_H
      pos:
        line_end: 45
        line_start: 44
        source_file: /src/mhd2/src/tests/mhdt_has_param.h
      type_or_value: '1'
    structs: []
    typedefs: []
    union: []
- function_names:
  - MHDT_ERR_EXIT
  - MHDT_ERR_EXIT_D
  - MHDT_ERR_EXIT
  - MHDT_ERR_EXIT_D
  - mhdt_STR_MACRO
  - mhdt_STR_MACRO_EXP
  - mhdt_print_check_succeed
  - mhdt_print_test_succeed
  - mhdt_mark_print_in_test_set
  - mhdt_mark_print_in_test_reset
  - mhdt_mark_print_in_test_is_set
  - MHDT_set_verbosity
  - MHDT_test_result
  - MHDT_TEST_RESULT
  - MHDT_TEST_RESULT_D
  - MHDT_final_result
  - MHDT_FINAL_RESULT
  - MHDT_check_bool
  - MHDT_EXPECT_TRUE
  - MHDT_EXPECT_FALSE
  - MHDT_EXPECT_TRUE_D
  - MHDT_EXPECT_FALSE_D
  - MHDT_check_ptr
  - MHDT_EXPECT_PTR_NULL
  - MHDT_EXPECT_PTR_NONNULL
  - MHDT_EXPECT_PTR_NULL_D
  - MHDT_EXPECT_PTR_NONNULL_D
  - MHDT_UINT_PRI_CAST
  - MHDT_UINT_PRI_CAST
  - MHDT_UINT_PRI_CAST
  - MHDT_EXPECT_UINT_EQ_VAL
  - MHDT_EXPECT_UINT_LT_VAL
  - MHDT_EXPECT_UINT_LE_VAL
  - MHDT_EXPECT_UINT_NE_VAL
  - MHDT_EXPECT_UINT_GE_VAL
  - MHDT_EXPECT_UINT_GT_VAL
  - MHDT_EXPECT_UINT_EQ_VAL_D
  - MHDT_EXPECT_UINT_LT_VAL_D
  - MHDT_EXPECT_UINT_LE_VAL_D
  - MHDT_EXPECT_UINT_NE_VAL_D
  - MHDT_EXPECT_UINT_GE_VAL_D
  - MHDT_EXPECT_UINT_GT_VAL_D
  - MHDT_INT_PRI_CAST
  - MHDT_INT_PRI_CAST
  - MHDT_INT_PRI_CAST
  - MHDT_EXPECT_INT_EQ_VAL
  - MHDT_EXPECT_INT_LT_VAL
  - MHDT_EXPECT_INT_LE_VAL
  - MHDT_EXPECT_INT_NE_VAL
  - MHDT_EXPECT_INT_GE_VAL
  - MHDT_EXPECT_INT_GT_VAL
  - MHDT_EXPECT_INT_EQ_VAL_D
  - MHDT_EXPECT_INT_LT_VAL_D
  - MHDT_EXPECT_INT_LE_VAL_D
  - MHDT_EXPECT_INT_NE_VAL_D
  - MHDT_EXPECT_INT_GE_VAL_D
  - MHDT_EXPECT_INT_GT_VAL_D
  - "(1) MHD_FN_PAR_CSTR_ (2) inline int\nMHDT_check_str (const char *result,\n                const
    char *expected,\n                const char *check_str,\n                const
    char *check_str_exp,\n                const char *filename,\n                long
    line,\n                const char *func_name,\n                const char *description)"
  - MHDT_EXPECT_STR_EQ
  - MHDT_EXPECT_STR_EQ_D
  - "(3) inline int\nMHDT_check_strn_str (size_t result_len,\n                     const
    char *result,\n                     const char *expected,\n                     const
    char *filename,\n                     long line,\n                     const char
    *func_name,\n                     const char *description)"
  - MHDT_EXPECT_STRN_EQ_STR_D
  - MHDT_check_strn
  - MHDT_EXPECT_STRN_EQ_D
  source_file: /src/mhd2/src/tests/mhdt_checks.h
  types:
    enum:
    - enumerators:
      - name: MHDT_VERB_LVL_SILENT
        value: '0'
      - name: MHDT_VERB_LVL_BASIC
        value: '1'
      - name: MHDT_VERB_LVL_VERBOSE
        value: '2'
      item_type: enum
      name: MHDT_VerbosityLevelEnum
      pos:
        line_end: 123
        line_start: 118
        source_file: /src/mhd2/src/tests/mhdt_checks.h
    - enumerators:
      - name: MHDT_CMP_EQ
      - name: MHDT_CMP_LT
      - name: MHDT_CMP_LE
      - name: MHDT_CMP_NE
      - name: MHDT_CMP_GE
      - name: MHDT_CMP_GT
      item_type: enum
      name: mhdt_CmpType
      pos:
        line_end: 437
        line_start: 429
        source_file: /src/mhd2/src/tests/mhdt_checks.h
    preproc_defs:
    - item_type: preproc_def
      name: MHDT_CHECKS_H
      pos:
        line_end: 45
        line_start: 44
        source_file: /src/mhd2/src/tests/mhdt_checks.h
      type_or_value: '1'
    - item_type: preproc_def
      name: snprintf
      pos:
        line_end: 64
        line_start: 63
        source_file: /src/mhd2/src/tests/mhdt_checks.h
      type_or_value: _snprintf
    - item_type: preproc_def
      name: HAVE_SNPRINTF
      pos:
        line_end: 65
        line_start: 64
        source_file: /src/mhd2/src/tests/mhdt_checks.h
      type_or_value: '1'
    - item_type: preproc_def
      name: MHDT_NULL_PRNT
      pos:
        line_end: 107
        line_start: 106
        source_file: /src/mhd2/src/tests/mhdt_checks.h
      type_or_value: '"[NULL]"'
    - item_type: preproc_def
      name: MHDT_ASSERT
      pos:
        line_end: 339
        line_start: 338
        source_file: /src/mhd2/src/tests/mhdt_checks.h
      type_or_value: MHDT_EXPECT_TRUE
    - item_type: preproc_def
      name: MHDT_ASSERT_D
      pos:
        line_end: 340
        line_start: 339
        source_file: /src/mhd2/src/tests/mhdt_checks.h
      type_or_value: MHDT_EXPECT_TRUE_D
    - item_type: preproc_def
      name: MHDT_UINT_PRI
      pos:
        line_end: 415
        line_start: 414
        source_file: /src/mhd2/src/tests/mhdt_checks.h
      type_or_value: PRIuMAX
    - item_type: preproc_def
      name: MHDT_UINT_PRI
      pos:
        line_end: 419
        line_start: 418
        source_file: /src/mhd2/src/tests/mhdt_checks.h
      type_or_value: PRIuFAST64
    - item_type: preproc_def
      name: MHDT_UINT_PRI
      pos:
        line_end: 423
        line_start: 422
        source_file: /src/mhd2/src/tests/mhdt_checks.h
      type_or_value: '"lu"'
    - item_type: preproc_def
      name: MHDT_INT_PRI
      pos:
        line_end: 684
        line_start: 683
        source_file: /src/mhd2/src/tests/mhdt_checks.h
      type_or_value: PRIdMAX
    - item_type: preproc_def
      name: MHDT_INT_PRI
      pos:
        line_end: 688
        line_start: 687
        source_file: /src/mhd2/src/tests/mhdt_checks.h
      type_or_value: PRIdFAST64
    - item_type: preproc_def
      name: MHDT_INT_PRI
      pos:
        line_end: 692
        line_start: 691
        source_file: /src/mhd2/src/tests/mhdt_checks.h
      type_or_value: '"ld"'
    structs: []
    typedefs:
    - item_type: typedef
      name: mhdt_uint_t
      pos:
        line_end: 413
        line_start: 413
        source_file: /src/mhd2/src/tests/mhdt_checks.h
      type: uintmax_t
    - item_type: typedef
      name: mhdt_uint_t
      pos:
        line_end: 417
        line_start: 417
        source_file: /src/mhd2/src/tests/mhdt_checks.h
      type: uint_fast64_t
    - item_type: typedef
      name: mhdt_uint_t
      pos:
        line_end: 421
        line_start: 421
        source_file: /src/mhd2/src/tests/mhdt_checks.h
      type: uint_fast64_t
    - item_type: typedef
      name: mhdt_int_t
      pos:
        line_end: 682
        line_start: 682
        source_file: /src/mhd2/src/tests/mhdt_checks.h
      type: intmax_t
    - item_type: typedef
      name: mhdt_int_t
      pos:
        line_end: 686
        line_start: 686
        source_file: /src/mhd2/src/tests/mhdt_checks.h
      type: int_fast64_t
    - item_type: typedef
      name: mhdt_int_t
      pos:
        line_end: 690
        line_start: 690
        source_file: /src/mhd2/src/tests/mhdt_checks.h
      type: int_fast64_t
    union: []
- function_names:
  - mhdt_has_in_name
  source_file: /src/mhd2/src/tests/mhdt_has_in_name.h
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: MHDT_HAS_IN_NAME_H
      pos:
        line_end: 45
        line_start: 44
        source_file: /src/mhd2/src/tests/mhdt_has_in_name.h
      type_or_value: '1'
    structs: []
    typedefs: []
    union: []
- function_names:
  - flush_std_all
  - ERR_PRINT_LINE
  - tst_EXPECT_OK_helper
  - tst_EXPECT_OK
  - test_macro1_vs_macro2_str
  - test_macro2_vs_func_str
  - test_func_str_vs_macro_bin
  - test_macro_vs_func_bin
  - test_func_bin_format
  - test_func_str_format
  - main
  source_file: /src/mhd2/src/tests/basic/test_lib_info_version.c
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - ERR_PRINT_LINE
  - tst_EXPECT_OK
  - tst_EXPECT_OK
  - tst_EXPECT_FAIL
  - tst_EXPECT_CHECK
  - my_req_process
  - test_daemon_create
  - test_daemon_setup
  - test_daemon_start
  - test_simple
  - init_test
  - main
  source_file: /src/mhd2/src/tests/basic/test_basic_checks.c
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - CURL_VERSION_BITS
  - CURL_AT_LEAST_VERSION
  - MHDT_server_reply_text
  - MHDT_server_reply_file
  - MHDT_server_reply_with_header
  - MHDT_server_reply_check_query
  - MHDT_server_reply_check_header
  - check_upload_cb
  - MHDT_server_reply_check_upload
  - chunk_return
  - MHDT_server_reply_chunked_text
  - nstrcmp
  - post_stream_reader
  - check_complete_post_value
  - post_stream_done
  - MHDT_server_reply_check_post
  - MHDT_server_reply_check_basic_auth
  - MHDT_server_reply_check_digest_auth
  source_file: /src/mhd2/src/tests/client_server/libtest_convenience_server_reply.c
  types:
    enum: []
    preproc_defs: []
    structs:
    - fields:
      - name: '*pos'
        type: char
      item_type: struct
      name: ChunkContext
      pos:
        line_end: 446
        line_start: 440
        source_file: /src/mhd2/src/tests/client_server/libtest_convenience_server_reply.c
    typedefs: []
    union: []
- function_names: []
  source_file: /src/mhd2/src/tests/client_server/libtest.h
  types:
    enum: []
    preproc_defs: []
    structs:
    - fields:
      - name: '*base_url'
        type: char
      - name: '*hosts'
        type: struct curl_slist
      - name: client_id
        type: unsigned int
      - name: '*phase'
        type: struct MHDT_Phase
      item_type: struct
      name: MHDT_PhaseContext
      pos:
        line_end: 89
        line_start: 66
        source_file: /src/mhd2/src/tests/client_server/libtest.h
    - fields:
      - name: '*label'
        type: char
      - name: server_cb
        type: MHD_RequestCallback
      - name: '*server_cb_cls'
        type: void
      - name: client_cb
        type: MHDT_ClientLogic
      - name: '*client_cb_cls'
        type: void
      - name: timeout_ms
        type: uint_fast32_t
      - name: num_clients
        type: unsigned int
      - name: use_tls
        type: bool
      - name: check_server_cert
        type: bool
      - name: http_version
        type: unsigned int
      - name: '*client_cert'
        type: char
      - name: '*client_priv'
        type: char
      - name: '*server_cert'
        type: char
      - name: '*server_priv'
        type: char
      item_type: struct
      name: MHDT_Phase
      pos:
        line_end: 180
        line_start: 105
        source_file: /src/mhd2/src/tests/client_server/libtest.h
    - fields:
      - name: '*key'
        type: char
      - name: '*value'
        type: char
      - name: '*filename'
        type: char
      - name: '*content_type'
        type: char
      - name: value_size
        type: size_t
      - name: value_off
        type: size_t
      - name: incremental
        type: bool
      - name: satisfied
        type: bool
      item_type: struct
      name: MHDT_PostWant
      pos:
        line_end: 334
        line_start: 292
        source_file: /src/mhd2/src/tests/client_server/libtest.h
    - fields:
      - name: enc
        type: enum MHD_HTTP_PostEncoding
      - name: '*postdata'
        type: char
      - name: '*postheader'
        type: char
      - name: '*wants'
        type: struct MHDT_PostWant
      - name: postdata_size
        type: size_t
      - name: buffer_size
        type: size_t
      - name: auto_stream_size
        type: size_t
      item_type: struct
      name: MHDT_PostInstructions
      pos:
        line_end: 380
        line_start: 341
        source_file: /src/mhd2/src/tests/client_server/libtest.h
    typedefs:
    - item_type: typedef
      name: "*\n(*MHDT_ClientLogic)(const void *cls,\n                    struct MHDT_PhaseContext
        *pc)"
      pos:
        line_end: 102
        line_start: 100
        source_file: /src/mhd2/src/tests/client_server/libtest.h
      type: char
    - item_type: typedef
      name: "*\n(*MHDT_ServerSetup)(const void *cls,\n                    struct MHD_Daemon
        *d)"
      pos:
        line_end: 751
        line_start: 749
        source_file: /src/mhd2/src/tests/client_server/libtest.h
      type: char
    - item_type: typedef
      name: "(*MHDT_ServerRunner)(void *cls,\n                     int finsig,\n                     struct
        MHD_Daemon *d)"
      pos:
        line_end: 829
        line_start: 826
        source_file: /src/mhd2/src/tests/client_server/libtest.h
      type: void
    union: []
- function_names:
  - CURL_VERSION_BITS
  - CURL_AT_LEAST_VERSION
  - write_cb
  - DECLARE_WB
  - SETUP_WB
  - CHECK_WB
  - PERFORM_REQUEST
  - CHECK_STATUS
  - check_status
  - set_url
  - setup_curl
  - MHDT_client_get_host
  - MHDT_client_get_root
  - MHDT_client_get_with_query
  - MHDT_client_set_header
  - MHDT_client_expect_header
  - read_cb
  - MHDT_client_put_data
  - MHDT_client_chunk_data
  - MHDT_client_do_post
  - send_basic_auth
  - MHDT_client_send_basic_auth
  - MHDT_client_fail_basic_auth
  - send_digest_auth
  - MHDT_client_send_digest_auth
  - MHDT_client_fail_digest_auth
  source_file: /src/mhd2/src/tests/client_server/libtest_convenience_client_request.c
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: HAVE_LIBCRUL_NEW_HDR_API
      pos:
        line_end: 62
        line_start: 61
        source_file: /src/mhd2/src/tests/client_server/libtest_convenience_client_request.c
      type_or_value: '1'
    structs:
    - fields:
      - name: '*buf'
        type: char
      - name: len
        type: size_t
      - name: pos
        type: size_t
      - name: err
        type: int
      item_type: struct
      name: WriteBuffer
      pos:
        line_end: 89
        line_start: 68
        source_file: /src/mhd2/src/tests/client_server/libtest_convenience_client_request.c
    - fields:
      - name: '*buf'
        type: char
      - name: len
        type: size_t
      - name: pos
        type: size_t
      - name: chunks
        type: unsigned int
      item_type: struct
      name: ReadBuffer
      pos:
        line_end: 689
        line_start: 667
        source_file: /src/mhd2/src/tests/client_server/libtest_convenience_client_request.c
    typedefs: []
    union: []
- function_names:
  - main
  source_file: /src/mhd2/src/tests/client_server/test_http2.c
  types:
    enum: []
    preproc_defs: []
    structs:
    - fields:
      - name: '*label'
        type: char
      - name: server_setup
        type: MHDT_ServerSetup
      - name: '*server_setup_cls'
        type: void
      - name: server_runner
        type: MHDT_ServerRunner
      - name: '*server_runner_cls'
        type: void
      item_type: struct
      name: ServerType
      pos:
        line_end: 96
        line_start: 89
        source_file: /src/mhd2/src/tests/client_server/test_http2.c
    typedefs: []
    union: []
- function_names: []
  source_file: /src/mhd2/src/tests/client_server/mhdt_tmpfile.h
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: MHDT_TMPFILE_H
      pos:
        line_end: 45
        line_start: 44
        source_file: /src/mhd2/src/tests/client_server/mhdt_tmpfile.h
      type_or_value: '1'
    structs: []
    typedefs: []
    union: []
- function_names:
  - test_check_
  - test_check
  - semaphore_create
  - semaphore_down
  - semaphore_up
  - semaphore_destroy
  - server_req_cb
  - run_single_client
  - make_pipe
  - run_client_phase
  - server_phase_logic
  - server_run_logic
  - MHDT_test
  - MHDT_load_pem
  source_file: /src/mhd2/src/tests/client_server/libtest.c
  types:
    enum: []
    preproc_defs: []
    structs:
    - fields:
      - name: mutex
        type: pthread_mutex_t
      - name: cv
        type: pthread_cond_t
      - name: ctr
        type: unsigned int
      item_type: struct
      name: Semaphore
      pos:
        line_end: 71
        line_start: 55
        source_file: /src/mhd2/src/tests/client_server/libtest.c
    - fields:
      - name: client_sem
        type: struct Semaphore
      - name: server_sem
        type: struct Semaphore
      - name: '*phase'
        type: struct MHDT_Phase
      - name: run_cb
        type: MHDT_ServerRunner
      - name: '*run_cb_cls'
        type: void
      - name: '*d'
        type: struct MHD_Daemon
      - name: rounds
        type: unsigned int
      - name: finsig
        type: int
      item_type: struct
      name: ServerContext
      pos:
        line_end: 219
        line_start: 176
        source_file: /src/mhd2/src/tests/client_server/libtest.c
    - fields:
      - name: '*phase'
        type: struct MHDT_Phase
      - name: pc
        type: struct MHDT_PhaseContext
      - name: p2
        type: int
      - name: status
        type: bool
      item_type: struct
      name: ClientContext
      pos:
        line_end: 289
        line_start: 267
        source_file: /src/mhd2/src/tests/client_server/libtest.c
    typedefs: []
    union: []
- function_names:
  - main
  source_file: /src/mhd2/src/tests/client_server/test_tls2.c
  types:
    enum: []
    preproc_defs: []
    structs:
    - fields:
      - name: '*label'
        type: char
      - name: server_setup
        type: MHDT_ServerSetup
      - name: '*server_setup_cls'
        type: void
      - name: server_runner
        type: MHDT_ServerRunner
      - name: '*server_runner_cls'
        type: void
      item_type: struct
      name: ServerType
      pos:
        line_end: 98
        line_start: 91
        source_file: /src/mhd2/src/tests/client_server/test_tls2.c
    typedefs: []
    union: []
- function_names:
  - main
  source_file: /src/mhd2/src/tests/client_server/test_client_server.c
  types:
    enum: []
    preproc_defs: []
    structs:
    - fields:
      - name: '*label'
        type: char
      - name: server_setup
        type: MHDT_ServerSetup
      - name: '*server_setup_cls'
        type: void
      - name: server_runner
        type: MHDT_ServerRunner
      - name: '*server_runner_cls'
        type: void
      item_type: struct
      name: ServerType
      pos:
        line_end: 111
        line_start: 104
        source_file: /src/mhd2/src/tests/client_server/test_client_server.c
    typedefs: []
    union: []
- function_names:
  - main
  source_file: /src/mhd2/src/tests/client_server/test_cert_tls.c
  types:
    enum: []
    preproc_defs: []
    structs:
    - fields:
      - name: '*label'
        type: char
      - name: server_setup
        type: MHDT_ServerSetup
      - name: '*server_setup_cls'
        type: void
      - name: server_runner
        type: MHDT_ServerRunner
      - name: '*server_runner_cls'
        type: void
      - name: phase
        type: struct MHDT_Phase
      item_type: struct
      name: ServerType
      pos:
        line_end: 92
        line_start: 84
        source_file: /src/mhd2/src/tests/client_server/test_cert_tls.c
    typedefs: []
    union: []
- function_names: []
  source_file: /src/mhd2/src/tests/client_server/test_authentication.c
  types:
    enum: []
    preproc_defs: []
    structs:
    - fields:
      - name: '*label'
        type: char
      - name: server_setup
        type: MHDT_ServerSetup
      - name: '*server_setup_cls'
        type: void
      - name: server_runner
        type: MHDT_ServerRunner
      - name: '*server_runner_cls'
        type: void
      item_type: struct
      name: ServerType
      pos:
        line_end: 64
        line_start: 57
        source_file: /src/mhd2/src/tests/client_server/test_authentication.c
    typedefs: []
    union: []
- function_names:
  - main
  source_file: /src/mhd2/src/tests/client_server/test_tls.c
  types:
    enum: []
    preproc_defs: []
    structs:
    - fields:
      - name: '*label'
        type: char
      - name: server_setup
        type: MHDT_ServerSetup
      - name: '*server_setup_cls'
        type: void
      - name: server_runner
        type: MHDT_ServerRunner
      - name: '*server_runner_cls'
        type: void
      item_type: struct
      name: ServerType
      pos:
        line_end: 98
        line_start: 91
        source_file: /src/mhd2/src/tests/client_server/test_tls.c
    typedefs: []
    union: []
- function_names:
  - main
  source_file: /src/mhd2/src/tests/client_server/test_postparser.c
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: MHDT_SOME_BIN_DATA
      pos:
        line_end: 73
        line_start: 72
        source_file: /src/mhd2/src/tests/client_server/test_postparser.c
      type_or_value: '"\x1\x2\x3\x4\x5"'
    structs:
    - fields:
      - name: '*label'
        type: char
      - name: server_setup
        type: MHDT_ServerSetup
      - name: '*server_setup_cls'
        type: void
      - name: server_runner
        type: MHDT_ServerRunner
      - name: '*server_runner_cls'
        type: void
      item_type: struct
      name: ServerType
      pos:
        line_end: 61
        line_start: 54
        source_file: /src/mhd2/src/tests/client_server/test_postparser.c
    typedefs: []
    union: []
- function_names:
  - get_port
  - MHDT_server_setup_minimal
  - server_setup_tls
  - MHDT_server_setup_tls
  - MHDT_server_setup_gnutls
  - MHDT_server_setup_openssl
  - MHDT_server_run_minimal
  - MHDT_server_run_blocking
  - update_fd
  - MHDT_server_setup_external
  - MHDT_server_run_external
  source_file: /src/mhd2/src/tests/client_server/libtest_convenience.c
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - mhdt_ARR_CNT
  - mhdtl_rotl32
  - mhdtl_mix32
  - tmpdirs_try_add
  - mhdt_num_to_hex
  - mhdt_get_tmpfile_dir
  - mhdt_create_tmpfile_posix
  - tmpdirs_try_add_w32
  - mhdt_get_tmpfile_dir_w32
  - mhdt_num_to_hex_w
  - mhdt_WSTR_
  - mhdt_WSTR
  - mhdt_create_tmpfile_w32
  - MHDT_create_tmpfile
  source_file: /src/mhd2/src/tests/client_server/mhdt_tmpfile.c
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: mhdt_USE_W32
      pos:
        line_end: 59
        line_start: 58
        source_file: /src/mhd2/src/tests/client_server/mhdt_tmpfile.c
      type_or_value: '1'
    - item_type: preproc_def
      name: WIN32_LEAN_AND_MEAN
      pos:
        line_end: 61
        line_start: 60
        source_file: /src/mhd2/src/tests/client_server/mhdt_tmpfile.c
      type_or_value: '1'
    - item_type: preproc_def
      name: MHDT_TMP_FILE_BASENAME_PREFIX
      pos:
        line_end: 77
        line_start: 76
        source_file: /src/mhd2/src/tests/client_server/mhdt_tmpfile.c
      type_or_value: '"mhdt-tmp-"'
    - item_type: preproc_def
      name: MHDT_TMP_FILE_UNIQUE_SUFFIX_LEN
      pos:
        line_end: 82
        line_start: 81
        source_file: /src/mhd2/src/tests/client_server/mhdt_tmpfile.c
      type_or_value: '6'
    - item_type: preproc_def
      name: MHDT_FILENAME_MAX
      pos:
        line_end: 93
        line_start: 92
        source_file: /src/mhd2/src/tests/client_server/mhdt_tmpfile.c
      type_or_value: FILENAME_MAX
    - item_type: preproc_def
      name: MHDT_FILENAME_MAX
      pos:
        line_end: 95
        line_start: 94
        source_file: /src/mhd2/src/tests/client_server/mhdt_tmpfile.c
      type_or_value: MAX_PATH
    - item_type: preproc_def
      name: MHDT_FILENAME_MAX
      pos:
        line_end: 104
        line_start: 103
        source_file: /src/mhd2/src/tests/client_server/mhdt_tmpfile.c
      type_or_value: '4096'
    - item_type: preproc_def
      name: mhdt_MAX_TRIES
      pos:
        line_end: 108
        line_start: 107
        source_file: /src/mhd2/src/tests/client_server/mhdt_tmpfile.c
      type_or_value: '127'
    - item_type: preproc_def
      name: MHDTL_UINT32_MASK
      pos:
        line_end: 111
        line_start: 110
        source_file: /src/mhd2/src/tests/client_server/mhdt_tmpfile.c
      type_or_value: 0xFFFFFFFFu
    - item_type: preproc_def
      name: MHDT_TMP_FILE_BASENAME_PREFIX_L
      pos:
        line_end: 683
        line_start: 681
        source_file: /src/mhd2/src/tests/client_server/mhdt_tmpfile.c
      type_or_value: mhdt_WSTR(MHDT_TMP_FILE_BASENAME_PREFIX)
    structs: []
    typedefs: []
    union: []
- function_names:
  - uc_fail
  - server_upload_req_cb
  - server_req_cb
  - write_all
  - run_test
  - run_tests
  - run
  - main
  source_file: /src/mhd2/src/tests/raw/test_incompatible.c
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: LOG
      pos:
        line_end: 57
        line_start: 56
        source_file: /src/mhd2/src/tests/raw/test_incompatible.c
      type_or_value: '0'
    structs:
    - fields:
      - name: '*name'
        type: char
      - name: '*upload'
        type: char
      item_type: struct
      name: Test
      pos:
        line_end: 73
        line_start: 61
        source_file: /src/mhd2/src/tests/raw/test_incompatible.c
    typedefs: []
    union: []
- function_names:
  - dyn_cc
  - dyn_cc_free
  - upload_cb
  - server_req_cb
  - write_all
  - run_test
  - test_url
  - test_query
  - test_header
  - test_cookie
  - test_body
  - test_mix
  - run_tests
  - no_log
  - main
  source_file: /src/mhd2/src/tests/raw/test_oom.c
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: BUFFER_SIZE
      pos:
        line_end: 59
        line_start: 58
        source_file: /src/mhd2/src/tests/raw/test_oom.c
      type_or_value: '2048'
    - item_type: preproc_def
      name: STEP
      pos:
        line_end: 66
        line_start: 65
        source_file: /src/mhd2/src/tests/raw/test_oom.c
      type_or_value: '71'
    structs: []
    typedefs: []
    union: []
- function_names:
  - check_headers
  - server_req_cb
  - write_all
  - run_test
  - run_tests
  - main
  source_file: /src/mhd2/src/tests/raw/test_raw.c
  types:
    enum: []
    preproc_defs: []
    structs:
    - fields:
      - name: '*name'
        type: char
      - name: '*upload'
        type: char
      - name: expect_method
        type: enum MHD_HTTP_Method
      - name: '*expect_path'
        type: char
      - name: expect_upload_size
        type: uint_fast64_t
      - name: '*expect_parser'
        type: char
      item_type: struct
      name: Test
      pos:
        line_end: 91
        line_start: 57
        source_file: /src/mhd2/src/tests/raw/test_raw.c
    typedefs: []
    union: []
- function_names:
  - hex2bin
  - check_digest
  - D_STR_W_LEN
  - bin2hex
  - check_result
  - test1_str
  - test1_bin
  - test2_str
  - test2_bin
  - test_unaligned
  - main
  source_file: /src/mhd2/src/tests/unit/unit_sha512_256.c
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: SHA512_256_DIGEST_STRING_SIZE
      pos:
        line_end: 59
        line_start: 58
        source_file: /src/mhd2/src/tests/unit/unit_sha512_256.c
      type_or_value: (mhd_SHA512_256_DIGEST_SIZE * 2 + 1)
    - item_type: preproc_def
      name: DATA_POS
      pos:
        line_end: 689
        line_start: 688
        source_file: /src/mhd2/src/tests/unit/unit_sha512_256.c
      type_or_value: '6'
    - item_type: preproc_def
      name: MAX_OFFSET
      pos:
        line_end: 690
        line_start: 689
        source_file: /src/mhd2/src/tests/unit/unit_sha512_256.c
      type_or_value: '63'
    structs:
    - fields:
      - name: '*const str'
        type: char
      - name: len
        type: size_t
      item_type: struct
      name: str_with_len
      pos:
        line_end: 125
        line_start: 121
        source_file: /src/mhd2/src/tests/unit/unit_sha512_256.c
    - fields:
      - name: str_l
        type: struct str_with_len
      - name: digest[mhd_SHA512_256_DIGEST_SIZE]
        type: uint8_t
      item_type: struct
      name: data_unit1
      pos:
        line_end: 133
        line_start: 129
        source_file: /src/mhd2/src/tests/unit/unit_sha512_256.c
    - fields:
      - name: bin[512]
        type: uint8_t
      - name: len
        type: size_t
      item_type: struct
      name: bin_with_len
      pos:
        line_end: 188
        line_start: 184
        source_file: /src/mhd2/src/tests/unit/unit_sha512_256.c
    - fields:
      - name: bin_l
        type: struct bin_with_len
      - name: digest[mhd_SHA512_256_DIGEST_SIZE]
        type: uint8_t
      item_type: struct
      name: data_unit2
      pos:
        line_end: 194
        line_start: 190
        source_file: /src/mhd2/src/tests/unit/unit_sha512_256.c
    - fields:
      - name: '*name'
        type: char
      - name: '*input'
        type: char
      - name: '*digest'
        type: char
      item_type: struct
      name: Test
      pos:
        line_end: 762
        line_start: 757
        source_file: /src/mhd2/src/tests/unit/unit_sha512_256.c
    typedefs: []
    union: []
- function_names:
  - MHD_STATICSTR_LEN_
  - expect_decoded_n
  - expect_decoded
  - check_decode_str
  - expect_decoded_arr
  - check_decode_bin
  - expect_fail_n
  - expect_fail
  - check_fail
  - main
  source_file: /src/mhd2/src/tests/unit/unit_str_base64.c
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: TEST_BIN_MAX_SIZE
      pos:
        line_end: 44
        line_start: 43
        source_file: /src/mhd2/src/tests/unit/unit_str_base64.c
      type_or_value: '1024'
    structs: []
    typedefs: []
    union: []
- function_names:
  - set_test_locale
  - get_current_locale_str
  - n_prnt
  - D_STR_W_LEN
  - check_str_to_uint64_valid
  - check_str_to_uint64_all_chars
  - check_str_to_uint64_overflow
  - check_str_to_uint64_no_val
  - check_str_to_uint64_n_valid
  - check_str_to_uint64_n_all_chars
  - check_str_to_uint64_n_overflow
  - check_str_to_uint64_n_no_val
  - check_strx_to_uint32_valid
  - check_strx_to_uint32_all_chars
  - check_strx_to_uint32_overflow
  - check_strx_to_uint32_no_val
  - check_strx_to_uint32_n_valid
  - check_strx_to_uint32_n_all_chars
  - check_strx_to_uint32_n_overflow
  - check_strx_to_uint32_n_no_val
  - check_strx_to_uint64_valid
  - check_strx_to_uint64_all_chars
  - check_strx_to_uint64_overflow
  - check_strx_to_uint64_no_val
  - check_strx_to_uint64_n_valid
  - check_strx_to_uint64_n_all_chars
  - check_strx_to_uint64_n_overflow
  - check_strx_to_uint64_n_no_val
  - run_str_to_X_tests
  - main
  source_file: /src/mhd2/src/tests/unit/unit_str_to_value.c
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: PRIuFAST64
      pos:
        line_end: 34
        line_start: 33
        source_file: /src/mhd2/src/tests/unit/unit_str_to_value.c
      type_or_value: '"llu"'
    - item_type: preproc_def
      name: PRIuPTR
      pos:
        line_end: 35
        line_start: 34
        source_file: /src/mhd2/src/tests/unit/unit_str_to_value.c
      type_or_value: '"llu"'
    - item_type: preproc_def
      name: PRIXFAST64
      pos:
        line_end: 36
        line_start: 35
        source_file: /src/mhd2/src/tests/unit/unit_str_to_value.c
      type_or_value: '"llX"'
    structs:
    - fields:
      - name: '*const str'
        type: char
      - name: len
        type: size_t
      item_type: struct
      name: str_with_len
      pos:
        line_end: 306
        line_start: 302
        source_file: /src/mhd2/src/tests/unit/unit_str_to_value.c
    - fields:
      - name: str
        type: struct str_with_len
      - name: num_of_digt
        type: size_t
      - name: val
        type: uint_fast64_t
      item_type: struct
      name: str_with_value
      pos:
        line_end: 319
        line_start: 314
        source_file: /src/mhd2/src/tests/unit/unit_str_to_value.c
    typedefs: []
    union: []
- function_names:
  - hex2bin
  - bin2hex
  - check_result
  - D_STR_W_LEN
  - test1_str
  - test1_bin
  - test2_str
  - test2_bin
  - test_unaligned
  - check_digest
  - main
  source_file: /src/mhd2/src/tests/unit/unit_md5.c
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: MD5_DIGEST_STRING_SIZE
      pos:
        line_end: 56
        line_start: 55
        source_file: /src/mhd2/src/tests/unit/unit_md5.c
      type_or_value: (mhd_MD5_DIGEST_SIZE * 2 + 1)
    - item_type: preproc_def
      name: DATA_POS
      pos:
        line_end: 529
        line_start: 528
        source_file: /src/mhd2/src/tests/unit/unit_md5.c
      type_or_value: '6'
    - item_type: preproc_def
      name: MAX_OFFSET
      pos:
        line_end: 530
        line_start: 529
        source_file: /src/mhd2/src/tests/unit/unit_md5.c
      type_or_value: '31'
    structs:
    - fields:
      - name: '*const str'
        type: char
      - name: len
        type: size_t
      item_type: struct
      name: str_with_len
      pos:
        line_end: 166
        line_start: 162
        source_file: /src/mhd2/src/tests/unit/unit_md5.c
    - fields:
      - name: str_l
        type: struct str_with_len
      - name: digest[mhd_MD5_DIGEST_SIZE]
        type: uint8_t
      item_type: struct
      name: data_unit1
      pos:
        line_end: 174
        line_start: 170
        source_file: /src/mhd2/src/tests/unit/unit_md5.c
    - fields:
      - name: bin[512]
        type: uint8_t
      - name: len
        type: size_t
      item_type: struct
      name: bin_with_len
      pos:
        line_end: 268
        line_start: 264
        source_file: /src/mhd2/src/tests/unit/unit_md5.c
    - fields:
      - name: bin_l
        type: struct bin_with_len
      - name: digest[mhd_MD5_DIGEST_SIZE]
        type: uint8_t
      item_type: struct
      name: data_unit2
      pos:
        line_end: 274
        line_start: 270
        source_file: /src/mhd2/src/tests/unit/unit_md5.c
    - fields:
      - name: '*name'
        type: char
      - name: '*input'
        type: char
      - name: '*digest'
        type: char
      item_type: struct
      name: Test
      pos:
        line_end: 645
        line_start: 640
        source_file: /src/mhd2/src/tests/unit/unit_md5.c
    typedefs: []
    union: []
- function_names:
  - MHD_STATICSTR_LEN_
  - expect_found_n
  - expect_found
  - expect_not_found_n
  - expect_not_found
  - check_match
  - check_not_match
  - main
  source_file: /src/mhd2/src/tests/unit/unit_str_token.c
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - MHDTL_HPACK_ENTRY_SIZE
  - mhdtl_rotl16
  - mhdtl_mix16
  - mhdtl_dyn_get_size_used
  - mhdtl_dyn_get_free
  - MHDTL_DTBL_FIND_ENTRY_STR
  - MHDTL_DTBL_FIND_NAME_STR
  - mhdtl_dyn_check_get_valid_invalid
  - mhdtl_dyn_check_entry_n_at_idx
  - mhdtl_dyn_check_entry_at_idx
  - "(3, 2) MHD_FN_PAR_IN_SIZE_ (5, 4) int\nmhdtl_dyn_add_hdr_n_with_check (struct
    mhd_HpackDTblContext *dyn,\n                                size_t hdr_name_len,\n
    \                               const char *hdr_name,\n                                size_t
    hdr_value_len,\n                                const char *hdr_value)"
  - "(2) MHD_FN_PAR_CSTR_ (3) int\nmhdtl_dyn_add_hdr_with_check (struct mhd_HpackDTblContext
    *dyn,\n                              const char *hdr_name,\n                              const
    char *hdr_value)"
  - mhdtl_dyn_add_sized_strs_with_check
  - mhdtl_dyn_add_sized_entry_with_check
  - mhdtl_stat_check_entry_n_at_idx
  - mhdtl_stat_check_entry_at_idx
  - MHDTL_STBL_FIND_ENTRY_REAL_STR
  - MHDTL_STBL_FIND_NAME_REAL_STR
  - mhdtl_comb_check_entry_n_at_idx
  - mhdtl_comb_check_entry_at_idx
  - MHDTL_HTBL_FIND_ENTRY_REAL_STR
  - MHDTL_HTBL_FIND_NAME_REAL_STR
  - test_dyn_create_destroy
  - test_dyn_create_destroy_larger
  - test_dyn_add_three
  - test_dyn_add_empty
  - test_dyn_add_evict_simple
  - test_dyn_add_evict_wrap
  - test_dyn_add_evict_inter
  - test_dyn_add_series
  - test_dyn_add_evict_series
  - test_dyn_evict_to_size
  - test_dyn_resize
  - test_dyn_find
  - test_dyn_reset_on_too_large
  - test_dyn_zero_sizes
  - test_stat_get_find
  - test_stat_find_non_pseudo_entry_absent
  - test_stat_find_non_pseudo_name_absent
  - test_comb_get_find
  - test_comb_find_entry_absent
  - test_comb_find_name_absent
  - main
  source_file: /src/mhd2/src/tests/unit/unit_hpack_tables.c
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: mhd_HPACK_TESTING_TABLES_ONLY
      pos:
        line_end: 48
        line_start: 47
        source_file: /src/mhd2/src/tests/unit/unit_hpack_tables.c
      type_or_value: '1'
    - item_type: preproc_def
      name: MHDTL_DYN_ENTRY_MIN_SIZE
      pos:
        line_end: 63
        line_start: 62
        source_file: /src/mhd2/src/tests/unit/unit_hpack_tables.c
      type_or_value: mhd_HPACK_ENTRY_OVERHEAD
    - item_type: preproc_def
      name: MHDTL_NAMES_BUF_SIZE
      pos:
        line_end: 475
        line_start: 474
        source_file: /src/mhd2/src/tests/unit/unit_hpack_tables.c
      type_or_value: '512'
    - item_type: preproc_def
      name: MHDTL_H01N
      pos:
        line_end: 907
        line_start: 906
        source_file: /src/mhd2/src/tests/unit/unit_hpack_tables.c
      type_or_value: '"notably-long-name1"         '
    - item_type: preproc_def
      name: MHDTL_H01V
      pos:
        line_end: 908
        line_start: 907
        source_file: /src/mhd2/src/tests/unit/unit_hpack_tables.c
      type_or_value: '"some notably long data1"    '
    - item_type: preproc_def
      name: MHDTL_H02N
      pos:
        line_end: 909
        line_start: 908
        source_file: /src/mhd2/src/tests/unit/unit_hpack_tables.c
      type_or_value: '"longer-name2"       '
    - item_type: preproc_def
      name: MHDTL_H02V
      pos:
        line_end: 910
        line_start: 909
        source_file: /src/mhd2/src/tests/unit/unit_hpack_tables.c
      type_or_value: '"some longer data2"  '
    - item_type: preproc_def
      name: MHDTL_H03N
      pos:
        line_end: 911
        line_start: 910
        source_file: /src/mhd2/src/tests/unit/unit_hpack_tables.c
      type_or_value: '"abcdefgh3"          '
    - item_type: preproc_def
      name: MHDTL_H03V
      pos:
        line_end: 912
        line_start: 911
        source_file: /src/mhd2/src/tests/unit/unit_hpack_tables.c
      type_or_value: '"random data3"       '
    - item_type: preproc_def
      name: MHDTL_H04N
      pos:
        line_end: 913
        line_start: 912
        source_file: /src/mhd2/src/tests/unit/unit_hpack_tables.c
      type_or_value: '"short-hdr4"         '
    - item_type: preproc_def
      name: MHDTL_H04V
      pos:
        line_end: 914
        line_start: 913
        source_file: /src/mhd2/src/tests/unit/unit_hpack_tables.c
      type_or_value: '"value4"             '
    - item_type: preproc_def
      name: MHDTL_H05N
      pos:
        line_end: 915
        line_start: 914
        source_file: /src/mhd2/src/tests/unit/unit_hpack_tables.c
      type_or_value: '"some-header5"                       '
    - item_type: preproc_def
      name: MHDTL_H05V
      pos:
        line_end: 916
        line_start: 915
        source_file: /src/mhd2/src/tests/unit/unit_hpack_tables.c
      type_or_value: '"even longer value of the header5"   '
    - item_type: preproc_def
      name: MHDTL_H06N
      pos:
        line_end: 917
        line_start: 916
        source_file: /src/mhd2/src/tests/unit/unit_hpack_tables.c
      type_or_value: '"longer-name6"       '
    - item_type: preproc_def
      name: MHDTL_H06V
      pos:
        line_end: 918
        line_start: 917
        source_file: /src/mhd2/src/tests/unit/unit_hpack_tables.c
      type_or_value: '"some longer data6"  '
    - item_type: preproc_def
      name: MHDTL_H07N
      pos:
        line_end: 919
        line_start: 918
        source_file: /src/mhd2/src/tests/unit/unit_hpack_tables.c
      type_or_value: '"some-extremely-long-name7"                  '
    - item_type: preproc_def
      name: MHDTL_H07V
      pos:
        line_end: 920
        line_start: 919
        source_file: /src/mhd2/src/tests/unit/unit_hpack_tables.c
      type_or_value: '"some really long value of the header7"      '
    - item_type: preproc_def
      name: MHDTL_H08N
      pos:
        line_end: 921
        line_start: 920
        source_file: /src/mhd2/src/tests/unit/unit_hpack_tables.c
      type_or_value: '"someheader8"        '
    - item_type: preproc_def
      name: MHDTL_H08V
      pos:
        line_end: 922
        line_start: 921
        source_file: /src/mhd2/src/tests/unit/unit_hpack_tables.c
      type_or_value: '"value8"             '
    - item_type: preproc_def
      name: MHDTL_H09N
      pos:
        line_end: 923
        line_start: 922
        source_file: /src/mhd2/src/tests/unit/unit_hpack_tables.c
      type_or_value: '"the-long-long-long-long-long-long-long-name9"       '
    - item_type: preproc_def
      name: MHDTL_H09V
      pos:
        line_end: 927
        line_start: 923
        source_file: /src/mhd2/src/tests/unit/unit_hpack_tables.c
      type_or_value: "\"the header (field) value, with commas and other \" \\\n        \"extra
        characters to make it really huge, larger \" \\\n        \"enough to replace
        all other headers but one, the \" \\\n        \"last one.\"                    "
    - item_type: preproc_def
      name: MHDTL_H10N
      pos:
        line_end: 928
        line_start: 927
        source_file: /src/mhd2/src/tests/unit/unit_hpack_tables.c
      type_or_value: '"the-long-long-long-long-long-long-long-name10"      '
    - item_type: preproc_def
      name: MHDTL_H10V
      pos:
        line_end: 932
        line_start: 928
        source_file: /src/mhd2/src/tests/unit/unit_hpack_tables.c
      type_or_value: "\"the header (field) value, with commas and other \" \\\n        \"extra
        characters to make it really huge, larger \" \\\n        \"enough to replace
        all other headers, leaving space \" \\\n        \"only for a tiny header\"
        \                     "
    - item_type: preproc_def
      name: MHDTL_H11N
      pos:
        line_end: 933
        line_start: 932
        source_file: /src/mhd2/src/tests/unit/unit_hpack_tables.c
      type_or_value: '"a"          '
    - item_type: preproc_def
      name: MHDTL_H11V
      pos:
        line_end: 934
        line_start: 933
        source_file: /src/mhd2/src/tests/unit/unit_hpack_tables.c
      type_or_value: '"B"          '
    - item_type: preproc_def
      name: MHDTL_H12N
      pos:
        line_end: 935
        line_start: 934
        source_file: /src/mhd2/src/tests/unit/unit_hpack_tables.c
      type_or_value: '"c"          '
    - item_type: preproc_def
      name: MHDTL_H12V
      pos:
        line_end: 936
        line_start: 935
        source_file: /src/mhd2/src/tests/unit/unit_hpack_tables.c
      type_or_value: '"D"          '
    - item_type: preproc_def
      name: MHDTL_H13N
      pos:
        line_end: 937
        line_start: 936
        source_file: /src/mhd2/src/tests/unit/unit_hpack_tables.c
      type_or_value: '"e"          '
    - item_type: preproc_def
      name: MHDTL_H13V
      pos:
        line_end: 938
        line_start: 937
        source_file: /src/mhd2/src/tests/unit/unit_hpack_tables.c
      type_or_value: '"F"          '
    - item_type: preproc_def
      name: MHDTL_H14N
      pos:
        line_end: 939
        line_start: 938
        source_file: /src/mhd2/src/tests/unit/unit_hpack_tables.c
      type_or_value: '"g"          '
    - item_type: preproc_def
      name: MHDTL_H14V
      pos:
        line_end: 940
        line_start: 939
        source_file: /src/mhd2/src/tests/unit/unit_hpack_tables.c
      type_or_value: '"H"          '
    - item_type: preproc_def
      name: MHDTL_H15N
      pos:
        line_end: 941
        line_start: 940
        source_file: /src/mhd2/src/tests/unit/unit_hpack_tables.c
      type_or_value: '"i"          '
    - item_type: preproc_def
      name: MHDTL_H15V
      pos:
        line_end: 942
        line_start: 941
        source_file: /src/mhd2/src/tests/unit/unit_hpack_tables.c
      type_or_value: '"J"          '
    - item_type: preproc_def
      name: MHDTL_H16N
      pos:
        line_end: 943
        line_start: 942
        source_file: /src/mhd2/src/tests/unit/unit_hpack_tables.c
      type_or_value: '"k"          '
    - item_type: preproc_def
      name: MHDTL_H16V
      pos:
        line_end: 944
        line_start: 943
        source_file: /src/mhd2/src/tests/unit/unit_hpack_tables.c
      type_or_value: '"L"          '
    - item_type: preproc_def
      name: MHDTL_H17N
      pos:
        line_end: 945
        line_start: 944
        source_file: /src/mhd2/src/tests/unit/unit_hpack_tables.c
      type_or_value: '"m"          '
    - item_type: preproc_def
      name: MHDTL_H17V
      pos:
        line_end: 946
        line_start: 945
        source_file: /src/mhd2/src/tests/unit/unit_hpack_tables.c
      type_or_value: '"N"          '
    - item_type: preproc_def
      name: MHDTL_H18N
      pos:
        line_end: 947
        line_start: 946
        source_file: /src/mhd2/src/tests/unit/unit_hpack_tables.c
      type_or_value: '"name18"     '
    - item_type: preproc_def
      name: MHDTL_H18V
      pos:
        line_end: 948
        line_start: 947
        source_file: /src/mhd2/src/tests/unit/unit_hpack_tables.c
      type_or_value: '"vl18"       '
    - item_type: preproc_def
      name: MHDTL_H19N
      pos:
        line_end: 949
        line_start: 948
        source_file: /src/mhd2/src/tests/unit/unit_hpack_tables.c
      type_or_value: '"o"          '
    - item_type: preproc_def
      name: MHDTL_H19V
      pos:
        line_end: 950
        line_start: 949
        source_file: /src/mhd2/src/tests/unit/unit_hpack_tables.c
      type_or_value: '"P"          '
    - item_type: preproc_def
      name: MHDTL_H20N
      pos:
        line_end: 951
        line_start: 950
        source_file: /src/mhd2/src/tests/unit/unit_hpack_tables.c
      type_or_value: '"m"          '
    - item_type: preproc_def
      name: MHDTL_H20V
      pos:
        line_end: 952
        line_start: 951
        source_file: /src/mhd2/src/tests/unit/unit_hpack_tables.c
      type_or_value: '"N"          '
    - item_type: preproc_def
      name: MHDTL_H01N
      pos:
        line_end: 1822
        line_start: 1821
        source_file: /src/mhd2/src/tests/unit/unit_hpack_tables.c
      type_or_value: '"a"   '
    - item_type: preproc_def
      name: MHDTL_H01V
      pos:
        line_end: 1823
        line_start: 1822
        source_file: /src/mhd2/src/tests/unit/unit_hpack_tables.c
      type_or_value: '"b"   '
    - item_type: preproc_def
      name: MHDTL_H02N
      pos:
        line_end: 1824
        line_start: 1823
        source_file: /src/mhd2/src/tests/unit/unit_hpack_tables.c
      type_or_value: '"cd"  '
    - item_type: preproc_def
      name: MHDTL_H02V
      pos:
        line_end: 1825
        line_start: 1824
        source_file: /src/mhd2/src/tests/unit/unit_hpack_tables.c
      type_or_value: '"ef"  '
    - item_type: preproc_def
      name: MHDTL_H03N
      pos:
        line_end: 1826
        line_start: 1825
        source_file: /src/mhd2/src/tests/unit/unit_hpack_tables.c
      type_or_value: '"header3"             '
    - item_type: preproc_def
      name: MHDTL_H03V
      pos:
        line_end: 1827
        line_start: 1826
        source_file: /src/mhd2/src/tests/unit/unit_hpack_tables.c
      type_or_value: '"value of header3"    '
    - item_type: preproc_def
      name: MHDTL_H04N
      pos:
        line_end: 1828
        line_start: 1827
        source_file: /src/mhd2/src/tests/unit/unit_hpack_tables.c
      type_or_value: '"some-header4"                        '
    - item_type: preproc_def
      name: MHDTL_H04V
      pos:
        line_end: 1829
        line_start: 1828
        source_file: /src/mhd2/src/tests/unit/unit_hpack_tables.c
      type_or_value: '"even longer value of the header4"    '
    structs: []
    typedefs: []
    union: []
- function_names:
  - hex2bin
  - check_digest
  - D_STR_W_LEN
  - bin2hex
  - check_result
  - test1_str
  - test1_bin
  - test2_str
  - test2_bin
  - test_unaligned
  - main
  source_file: /src/mhd2/src/tests/unit/unit_sha256.c
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: SHA256_DIGEST_STRING_SIZE
      pos:
        line_end: 58
        line_start: 57
        source_file: /src/mhd2/src/tests/unit/unit_sha256.c
      type_or_value: (mhd_SHA256_DIGEST_SIZE * 2 + 1)
    - item_type: preproc_def
      name: DATA_POS
      pos:
        line_end: 569
        line_start: 568
        source_file: /src/mhd2/src/tests/unit/unit_sha256.c
      type_or_value: '6'
    - item_type: preproc_def
      name: MAX_OFFSET
      pos:
        line_end: 570
        line_start: 569
        source_file: /src/mhd2/src/tests/unit/unit_sha256.c
      type_or_value: '31'
    structs:
    - fields:
      - name: '*const str'
        type: char
      - name: len
        type: size_t
      item_type: struct
      name: str_with_len
      pos:
        line_end: 122
        line_start: 118
        source_file: /src/mhd2/src/tests/unit/unit_sha256.c
    - fields:
      - name: str_l
        type: struct str_with_len
      - name: digest[mhd_SHA256_DIGEST_SIZE]
        type: uint8_t
      item_type: struct
      name: data_unit1
      pos:
        line_end: 130
        line_start: 126
        source_file: /src/mhd2/src/tests/unit/unit_sha256.c
    - fields:
      - name: bin[512]
        type: uint8_t
      - name: len
        type: size_t
      item_type: struct
      name: bin_with_len
      pos:
        line_end: 192
        line_start: 188
        source_file: /src/mhd2/src/tests/unit/unit_sha256.c
    - fields:
      - name: bin_l
        type: struct bin_with_len
      - name: digest[mhd_SHA256_DIGEST_SIZE]
        type: uint8_t
      item_type: struct
      name: data_unit2
      pos:
        line_end: 198
        line_start: 194
        source_file: /src/mhd2/src/tests/unit/unit_sha256.c
    - fields:
      - name: '*name'
        type: char
      - name: '*input'
        type: char
      - name: '*digest'
        type: char
      item_type: struct
      name: Test
      pos:
        line_end: 639
        line_start: 634
        source_file: /src/mhd2/src/tests/unit/unit_sha256.c
    typedefs: []
    union: []
- function_names:
  - main
  source_file: /src/mhd2/src/tests/unit/unit_str.c
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - MHD_STATICSTR_LEN_
  - expect_result_n
  - expect_result
  - check_result
  - main
  source_file: /src/mhd2/src/tests/unit/unit_str_token_remove.c
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - set_test_locale
  - get_current_locale_str
  - n_prnt
  - D_STR_W_LEN
  - check_eq_strings
  - check_neq_strings
  - check_eq_strings_n
  - check_neq_strings_n
  - run_eq_neq_str_tests
  - main
  source_file: /src/mhd2/src/tests/unit/unit_str_compare.c
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: PRIu64
      pos:
        line_end: 34
        line_start: 33
        source_file: /src/mhd2/src/tests/unit/unit_str_compare.c
      type_or_value: '"llu"'
    - item_type: preproc_def
      name: PRIuPTR
      pos:
        line_end: 35
        line_start: 34
        source_file: /src/mhd2/src/tests/unit/unit_str_compare.c
      type_or_value: '"u"'
    - item_type: preproc_def
      name: PRIX64
      pos:
        line_end: 36
        line_start: 35
        source_file: /src/mhd2/src/tests/unit/unit_str_compare.c
      type_or_value: '"llX"'
    structs:
    - fields:
      - name: '*const str'
        type: char
      - name: len
        type: size_t
      item_type: struct
      name: str_with_len
      pos:
        line_end: 307
        line_start: 303
        source_file: /src/mhd2/src/tests/unit/unit_str_compare.c
    - fields:
      - name: s1
        type: struct str_with_len
      - name: s2
        type: struct str_with_len
      item_type: struct
      name: two_eq_strs
      pos:
        line_end: 319
        line_start: 315
        source_file: /src/mhd2/src/tests/unit/unit_str_compare.c
    - fields:
      - name: s1
        type: struct str_with_len
      - name: s2
        type: struct str_with_len
      - name: dif_pos
        type: size_t
      item_type: struct
      name: two_neq_strs
      pos:
        line_end: 454
        line_start: 449
        source_file: /src/mhd2/src/tests/unit/unit_str_compare.c
    typedefs: []
    union: []
- function_names:
  - print_hex
  - print_mixed
  - basic_data_check
  - perform_single_enc_check
  - check_h2_h_encode_perfect_size
  - check_h2_h_encode_larger_size
  - check_h2_h_encode_smaller_size
  - check_h2_h_encode_fixed_size
  - check_h2_h_encode_fixed_sizes
  - test_encode
  - decode_result_to_string
  - perform_single_dec_valid_check
  - check_h2_h_decode_perfect_size
  - check_h2_h_decode_larger_size
  - check_h2_h_decode_smaller_size
  - check_h2_h_decode_fixed_size
  - check_h2_h_decode_fixed_sizes
  - perform_single_dec_unknow_seq_check
  - check_h2_h_decode_all_one_byte_values
  - check_h2_h_decode_all_two_bytes_values
  - check_h2_h_decode_all_three_bytes_values
  - check_h2_h_decode_all_four_bytes_values
  - test_decode
  - main
  source_file: /src/mhd2/src/tests/unit/unit_h2_huffman_codec.c
  types:
    enum: []
    preproc_defs: []
    structs:
    - fields:
      - name: size
        type: size_t
      - name: data[640]
        type: uint8_t
      item_type: struct
      name: mhdt_HEcondedData
      pos:
        line_end: 69
        line_start: 65
        source_file: /src/mhd2/src/tests/unit/unit_h2_huffman_codec.c
    - fields:
      - name: str
        type: struct MHD_String
      - name: enc
        type: struct mhdt_HEcondedData
      item_type: struct
      name: mhdt_HTestData
      pos:
        line_end: 75
        line_start: 71
        source_file: /src/mhd2/src/tests/unit/unit_h2_huffman_codec.c
    typedefs: []
    union: []
- function_names:
  - set_test_locale
  - get_current_locale_str
  - D_STR_W_LEN
  - check_str_from_uint16
  - check_str_from_uint64
  - check_strx_from_uint32
  - check_str_from_uint8_pad
  - run_str_from_X_tests
  - main
  source_file: /src/mhd2/src/tests/unit/unit_str_from_value.c
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: PRIuFAST64
      pos:
        line_end: 34
        line_start: 33
        source_file: /src/mhd2/src/tests/unit/unit_str_from_value.c
      type_or_value: '"llu"'
    - item_type: preproc_def
      name: PRIuPTR
      pos:
        line_end: 35
        line_start: 34
        source_file: /src/mhd2/src/tests/unit/unit_str_from_value.c
      type_or_value: '"llu"'
    - item_type: preproc_def
      name: PRIXFAST64
      pos:
        line_end: 36
        line_start: 35
        source_file: /src/mhd2/src/tests/unit/unit_str_from_value.c
      type_or_value: '"llX"'
    structs:
    - fields:
      - name: '*const str'
        type: char
      - name: len
        type: size_t
      item_type: struct
      name: str_with_len
      pos:
        line_end: 253
        line_start: 249
        source_file: /src/mhd2/src/tests/unit/unit_str_from_value.c
    - fields:
      - name: str
        type: struct str_with_len
      - name: num_of_digt
        type: size_t
      - name: val
        type: uint_fast64_t
      item_type: struct
      name: str_with_value
      pos:
        line_end: 266
        line_start: 261
        source_file: /src/mhd2/src/tests/unit/unit_str_from_value.c
    typedefs: []
    union: []
- function_names:
  - MHD_STATICSTR_LEN_
  - expect_result_unquote_n
  - expect_result_unquote
  - check_match
  - expect_result_quote_failed_n
  - expect_result_quote_failed
  - check_quote_failed
  - expect_match_caseless_n
  - expect_match_caseless
  - check_match_caseless
  - expect_result_invalid_n
  - expect_result_invalid
  - check_invalid
  - expect_result_unmatch_n
  - expect_result_unmatch
  - check_unmatch
  - expect_result_case_unmatch_n
  - expect_result_case_unmatch
  - check_unmatch_case
  - expect_result_caseless_unmatch_n
  - expect_result_caseless_unmatch
  - check_unmatch_caseless
  - main
  source_file: /src/mhd2/src/tests/unit/unit_str_quote.c
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: TEST_STR_MAX_LEN
      pos:
        line_end: 45
        line_start: 44
        source_file: /src/mhd2/src/tests/unit/unit_str_quote.c
      type_or_value: '1024'
    structs: []
    typedefs: []
    union: []
- function_names:
  - MHD_STATICSTR_LEN_
  - n_prnt
  - expect_decoded_n
  - expect_decoded_arr
  - check_decode_bin
  - expect_failed_n
  - expect_failed
  - check_broken_str
  - main
  source_file: /src/mhd2/src/tests/unit/unit_str_bin_hex.c
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: TEST_BIN_MAX_SIZE
      pos:
        line_end: 95
        line_start: 94
        source_file: /src/mhd2/src/tests/unit/unit_str_bin_hex.c
      type_or_value: (2 * 1024)
    structs: []
    typedefs: []
    union: []
- function_names:
  - MHD_STATICSTR_LEN_
  - n_prnt
  - expect_decoded_n
  - expect_decoded
  - check_decode_str
  - expect_decoded_arr
  - check_decode_bin
  - expect_decoded_bad_n
  - expect_decoded_bad
  - check_decode_bad_str
  - main
  source_file: /src/mhd2/src/tests/unit/unit_str_pct.c
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: TEST_BIN_MAX_SIZE
      pos:
        line_end: 95
        line_start: 94
        source_file: /src/mhd2/src/tests/unit/unit_str_pct.c
      type_or_value: '1024'
    structs: []
    typedefs: []
    union: []
- function_names:
  - MHD_STATICSTR_LEN_
  - expect_result_n
  - expect_result
  - check_result
  - main
  source_file: /src/mhd2/src/tests/unit/unit_str_tokens_remove.c
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - mhd_SSTR_LEN
  - _externalErrorExit_func
  - _mhdErrorExit_func
  - _testErrorLog_func
  - externalErrorExit
  - externalErrorExitDesc
  - testFailedExitDesc
  - mhdErrorExit
  - mhdErrorExitDesc
  - testErrorLog
  - testErrorLogDesc
  - externalErrorExit
  - externalErrorExitDesc
  - testFailedExitDesc
  - mhdErrorExit
  - mhdErrorExitDesc
  - testErrorLog
  - testErrorLogDesc
  - fflush_allstd
  - gnutlscli_connect
  - make_blocking
  - make_nonblocking
  - make_nodelay
  - wr_fd
  - wr_make_blocking
  - wr_make_nonblocking
  - wr_create_plain_sckt
  - wr_create_tls_sckt
  - wr_create_from_plain_sckt
  - wr_is_eof_received
  - wr_wait_socket_ready_noabort_
  - wr_wait_socket_ready_
  - wr_connect_tmo
  - wr_connect
  - wr_handshake_tmo_
  - wr_handshake_
  - wr_send_tmo
  - wr_send
  - wr_recv_tmo
  - wr_recv
  - wr_shutdown_tmo
  - wr_shutdown
  - wr_close
  - send_all
  - send_all_stext
  - recv_hdr
  - recv_all
  - recv_all_stext
  - send_eof
  - receive_eof
  - recv_upg_all
  - recv_upg_all_stext
  - send_upg_all
  - receive_upg_eof
  - run_usock_server
  - run_usock_client
  - upgrade_cb
  - req_handle_upgrade
  - test_upgrade
  - init_test_msg
  - global_test_init
  - global_test_deinit
  - main
  source_file: /src/mhd2/src/tests/upgrade/test_upgrade.c
  types:
    enum:
    - enumerators:
      - name: TLS_CLI_NO_TOOL
        value: '0'
      - name: TLS_CLI_OPENSSL
      - name: TLS_CLI_GNUTLS
      - name: TLS_LIB_GNUTLS
      item_type: enum
      name: tls_tool
      pos:
        line_end: 241
        line_start: 235
        source_file: /src/mhd2/src/tests/upgrade/test_upgrade.c
    - enumerators:
      - name: wr_invalid
        value: '0'
      - name: wr_tls
        value: '2'
      - name: wr_plain
        value: '1'
      item_type: enum
      name: wr_type
      pos:
        line_end: 442
        line_start: 437
        source_file: /src/mhd2/src/tests/upgrade/test_upgrade.c
    - enumerators:
      - name: WR_WAIT_FOR_RECV
        value: '0'
      - name: WR_WAIT_FOR_SEND
        value: '1'
      item_type: enum
      name: wr_wait_for_type
      pos:
        line_end: 655
        line_start: 651
        source_file: /src/mhd2/src/tests/upgrade/test_upgrade.c
    - enumerators:
      - name: test_msg_large_app_data
      - name: test_msg_vlarge_app_data
      - name: test_msg_vlarge_rclient_data
      - name: test_msg_large_rclient_data
      item_type: enum
      name: test_msg_type
      pos:
        line_end: 1783
        line_start: 1777
        source_file: /src/mhd2/src/tests/upgrade/test_upgrade.c
    preproc_defs:
    - item_type: preproc_def
      name: SHUT_WR
      pos:
        line_end: 100
        line_start: 99
        source_file: /src/mhd2/src/tests/upgrade/test_upgrade.c
      type_or_value: SD_SEND
    - item_type: preproc_def
      name: SHUT_RD
      pos:
        line_end: 104
        line_start: 103
        source_file: /src/mhd2/src/tests/upgrade/test_upgrade.c
      type_or_value: SD_RECEIVE
    - item_type: preproc_def
      name: SHUT_RDWR
      pos:
        line_end: 108
        line_start: 107
        source_file: /src/mhd2/src/tests/upgrade/test_upgrade.c
      type_or_value: SD_BOTH
    - item_type: preproc_def
      name: mhdt_SCKT_HARD_ERR
      pos:
        line_end: 113
        line_start: 112
        source_file: /src/mhd2/src/tests/upgrade/test_upgrade.c
      type_or_value: ENETUNREACH
    - item_type: preproc_def
      name: mhdt_SCKT_HARD_ERR
      pos:
        line_end: 115
        line_start: 114
        source_file: /src/mhd2/src/tests/upgrade/test_upgrade.c
      type_or_value: ENOTCONN
    - item_type: preproc_def
      name: mhdt_SCKT_HARD_ERR
      pos:
        line_end: 117
        line_start: 116
        source_file: /src/mhd2/src/tests/upgrade/test_upgrade.c
      type_or_value: ECONNRESET
    - item_type: preproc_def
      name: mhdt_SCKT_HARD_ERR
      pos:
        line_end: 119
        line_start: 118
        source_file: /src/mhd2/src/tests/upgrade/test_upgrade.c
      type_or_value: EPIPE
    - item_type: preproc_def
      name: mhdt_SCKT_HARD_ERR
      pos:
        line_end: 121
        line_start: 120
        source_file: /src/mhd2/src/tests/upgrade/test_upgrade.c
      type_or_value: EBADF
    - item_type: preproc_def
      name: mhdt_SCKT_HARD_ERR
      pos:
        line_end: 123
        line_start: 122
        source_file: /src/mhd2/src/tests/upgrade/test_upgrade.c
      type_or_value: '99 '
    - item_type: preproc_def
      name: mhdt_SCKT_HARD_ERR
      pos:
        line_end: 126
        line_start: 125
        source_file: /src/mhd2/src/tests/upgrade/test_upgrade.c
      type_or_value: WSAENETRESET
    - item_type: preproc_def
      name: mhdt_UPGRADE_PROTOCOL_STR
      pos:
        line_end: 1147
        line_start: 1146
        source_file: /src/mhd2/src/tests/upgrade/test_upgrade.c
      type_or_value: '"MHDT_upgrade_test/2.0"'
    structs:
    - fields:
      - name: fd
        type: MHD_Socket
      - name: t
        type: enum wr_type
      - name: is_nonblocking
        type: bool
      - name: eof_recieved
        type: bool
      item_type: struct
      name: wr_socket
      pos:
        line_end: 478
        line_start: 447
        source_file: /src/mhd2/src/tests/upgrade/test_upgrade.c
    typedefs: []
    union: []
- function_names: []
  source_file: /src/mhd2/src/tests/upgrade/tls_test_keys.h
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - mhd_SSTR_LEN
  - set_self_name
  - detect_cpu_core_count
  - get_cpu_core_count
  - detect_process_cpu_core_count
  - get_process_cpu_core_count
  - get_num_threads
  - get_param_value
  - show_help
  - process_param__all_cpus
  - process_param__threads
  - process_param__thread_per_conn
  - process_param__epoll
  - process_param__poll
  - process_param__select
  - process_param__empty
  - process_param__tiny
  - process_param__medium
  - process_param__large
  - process_param__xlarge
  - process_param__jumbo
  - process_param__shared
  - process_param__single
  - process_param__unique
  - process_param__connections
  - process_param__timeout
  - process_param__date_header
  - process_param__help
  - process_param__version
  - process_short_param
  - process_short_params_str
  - process_long_param
  - process_params
  - print_version
  - print_all_cores_used
  - check_apply_param__all_cpus
  - check_apply_param__threads
  - check_apply_param__thread_per_conn
  - check_param__epoll
  - check_param__poll
  - check_param__select
  - check_param__empty_tiny_medium_large_xlarge_jumbo
  - check_param__shared_single_unique
  - check_param__connections
  - check_apply_params
  - mini_rnd
  - init_response_body_data
  - create_reusable_response_object
  - init_data
  - deinit_data
  - answer_shared_response
  - answer_single_response
  - answer_unique_empty_response
  - answer_unique_tiny_response
  - answer_unique_dyn_response
  - print_perf_warnings
  - get_mhd_poll_func_name
  - get_mhd_bind_port
  - get_mhd_num_threads
  - get_mhd_conn_limit
  - get_mhd_def_timeout
  - get_mhd_suppr_date
  - get_mhd_response_size
  - main
  source_file: /src/mhd2/src/tools/perf_replies.c
  types:
    enum:
    - enumerators:
      - name: PERF_RPL_PARAM_ERROR
      - name: PERF_RPL_PARAM_FULL_STR
      - name: PERF_RPL_PARAM_ONE_CHAR
      - name: PERF_RPL_PARAM_STR_PLUS_NEXT
      item_type: enum
      name: PerfRepl_param_result
      pos:
        line_end: 269
        line_start: 263
        source_file: /src/mhd2/src/tools/perf_replies.c
    preproc_defs:
    - item_type: preproc_def
      name: PERF_RPL_ERR_CODE_BAD_PARAM
      pos:
        line_end: 54
        line_start: 53
        source_file: /src/mhd2/src/tools/perf_replies.c
      type_or_value: '65'
    - item_type: preproc_def
      name: PERF_REPL_PORT_FALLBACK
      pos:
        line_end: 75
        line_start: 74
        source_file: /src/mhd2/src/tools/perf_replies.c
      type_or_value: '48080'
    structs:
    - fields:
      - name: port
        type: unsigned int
      - name: all_cpus
        type: int
      - name: threads
        type: unsigned int
      - name: thread_per_conn
        type: int
      - name: epoll
        type: int
      - name: poll
        type: int
      - name: select
        type: int
      - name: empty
        type: int
      - name: tiny
        type: int
      - name: medium
        type: int
      - name: large
        type: int
      - name: xlarge
        type: int
      - name: jumbo
        type: int
      - name: shared
        type: int
      - name: single
        type: int
      - name: unique
        type: int
      - name: connections
        type: unsigned int
      - name: timeout
        type: unsigned int
      - name: date_header
        type: int
      - name: help
        type: int
      - name: version
        type: int
      item_type: struct
      name: PerfRepl_parameters
      pos:
        line_end: 402
        line_start: 379
        source_file: /src/mhd2/src/tools/perf_replies.c
    typedefs: []
    union: []
- function_names: []
  source_file: /src/mhd2/src/tools/mhdtl_get_cpu_count.h
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: MHDTL_GET_CPU_COUNT_H_
      pos:
        line_end: 48
        line_start: 47
        source_file: /src/mhd2/src/tools/mhdtl_get_cpu_count.h
      type_or_value: '1'
    structs: []
    typedefs: []
    union: []
- function_names:
  - mhdtl_get_proc_cpu_count_sched_getaffinity_
  - mhdtl_get_proc_cpu_count_cpuset_getaffinity_
  - mhdtl_get_proc_cpu_count_sched_getaffinity_np_
  - mhdtl_get_proc_cpu_count_w32_
  - mhdtl_get_proc_cpu_count
  - mhdtl_get_sys_cpu_count_special_api_
  - mhdtl_get_sys_cpu_count_sysctl_
  - mhdtl_get_sys_cpu_count_sysctl_fallback_
  - mhdtl_get_sys_cpu_count_sysconf_
  - mhdtl_get_sys_cpu_count_sysconf_fallback_
  - mhdtl_get_system_cpu_count
  source_file: /src/mhd2/src/tools/mhdtl_get_cpu_count.c
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: WIN32_LEAN_AND_MEAN
      pos:
        line_end: 77
        line_start: 76
        source_file: /src/mhd2/src/tools/mhdtl_get_cpu_count.c
      type_or_value: '1'
    - item_type: preproc_def
      name: ALL_PROCESSOR_GROUPS
      pos:
        line_end: 81
        line_start: 80
        source_file: /src/mhd2/src/tools/mhdtl_get_cpu_count.c
      type_or_value: 0xFFFFu
    - item_type: preproc_def
      name: CPU_SETSIZE
      pos:
        line_end: 97
        line_start: 96
        source_file: /src/mhd2/src/tools/mhdtl_get_cpu_count.c
      type_or_value: (1024)
    - item_type: preproc_def
      name: CPU_SETSIZE_SAFE
      pos:
        line_end: 98
        line_start: 97
        source_file: /src/mhd2/src/tools/mhdtl_get_cpu_count.c
      type_or_value: (64)
    - item_type: preproc_def
      name: CPU_SETSIZE_SAFE
      pos:
        line_end: 100
        line_start: 99
        source_file: /src/mhd2/src/tools/mhdtl_get_cpu_count.c
      type_or_value: CPU_SETSIZE
    - item_type: preproc_def
      name: HAS_DECL_CTL_HW
      pos:
        line_end: 105
        line_start: 104
        source_file: /src/mhd2/src/tools/mhdtl_get_cpu_count.c
      type_or_value: '1'
    - item_type: preproc_def
      name: HAS_DECL_HW_NCPUONLINE
      pos:
        line_end: 109
        line_start: 108
        source_file: /src/mhd2/src/tools/mhdtl_get_cpu_count.c
      type_or_value: '1'
    - item_type: preproc_def
      name: HAS_DECL_HW_AVAILCPU
      pos:
        line_end: 113
        line_start: 112
        source_file: /src/mhd2/src/tools/mhdtl_get_cpu_count.c
      type_or_value: '1'
    - item_type: preproc_def
      name: HAS_DECL_HW_NCPU
      pos:
        line_end: 117
        line_start: 116
        source_file: /src/mhd2/src/tools/mhdtl_get_cpu_count.c
      type_or_value: '1'
    - item_type: preproc_def
      name: HAS_DECL__SC_NPROCESSORS_ONLN
      pos:
        line_end: 121
        line_start: 120
        source_file: /src/mhd2/src/tools/mhdtl_get_cpu_count.c
      type_or_value: '1'
    - item_type: preproc_def
      name: HAS_DECL__SC_NPROC_ONLN
      pos:
        line_end: 125
        line_start: 124
        source_file: /src/mhd2/src/tools/mhdtl_get_cpu_count.c
      type_or_value: '1'
    - item_type: preproc_def
      name: HAS_DECL__SC_CRAY_NCPU
      pos:
        line_end: 129
        line_start: 128
        source_file: /src/mhd2/src/tools/mhdtl_get_cpu_count.c
      type_or_value: '1'
    - item_type: preproc_def
      name: HAS_DECL__SC_NPROCESSORS_CONF
      pos:
        line_end: 133
        line_start: 132
        source_file: /src/mhd2/src/tools/mhdtl_get_cpu_count.c
      type_or_value: '1'
    - item_type: preproc_def
      name: MHDT_MAX_GROUP_COUNT
      pos:
        line_end: 352
        line_start: 351
        source_file: /src/mhd2/src/tools/mhdtl_get_cpu_count.c
      type_or_value: '128'
    structs:
    - fields:
      - name: Mask
        type: KAFFINITY
      - name: Group
        type: WORD
      - name: Reserved[3]
        type: WORD
      item_type: struct
      name: mhdt_GR_AFFINITY
      pos:
        line_end: 404
        line_start: 399
        source_file: /src/mhd2/src/tools/mhdtl_get_cpu_count.c
    typedefs:
    - item_type: typedef
      name: "(WINAPI *GPGA_PTR)(HANDLE hProcess,\n                                      PUSHORT
        GroupCount,\n                                      PUSHORT GroupArray)"
      pos:
        line_end: 377
        line_start: 375
        source_file: /src/mhd2/src/tools/mhdtl_get_cpu_count.c
      type: BOOL
    - item_type: typedef
      name: "(WINAPI *GPDCSM_PTR)(HANDLE Process,\n                                          struct
        mhdt_GR_AFFINITY *CpuSetMasks,\n                                          USHORT
        CpuSetMaskCount,\n                                          USHORT *RequiredMaskCount)"
      pos:
        line_end: 408
        line_start: 405
        source_file: /src/mhd2/src/tools/mhdtl_get_cpu_count.c
      type: BOOL
    - item_type: typedef
      name: "(WINAPI *GTGA_PTR)(HANDLE hThread,\n                                            struct
        mhdt_GR_AFFINITY *\n                                            GroupAffinity)"
      pos:
        line_end: 427
        line_start: 425
        source_file: /src/mhd2/src/tools/mhdtl_get_cpu_count.c
      type: BOOL
    - item_type: typedef
      name: (WINAPI *GAPC_PTR)(WORD GroupNumber)
      pos:
        line_end: 622
        line_start: 622
        source_file: /src/mhd2/src/tools/mhdtl_get_cpu_count.c
      type: DWORD
    - item_type: typedef
      name: (WINAPI *GNSI_PTR)(SYSTEM_INFO *pSysInfo)
      pos:
        line_end: 638
        line_start: 638
        source_file: /src/mhd2/src/tools/mhdtl_get_cpu_count.c
      type: void
    union: []
- function_names:
  - mhdtl_str_to_uint
  source_file: /src/mhd2/src/tools/mhdtl_str_to_uint.h
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: MHDTL_STR_TO_UINT_H_
      pos:
        line_end: 46
        line_start: 45
        source_file: /src/mhd2/src/tools/mhdtl_str_to_uint.h
      type_or_value: '1'
    structs: []
    typedefs: []
    union: []
- function_names:
  - my_asprintf
  - iterate
  - check
  - indent
  - uppercase
  - capitalize
  - lowercase
  - dump_enum
  - var_name
  - dump_union_members
  - dump_union
  - dump_struct
  - dump_option_macros
  - dump_option_static_functions
  - dump_option_documentation_functions
  - dump_setter_assignment
  - dump_option_set_switch
  - parse
  - main
  source_file: /src/mhd2/src/include/options-generator.c
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: MAX_ARGS
      pos:
        line_end: 54
        line_start: 53
        source_file: /src/mhd2/src/include/options-generator.c
      type_or_value: '3'
    structs:
    - fields:
      - name: '*next'
        type: struct Option
      - name: '*name'
        type: char
      - name: value
        type: unsigned int
      - name: '*type'
        type: char
      - name: '*comment'
        type: char
      - name: '*custom_setter'
        type: char
      - name: argc
        type: unsigned int
      - name: '*arguments[MAX_ARGS]'
        type: char
      - name: desc
        type: unsigned int
      - name: '*descriptions[MAX_ARGS]'
        type: char
      - name: '*conditional'
        type: char
      item_type: struct
      name: Option
      pos:
        line_end: 68
        line_start: 55
        source_file: /src/mhd2/src/include/options-generator.c
    typedefs:
    - item_type: typedef
      name: "(*Callback)(const char *name,\n            unsigned int value,\n            const
        char *comment,\n            const char *type,\n            const char *conditional,\n
        \           const char *custom_setter,\n            unsigned int argc,\n            char
        **arguments,\n            unsigned int desc,\n            char **descriptions)"
      pos:
        line_end: 84
        line_start: 74
        source_file: /src/mhd2/src/include/options-generator.c
      type: void
    union: []
- function_names:
  - MHD_STATIC_CAST_
  - MHD_STATIC_CAST_
  - MHD_MACRO_STR__
  - MHD_MACRO_STR_
  - MHD_MACRO_CAT__
  - MHD_MACRO_CAT_
  - MHD_GNUC_MINV
  - MHD_GNUC_MINV
  - MHD_CLANG_MINV
  - MHD_CLANG_MINV
  - MHD_MSC_MINV
  - MHD_MSC_MINV
  - MHD_C_MINV
  - MHD_C_MINV
  - MHD_CXX_MINV
  - MHD_CXX_MINV
  - MHD_CXX_MINV
  - MHD_WARN_IGNORE_
  - MHD_WARN_IGNORE_
  - MHD_WARN_IGNORE_
  - MHD_DEPR_MACRO_
  - MHD_DEPR_IN_MACRO_
  - MHD_DEPR_MACRO_
  - MHD_DEPR_IN_MACRO_
  - MHD_DEPR_MACRO_
  - MHD_DEPR_IN_MACRO_
  - MHD_DEPR_MACRO_
  - MHD_DEPR_MACRO_
  - MHD_DEPR_IN_MACRO_
  - MHD_DEPR_FUNC_
  - MHD_DEPR_FUNC_
  - MHD_DEPR_FUNC_
  - MHD_DEPR_FUNC_
  - MHD_FN_PAR_NONNULL_
  - MHD_FN_PAR_IN_
  - MHD_FN_PAR_IN_SIZE_
  - MHD_FN_PAR_OUT_
  - MHD_FN_PAR_OUT_SIZE_
  - MHD_FN_PAR_INOUT_
  - MHD_FN_PAR_INOUT_SIZE_
  - MHD_FN_PAR_FD_READ_
  - MHD_FN_PAR_CSTR_
  - MHD_FN_PAR_DYN_ARR_SIZE_
  - MHD_FN_PAR_DYN_ARR_SIZE_
  - MHD_FN_PAR_FIX_ARR_SIZE_
  - MHD_FN_PAR_FIX_ARR_SIZE_
  source_file: /src/mhd2/src/include/microhttpd2_portability.h
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: MICROHTTPD2_PORTABILITY_H
      pos:
        line_end: 40
        line_start: 39
        source_file: /src/mhd2/src/include/microhttpd2_portability.h
      type_or_value: '1'
    - item_type: preproc_def
      name: MHD_OPTIONS_ARRAY_MAX_SIZE
      pos:
        line_end: 54
        line_start: 52
        source_file: /src/mhd2/src/include/microhttpd2_portability.h
      type_or_value: MHD_STATIC_CAST_ (size_t,~MHD_STATIC_CAST_(size_t, 0))
    - item_type: preproc_def
      name: MHD_EXTERN_
      pos:
        line_end: 60
        line_start: 59
        source_file: /src/mhd2/src/include/microhttpd2_portability.h
      type_or_value: extern
    - item_type: preproc_def
      name: MHD_EXTERN_
      pos:
        line_end: 62
        line_start: 61
        source_file: /src/mhd2/src/include/microhttpd2_portability.h
      type_or_value: extern __declspec(dllimport)
    - item_type: preproc_def
      name: MHD_HAS_MSC_EXTENSION
      pos:
        line_end: 100
        line_start: 99
        source_file: /src/mhd2/src/include/microhttpd2_portability.h
      type_or_value: '1'
    - item_type: preproc_def
      name: MHD_C_MINV_99
      pos:
        line_end: 112
        line_start: 111
        source_file: /src/mhd2/src/include/microhttpd2_portability.h
      type_or_value: MHD_C_MINV (199901)
    - item_type: preproc_def
      name: MHD_C_MINV_11
      pos:
        line_end: 113
        line_start: 112
        source_file: /src/mhd2/src/include/microhttpd2_portability.h
      type_or_value: MHD_C_MINV (201112)
    - item_type: preproc_def
      name: MHD_C_MINV_23
      pos:
        line_end: 114
        line_start: 113
        source_file: /src/mhd2/src/include/microhttpd2_portability.h
      type_or_value: MHD_C_MINV (202311)
    - item_type: preproc_def
      name: MHD_USE_COMPOUND_LITERALS
      pos:
        line_end: 130
        line_start: 129
        source_file: /src/mhd2/src/include/microhttpd2_portability.h
      type_or_value: '1'
    - item_type: preproc_def
      name: MHD_USE_COMPOUND_LITERALS
      pos:
        line_end: 133
        line_start: 132
        source_file: /src/mhd2/src/include/microhttpd2_portability.h
      type_or_value: '1'
    - item_type: preproc_def
      name: MHD_USE_COMPOUND_LITERALS_EXT
      pos:
        line_end: 135
        line_start: 134
        source_file: /src/mhd2/src/include/microhttpd2_portability.h
      type_or_value: '1'
    - item_type: preproc_def
      name: MHD_USE_COMPOUND_LITERALS
      pos:
        line_end: 138
        line_start: 137
        source_file: /src/mhd2/src/include/microhttpd2_portability.h
      type_or_value: '1'
    - item_type: preproc_def
      name: MHD_USE_COMPOUND_LITERALS_EXT
      pos:
        line_end: 140
        line_start: 139
        source_file: /src/mhd2/src/include/microhttpd2_portability.h
      type_or_value: '1'
    - item_type: preproc_def
      name: MHD_NO_COMPOUND_LITERALS
      pos:
        line_end: 143
        line_start: 142
        source_file: /src/mhd2/src/include/microhttpd2_portability.h
      type_or_value: '1'
    - item_type: preproc_def
      name: MHD_USE_COMP_LIT_FUNC_PARAMS
      pos:
        line_end: 156
        line_start: 155
        source_file: /src/mhd2/src/include/microhttpd2_portability.h
      type_or_value: '1'
    - item_type: preproc_def
      name: MHD_USE_COMP_LIT_FUNC_PARAMS
      pos:
        line_end: 159
        line_start: 158
        source_file: /src/mhd2/src/include/microhttpd2_portability.h
      type_or_value: '1'
    - item_type: preproc_def
      name: MHD_NO_COMP_LIT_FUNC_PARAMS
      pos:
        line_end: 162
        line_start: 161
        source_file: /src/mhd2/src/include/microhttpd2_portability.h
      type_or_value: '1'
    - item_type: preproc_def
      name: MHD_NO_COMP_LIT_FUNC_PARAMS
      pos:
        line_end: 171
        line_start: 170
        source_file: /src/mhd2/src/include/microhttpd2_portability.h
      type_or_value: '1'
    - item_type: preproc_def
      name: MHD_USE_DESIGNATED_INIT
      pos:
        line_end: 182
        line_start: 181
        source_file: /src/mhd2/src/include/microhttpd2_portability.h
      type_or_value: '1'
    - item_type: preproc_def
      name: MHD_USE_DESIGNATED_INIT
      pos:
        line_end: 184
        line_start: 183
        source_file: /src/mhd2/src/include/microhttpd2_portability.h
      type_or_value: '1'
    - item_type: preproc_def
      name: MHD_USE_DESIGNATED_INIT
      pos:
        line_end: 189
        line_start: 188
        source_file: /src/mhd2/src/include/microhttpd2_portability.h
      type_or_value: '1'
    - item_type: preproc_def
      name: MHD_USE_DESIGNATED_INIT_EXT
      pos:
        line_end: 191
        line_start: 190
        source_file: /src/mhd2/src/include/microhttpd2_portability.h
      type_or_value: '1'
    - item_type: preproc_def
      name: MHD_USE_DESIGNATED_INIT
      pos:
        line_end: 193
        line_start: 192
        source_file: /src/mhd2/src/include/microhttpd2_portability.h
      type_or_value: '1'
    - item_type: preproc_def
      name: MHD_USE_DESIGNATED_INIT_EXT
      pos:
        line_end: 195
        line_start: 194
        source_file: /src/mhd2/src/include/microhttpd2_portability.h
      type_or_value: '1'
    - item_type: preproc_def
      name: MHD_NO_DESIGNATED_INIT
      pos:
        line_end: 198
        line_start: 197
        source_file: /src/mhd2/src/include/microhttpd2_portability.h
      type_or_value: '1'
    - item_type: preproc_def
      name: MHD_USE_DESIG_NEST_INIT
      pos:
        line_end: 211
        line_start: 210
        source_file: /src/mhd2/src/include/microhttpd2_portability.h
      type_or_value: '1'
    - item_type: preproc_def
      name: MHD_NO_DESIG_NEST_INIT
      pos:
        line_end: 219
        line_start: 218
        source_file: /src/mhd2/src/include/microhttpd2_portability.h
      type_or_value: '1'
    - item_type: preproc_def
      name: MHD_USE_CPP_INIT_LIST
      pos:
        line_end: 227
        line_start: 226
        source_file: /src/mhd2/src/include/microhttpd2_portability.h
      type_or_value: '1'
    - item_type: preproc_def
      name: MHD_NO_CPP_INIT_LIST
      pos:
        line_end: 229
        line_start: 228
        source_file: /src/mhd2/src/include/microhttpd2_portability.h
      type_or_value: '1'
    - item_type: preproc_def
      name: MHD_USE_VARARG_MACROS
      pos:
        line_end: 240
        line_start: 239
        source_file: /src/mhd2/src/include/microhttpd2_portability.h
      type_or_value: '1'
    - item_type: preproc_def
      name: MHD_USE_VARARG_MACROS
      pos:
        line_end: 242
        line_start: 241
        source_file: /src/mhd2/src/include/microhttpd2_portability.h
      type_or_value: '1'
    - item_type: preproc_def
      name: MHD_USE_VARARG_MACROS
      pos:
        line_end: 245
        line_start: 244
        source_file: /src/mhd2/src/include/microhttpd2_portability.h
      type_or_value: '1'
    - item_type: preproc_def
      name: MHD_USE_VARARG_MACROS_EXT
      pos:
        line_end: 247
        line_start: 246
        source_file: /src/mhd2/src/include/microhttpd2_portability.h
      type_or_value: '1'
    - item_type: preproc_def
      name: MHD_USE_VARARG_MACROS
      pos:
        line_end: 249
        line_start: 248
        source_file: /src/mhd2/src/include/microhttpd2_portability.h
      type_or_value: '1'
    - item_type: preproc_def
      name: MHD_USE_VARARG_MACROS_EXT
      pos:
        line_end: 251
        line_start: 250
        source_file: /src/mhd2/src/include/microhttpd2_portability.h
      type_or_value: '1'
    - item_type: preproc_def
      name: MHD_NO_VARARG_MACROS
      pos:
        line_end: 254
        line_start: 253
        source_file: /src/mhd2/src/include/microhttpd2_portability.h
      type_or_value: '1'
    - item_type: preproc_def
      name: MHD_USE_VLA_TYPES
      pos:
        line_end: 266
        line_start: 265
        source_file: /src/mhd2/src/include/microhttpd2_portability.h
      type_or_value: '1'
    - item_type: preproc_def
      name: MHD_NO_VLA_TYPES
      pos:
        line_end: 268
        line_start: 267
        source_file: /src/mhd2/src/include/microhttpd2_portability.h
      type_or_value: '1'
    - item_type: preproc_def
      name: MHD_NO_VLA_TYPES
      pos:
        line_end: 270
        line_start: 269
        source_file: /src/mhd2/src/include/microhttpd2_portability.h
      type_or_value: '1'
    - item_type: preproc_def
      name: MHD_USE_VLA_TYPES
      pos:
        line_end: 273
        line_start: 272
        source_file: /src/mhd2/src/include/microhttpd2_portability.h
      type_or_value: '1'
    - item_type: preproc_def
      name: MHD_NO_VLA_TYPES
      pos:
        line_end: 276
        line_start: 275
        source_file: /src/mhd2/src/include/microhttpd2_portability.h
      type_or_value: '1'
    - item_type: preproc_def
      name: MHD_INLINE
      pos:
        line_end: 286
        line_start: 285
        source_file: /src/mhd2/src/include/microhttpd2_portability.h
      type_or_value: inline
    - item_type: preproc_def
      name: MHD_INLINE
      pos:
        line_end: 289
        line_start: 288
        source_file: /src/mhd2/src/include/microhttpd2_portability.h
      type_or_value: inline
    - item_type: preproc_def
      name: MHD_INLINE
      pos:
        line_end: 292
        line_start: 291
        source_file: /src/mhd2/src/include/microhttpd2_portability.h
      type_or_value: inline
    - item_type: preproc_def
      name: MHD_INLINE
      pos:
        line_end: 294
        line_start: 293
        source_file: /src/mhd2/src/include/microhttpd2_portability.h
      type_or_value: __inline__
    - item_type: preproc_def
      name: MHD_INLINE
      pos:
        line_end: 296
        line_start: 295
        source_file: /src/mhd2/src/include/microhttpd2_portability.h
      type_or_value: __inline
    - item_type: preproc_def
      name: MHD_RESTRICT
      pos:
        line_end: 305
        line_start: 304
        source_file: /src/mhd2/src/include/microhttpd2_portability.h
      type_or_value: restrict
    - item_type: preproc_def
      name: MHD_RESTRICT
      pos:
        line_end: 308
        line_start: 307
        source_file: /src/mhd2/src/include/microhttpd2_portability.h
      type_or_value: restrict
    - item_type: preproc_def
      name: MHD_RESTRICT
      pos:
        line_end: 311
        line_start: 310
        source_file: /src/mhd2/src/include/microhttpd2_portability.h
      type_or_value: __restrict__
    - item_type: preproc_def
      name: MHD_RESTRICT
      pos:
        line_end: 313
        line_start: 312
        source_file: /src/mhd2/src/include/microhttpd2_portability.h
      type_or_value: __restrict
    - item_type: preproc_def
      name: MHD_WARN_PUSH_
      pos:
        line_end: 324
        line_start: 323
        source_file: /src/mhd2/src/include/microhttpd2_portability.h
      type_or_value: _Pragma("GCC diagnostic push")
    - item_type: preproc_def
      name: MHD_WARN_POP_
      pos:
        line_end: 325
        line_start: 324
        source_file: /src/mhd2/src/include/microhttpd2_portability.h
      type_or_value: _Pragma("GCC diagnostic pop")
    - item_type: preproc_def
      name: MHD_WARN_IGNORE_STYLE_GCC
      pos:
        line_end: 326
        line_start: 325
        source_file: /src/mhd2/src/include/microhttpd2_portability.h
      type_or_value: '1'
    - item_type: preproc_def
      name: MHD_NOWARN_VARIADIC_MACROS_
      pos:
        line_end: 331
        line_start: 329
        source_file: /src/mhd2/src/include/microhttpd2_portability.h
      type_or_value: MHD_WARN_PUSH_ MHD_WARN_IGNORE_ ("-Wvariadic-macros")
    - item_type: preproc_def
      name: MHD_RESTORE_WARN_VARIADIC_MACROS_
      pos:
        line_end: 332
        line_start: 331
        source_file: /src/mhd2/src/include/microhttpd2_portability.h
      type_or_value: MHD_WARN_POP_
    - item_type: preproc_def
      name: MHD_NOWARN_UNUSED_FUNC_
      pos:
        line_end: 335
        line_start: 333
        source_file: /src/mhd2/src/include/microhttpd2_portability.h
      type_or_value: MHD_WARN_PUSH_ MHD_WARN_IGNORE_ ("-Wunused-function")
    - item_type: preproc_def
      name: MHD_RESTORE_WARN_UNUSED_FUNC_
      pos:
        line_end: 336
        line_start: 335
        source_file: /src/mhd2/src/include/microhttpd2_portability.h
      type_or_value: MHD_WARN_POP_
    - item_type: preproc_def
      name: MHD_NOWARN_AGGR_DYN_INIT_
      pos:
        line_end: 340
        line_start: 338
        source_file: /src/mhd2/src/include/microhttpd2_portability.h
      type_or_value: MHD_WARN_PUSH_ MHD_WARN_IGNORE_ ("-Wpedantic")
    - item_type: preproc_def
      name: MHD_RESTORE_WARN_AGGR_DYN_INIT_
      pos:
        line_end: 341
        line_start: 340
        source_file: /src/mhd2/src/include/microhttpd2_portability.h
      type_or_value: MHD_WARN_POP_
    - item_type: preproc_def
      name: MHD_NOWARN_COMPOUND_LITERALS_
      pos:
        line_end: 346
        line_start: 345
        source_file: /src/mhd2/src/include/microhttpd2_portability.h
      type_or_value: __extension__
    - item_type: preproc_def
      name: MHD_WARN_PUSH_
      pos:
        line_end: 350
        line_start: 349
        source_file: /src/mhd2/src/include/microhttpd2_portability.h
      type_or_value: _Pragma("clang diagnostic push")
    - item_type: preproc_def
      name: MHD_WARN_POP_
      pos:
        line_end: 351
        line_start: 350
        source_file: /src/mhd2/src/include/microhttpd2_portability.h
      type_or_value: _Pragma("clang diagnostic pop")
    - item_type: preproc_def
      name: MHD_WARN_IGNORE_STYLE_GCC
      pos:
        line_end: 352
        line_start: 351
        source_file: /src/mhd2/src/include/microhttpd2_portability.h
      type_or_value: '1'
    - item_type: preproc_def
      name: MHD_NOWARN_VARIADIC_MACROS_
      pos:
        line_end: 359
        line_start: 355
        source_file: /src/mhd2/src/include/microhttpd2_portability.h
      type_or_value: "MHD_WARN_PUSH_ \\\n              MHD_WARN_IGNORE_ (\"-Wvariadic-macros\")
        \\\n              MHD_WARN_IGNORE_ (\"-Wc++98-compat-pedantic\")"
    - item_type: preproc_def
      name: MHD_RESTORE_WARN_VARIADIC_MACROS_
      pos:
        line_end: 360
        line_start: 359
        source_file: /src/mhd2/src/include/microhttpd2_portability.h
      type_or_value: MHD_WARN_POP_
    - item_type: preproc_def
      name: MHD_NOWARN_VARIADIC_MACROS_
      pos:
        line_end: 363
        line_start: 361
        source_file: /src/mhd2/src/include/microhttpd2_portability.h
      type_or_value: MHD_WARN_PUSH_ MHD_WARN_IGNORE_ ("-Wc++98-compat-pedantic")
    - item_type: preproc_def
      name: MHD_RESTORE_WARN_VARIADIC_MACROS_
      pos:
        line_end: 364
        line_start: 363
        source_file: /src/mhd2/src/include/microhttpd2_portability.h
      type_or_value: MHD_WARN_POP_
    - item_type: preproc_def
      name: MHD_NOWARN_CPP_INIT_LIST_
      pos:
        line_end: 368
        line_start: 366
        source_file: /src/mhd2/src/include/microhttpd2_portability.h
      type_or_value: MHD_WARN_PUSH_ MHD_WARN_IGNORE_ ("-Wc++98-compat")
    - item_type: preproc_def
      name: MHD_RESTORE_WARN_CPP_INIT_LIST_
      pos:
        line_end: 369
        line_start: 368
        source_file: /src/mhd2/src/include/microhttpd2_portability.h
      type_or_value: MHD_WARN_POP_
    - item_type: preproc_def
      name: MHD_NOWARN_COMPOUND_LITERALS_
      pos:
        line_end: 373
        line_start: 371
        source_file: /src/mhd2/src/include/microhttpd2_portability.h
      type_or_value: MHD_WARN_PUSH_ MHD_WARN_IGNORE_ ("-Wc99-extensions")
    - item_type: preproc_def
      name: MHD_RESTORE_WARN_COMPOUND_LITERALS_
      pos:
        line_end: 374
        line_start: 373
        source_file: /src/mhd2/src/include/microhttpd2_portability.h
      type_or_value: MHD_WARN_POP_
    - item_type: preproc_def
      name: MHD_NOWARN_UNUSED_FUNC_
      pos:
        line_end: 377
        line_start: 375
        source_file: /src/mhd2/src/include/microhttpd2_portability.h
      type_or_value: MHD_WARN_PUSH_ MHD_WARN_IGNORE_ ("-Wunused-function")
    - item_type: preproc_def
      name: MHD_RESTORE_WARN_UNUSED_FUNC_
      pos:
        line_end: 378
        line_start: 377
        source_file: /src/mhd2/src/include/microhttpd2_portability.h
      type_or_value: MHD_WARN_POP_
    - item_type: preproc_def
      name: MHD_NOWARN_AGGR_DYN_INIT_
      pos:
        line_end: 381
        line_start: 379
        source_file: /src/mhd2/src/include/microhttpd2_portability.h
      type_or_value: MHD_WARN_PUSH_ MHD_WARN_IGNORE_ ("-Wc99-extensions")
    - item_type: preproc_def
      name: MHD_RESTORE_WARN_AGGR_DYN_INIT_
      pos:
        line_end: 382
        line_start: 381
        source_file: /src/mhd2/src/include/microhttpd2_portability.h
      type_or_value: MHD_WARN_POP_
    - item_type: preproc_def
      name: MHD_WARN_PUSH_
      pos:
        line_end: 385
        line_start: 384
        source_file: /src/mhd2/src/include/microhttpd2_portability.h
      type_or_value: __pragma(warning(push))
    - item_type: preproc_def
      name: MHD_WARN_POP_
      pos:
        line_end: 386
        line_start: 385
        source_file: /src/mhd2/src/include/microhttpd2_portability.h
      type_or_value: __pragma(warning(pop))
    - item_type: preproc_def
      name: MHD_NOWARN_UNUSED_FUNC_
      pos:
        line_end: 389
        line_start: 387
        source_file: /src/mhd2/src/include/microhttpd2_portability.h
      type_or_value: MHD_WARN_PUSH_ MHD_WARN_IGNORE_ (4505) MHD_WARN_IGNORE_ (4514)
    - item_type: preproc_def
      name: MHD_RESTORE_WARN_UNUSED_FUNC_
      pos:
        line_end: 390
        line_start: 389
        source_file: /src/mhd2/src/include/microhttpd2_portability.h
      type_or_value: MHD_WARN_POP_
    - item_type: preproc_def
      name: MHD_NOWARN_AGGR_DYN_INIT_
      pos:
        line_end: 393
        line_start: 391
        source_file: /src/mhd2/src/include/microhttpd2_portability.h
      type_or_value: MHD_WARN_PUSH_ MHD_WARN_IGNORE_ (4204)
    - item_type: preproc_def
      name: MHD_RESTORE_WARN_AGGR_DYN_INIT_
      pos:
        line_end: 394
        line_start: 393
        source_file: /src/mhd2/src/include/microhttpd2_portability.h
      type_or_value: MHD_WARN_POP_
    - item_type: preproc_def
      name: MHD_NOWARN_EXPRESSION_
      pos:
        line_end: 401
        line_start: 400
        source_file: /src/mhd2/src/include/microhttpd2_portability.h
      type_or_value: __extension__
    - item_type: preproc_def
      name: MHD_HAS_NOWARN_EXPRESSION_
      pos:
        line_end: 403
        line_start: 402
        source_file: /src/mhd2/src/include/microhttpd2_portability.h
      type_or_value: '1'
    - item_type: preproc_def
      name: MHD_HAS_NOWARN_UNUSED_FUNC_
      pos:
        line_end: 440
        line_start: 439
        source_file: /src/mhd2/src/include/microhttpd2_portability.h
      type_or_value: '1'
    - item_type: preproc_def
      name: MHD_STATIC_INLINE_
      pos:
        line_end: 459
        line_start: 458
        source_file: /src/mhd2/src/include/microhttpd2_portability.h
      type_or_value: MHD_NOWARN_UNUSED_FUNC_ static MHD_INLINE
    - item_type: preproc_def
      name: MHD_STATIC_INLINE_END_
      pos:
        line_end: 463
        line_start: 462
        source_file: /src/mhd2/src/include/microhttpd2_portability.h
      type_or_value: MHD_RESTORE_WARN_UNUSED_FUNC_
    - item_type: preproc_def
      name: MHD_STATIC_INLINE_
      pos:
        line_end: 471
        line_start: 470
        source_file: /src/mhd2/src/include/microhttpd2_portability.h
      type_or_value: MHD_NOWARN_EXPRESSION_ static MHD_INLINE
    - item_type: preproc_def
      name: MHD_NO_DEPR_IN_MACRO_
      pos:
        line_end: 483
        line_start: 482
        source_file: /src/mhd2/src/include/microhttpd2_portability.h
      type_or_value: '1'
    - item_type: preproc_def
      name: MHD_NO_DEPR_FUNC_
      pos:
        line_end: 485
        line_start: 484
        source_file: /src/mhd2/src/include/microhttpd2_portability.h
      type_or_value: '1'
    - item_type: preproc_def
      name: MHD_NO_DEPR_IN_MACRO_
      pos:
        line_end: 547
        line_start: 546
        source_file: /src/mhd2/src/include/microhttpd2_portability.h
      type_or_value: '1'
    - item_type: preproc_def
      name: MHD_NO_DEPR_FUNC_
      pos:
        line_end: 552
        line_start: 551
        source_file: /src/mhd2/src/include/microhttpd2_portability.h
      type_or_value: '1'
    - item_type: preproc_def
      name: MHD_FIXED_ENUM_
      pos:
        line_end: 560
        line_start: 559
        source_file: /src/mhd2/src/include/microhttpd2_portability.h
      type_or_value: __attribute__((enum_extensibility (closed)))
    - item_type: preproc_def
      name: MHD_FLAGS_ENUM_
      pos:
        line_end: 566
        line_start: 565
        source_file: /src/mhd2/src/include/microhttpd2_portability.h
      type_or_value: __attribute__((flag_enum))
    - item_type: preproc_def
      name: MHD_FIXED_FLAGS_ENUM_
      pos:
        line_end: 579
        line_start: 578
        source_file: /src/mhd2/src/include/microhttpd2_portability.h
      type_or_value: MHD_FIXED_ENUM_ MHD_FLAGS_ENUM_
    - item_type: preproc_def
      name: MHD_FIXED_ENUM_APP_SET_
      pos:
        line_end: 584
        line_start: 583
        source_file: /src/mhd2/src/include/microhttpd2_portability.h
      type_or_value: MHD_FIXED_ENUM_
    - item_type: preproc_def
      name: MHD_FLAGS_ENUM_APP_SET_
      pos:
        line_end: 589
        line_start: 588
        source_file: /src/mhd2/src/include/microhttpd2_portability.h
      type_or_value: MHD_FLAGS_ENUM_
    - item_type: preproc_def
      name: MHD_FIXED_FLAGS_ENUM_APP_SET_
      pos:
        line_end: 594
        line_start: 593
        source_file: /src/mhd2/src/include/microhttpd2_portability.h
      type_or_value: MHD_FIXED_FLAGS_ENUM_
    - item_type: preproc_def
      name: MHD_FLAGS_ENUM_MHD_SET_
      pos:
        line_end: 604
        line_start: 603
        source_file: /src/mhd2/src/include/microhttpd2_portability.h
      type_or_value: MHD_FLAGS_ENUM_
    - item_type: preproc_def
      name: MHD_FIXED_FLAGS_ENUM_MHD_SET_
      pos:
        line_end: 609
        line_start: 608
        source_file: /src/mhd2/src/include/microhttpd2_portability.h
      type_or_value: 'MHD_FLAGS_ENUM_ '
    - item_type: preproc_def
      name: MHD_FLAGS_ENUM_MHD_APP_SET_
      pos:
        line_end: 619
        line_start: 618
        source_file: /src/mhd2/src/include/microhttpd2_portability.h
      type_or_value: MHD_FLAGS_ENUM_
    - item_type: preproc_def
      name: MHD_FIXED_FLAGS_ENUM_MHD_APP_SET_
      pos:
        line_end: 624
        line_start: 623
        source_file: /src/mhd2/src/include/microhttpd2_portability.h
      type_or_value: 'MHD_FLAGS_ENUM_ '
    - item_type: preproc_def
      name: MHD_FN_PURE_
      pos:
        line_end: 644
        line_start: 643
        source_file: /src/mhd2/src/include/microhttpd2_portability.h
      type_or_value: __attribute__ ((pure))
    - item_type: preproc_def
      name: MHD_FN_CONST_
      pos:
        line_end: 662
        line_start: 661
        source_file: /src/mhd2/src/include/microhttpd2_portability.h
      type_or_value: __attribute__ ((const))
    - item_type: preproc_def
      name: MHD_FN_CONST_
      pos:
        line_end: 664
        line_start: 663
        source_file: /src/mhd2/src/include/microhttpd2_portability.h
      type_or_value: MHD_FN_PURE_
    - item_type: preproc_def
      name: MHD_FN_RETURNS_NONNULL_
      pos:
        line_end: 675
        line_start: 674
        source_file: /src/mhd2/src/include/microhttpd2_portability.h
      type_or_value: __attribute__ ((returns_nonnull))
    - item_type: preproc_def
      name: MHD_FN_MUST_CHECK_RESULT_
      pos:
        line_end: 686
        line_start: 685
        source_file: /src/mhd2/src/include/microhttpd2_portability.h
      type_or_value: __attribute__ ((warn_unused_result))
    - item_type: preproc_def
      name: MHD_FN_PAR_NONNULL_ALL_
      pos:
        line_end: 709
        line_start: 708
        source_file: /src/mhd2/src/include/microhttpd2_portability.h
      type_or_value: __attribute__ ((nonnull))
    structs: []
    typedefs: []
    union: []
- function_names:
  - MHD_D_OPTION_WORK_MODE
  - MHD_D_OPTION_POLL_SYSCALL
  - MHD_D_OPTION_REREGISTER_ALL
  - MHD_D_OPTION_LOG_CALLBACK
  - MHD_D_OPTION_BIND_PORT
  - MHD_D_OPTION_BIND_SA
  - MHD_D_OPTION_LISTEN_SOCKET
  - MHD_D_OPTION_LISTEN_ADDR_REUSE
  - MHD_D_OPTION_TCP_FASTOPEN
  - MHD_D_OPTION_LISTEN_BACKLOG
  - MHD_D_OPTION_SIGPIPE_SUPPRESSED
  - MHD_D_OPTION_TLS
  - MHD_D_OPTION_TLS_CERT_KEY
  - MHD_D_OPTION_TLS_CLIENT_CA
  - MHD_D_OPTION_TLS_PSK_CALLBACK
  - MHD_D_OPTION_NO_ALPN
  - MHD_D_OPTION_TLS_APP_NAME
  - MHD_D_OPTION_TLS_OPENSSL_DEF_FILE
  - MHD_D_OPTION_DEFAULT_TIMEOUT_MILSEC
  - MHD_D_OPTION_GLOBAL_CONNECTION_LIMIT
  - MHD_D_OPTION_PER_IP_LIMIT
  - MHD_D_OPTION_ACCEPT_POLICY
  - MHD_D_OPTION_CONN_BUFF_ZEROING
  - MHD_D_OPTION_PROTOCOL_STRICT_LEVEL
  - MHD_D_OPTION_EARLY_URI_LOGGER
  - MHD_D_OPTION_DISABLE_URI_QUERY_PLUS_AS_SPACE
  - MHD_D_OPTION_SUPPRESS_DATE_HEADER
  - MHD_D_OPTION_ENABLE_SHOUTCAST
  - MHD_D_OPTION_CONN_MEMORY_LIMIT
  - MHD_D_OPTION_LARGE_POOL_SIZE
  - MHD_D_OPTION_STACK_SIZE
  - MHD_D_OPTION_FD_NUMBER_LIMIT
  - MHD_D_OPTION_TURBO
  - MHD_D_OPTION_DISABLE_THREAD_SAFETY
  - MHD_D_OPTION_DISALLOW_UPGRADE
  - MHD_D_OPTION_DISALLOW_SUSPEND_RESUME
  - MHD_D_OPTION_DISABLE_COOKIES
  - MHD_D_OPTION_DAEMON_READY_CALLBACK
  - MHD_D_OPTION_NOTIFY_CONNECTION
  - MHD_D_OPTION_NOTIFY_STREAM
  - MHD_D_OPTION_RANDOM_ENTROPY
  - MHD_D_OPTION_AUTH_DIGEST_MAP_SIZE
  - MHD_D_OPTION_AUTH_DIGEST_NONCE_TIMEOUT
  - MHD_D_OPTION_AUTH_DIGEST_DEF_MAX_NC
  - MHD_D_OPTION_TERMINATE
  - MHD_D_OPTION_WORK_MODE
  - MHD_D_OPTION_POLL_SYSCALL
  - MHD_D_OPTION_REREGISTER_ALL
  - MHD_D_OPTION_LOG_CALLBACK
  - MHD_D_OPTION_BIND_PORT
  - MHD_D_OPTION_BIND_SA
  - MHD_D_OPTION_LISTEN_SOCKET
  - MHD_D_OPTION_LISTEN_ADDR_REUSE
  - MHD_D_OPTION_TCP_FASTOPEN
  - MHD_D_OPTION_LISTEN_BACKLOG
  - MHD_D_OPTION_SIGPIPE_SUPPRESSED
  - MHD_D_OPTION_TLS
  - MHD_D_OPTION_TLS_CERT_KEY
  - MHD_D_OPTION_TLS_CLIENT_CA
  - MHD_D_OPTION_TLS_PSK_CALLBACK
  - MHD_D_OPTION_NO_ALPN
  - MHD_D_OPTION_TLS_APP_NAME
  - MHD_D_OPTION_TLS_OPENSSL_DEF_FILE
  - MHD_D_OPTION_DEFAULT_TIMEOUT_MILSEC
  - MHD_D_OPTION_GLOBAL_CONNECTION_LIMIT
  - MHD_D_OPTION_PER_IP_LIMIT
  - MHD_D_OPTION_ACCEPT_POLICY
  - MHD_D_OPTION_CONN_BUFF_ZEROING
  - MHD_D_OPTION_PROTOCOL_STRICT_LEVEL
  - MHD_D_OPTION_EARLY_URI_LOGGER
  - MHD_D_OPTION_DISABLE_URI_QUERY_PLUS_AS_SPACE
  - MHD_D_OPTION_SUPPRESS_DATE_HEADER
  - MHD_D_OPTION_ENABLE_SHOUTCAST
  - MHD_D_OPTION_CONN_MEMORY_LIMIT
  - MHD_D_OPTION_LARGE_POOL_SIZE
  - MHD_D_OPTION_STACK_SIZE
  - MHD_D_OPTION_FD_NUMBER_LIMIT
  - MHD_D_OPTION_TURBO
  - MHD_D_OPTION_DISABLE_THREAD_SAFETY
  - MHD_D_OPTION_DISALLOW_UPGRADE
  - MHD_D_OPTION_DISALLOW_SUSPEND_RESUME
  - MHD_D_OPTION_DISABLE_COOKIES
  - MHD_D_OPTION_DAEMON_READY_CALLBACK
  - MHD_D_OPTION_NOTIFY_CONNECTION
  - MHD_D_OPTION_NOTIFY_STREAM
  - MHD_D_OPTION_RANDOM_ENTROPY
  - MHD_D_OPTION_AUTH_DIGEST_MAP_SIZE
  - MHD_D_OPTION_AUTH_DIGEST_NONCE_TIMEOUT
  - MHD_D_OPTION_AUTH_DIGEST_DEF_MAX_NC
  - MHD_D_OPTION_TERMINATE
  source_file: /src/mhd2/src/include/microhttpd2_generated_daemon_options.h
  types:
    enum: []
    preproc_defs: []
    structs:
    - fields:
      - name: v_log_cb
        type: MHD_LoggingCallback
      - name: '*v_log_cb_cls'
        type: void
      item_type: struct
      name: MHD_DaemonOptionValueLog
      pos:
        line_end: 420
        line_start: 406
        source_file: /src/mhd2/src/include/microhttpd2_generated_daemon_options.h
    - fields:
      - name: v_af
        type: enum MHD_AddressFamily
      - name: v_port
        type: uint_least16_t
      item_type: struct
      name: MHD_DaemonOptionValueBind
      pos:
        line_end: 439
        line_start: 425
        source_file: /src/mhd2/src/include/microhttpd2_generated_daemon_options.h
    - fields:
      - name: v_sa_len
        type: size_t
      - name: '*v_sa'
        type: struct sockaddr
      - name: v_dual
        type: enum MHD_Bool
      item_type: struct
      name: MHD_DaemonOptionValueSA
      pos:
        line_end: 461
        line_start: 444
        source_file: /src/mhd2/src/include/microhttpd2_generated_daemon_options.h
    - fields:
      - name: v_option
        type: enum MHD_TCPFastOpenType
      - name: v_queue_length
        type: unsigned int
      item_type: struct
      name: MHD_DaemonOptionValueTFO
      pos:
        line_end: 479
        line_start: 466
        source_file: /src/mhd2/src/include/microhttpd2_generated_daemon_options.h
    - fields:
      - name: '*v_mem_cert'
        type: char
      - name: '*v_mem_key'
        type: char
      - name: '*v_mem_pass'
        type: char
      item_type: struct
      name: MHD_DaemonOptionValueTlsCert
      pos:
        line_end: 504
        line_start: 484
        source_file: /src/mhd2/src/include/microhttpd2_generated_daemon_options.h
    - fields:
      - name: v_psk_cb
        type: MHD_PskServerCredentialsCallback
      - name: '*v_psk_cb_cls'
        type: void
      item_type: struct
      name: MHD_DaemonOptionValueTlsPskCB
      pos:
        line_end: 521
        line_start: 509
        source_file: /src/mhd2/src/include/microhttpd2_generated_daemon_options.h
    - fields:
      - name: '*v_app_name'
        type: char
      - name: v_disable_fallback
        type: enum MHD_Bool
      item_type: struct
      name: MHD_DaemonOptionValueTlsAppName
      pos:
        line_end: 543
        line_start: 526
        source_file: /src/mhd2/src/include/microhttpd2_generated_daemon_options.h
    - fields:
      - name: '*v_pathname'
        type: char
      - name: v_disable_fallback
        type: enum MHD_Bool
      item_type: struct
      name: MHD_DaemonOptionValueTlsOsslDefFile
      pos:
        line_end: 566
        line_start: 548
        source_file: /src/mhd2/src/include/microhttpd2_generated_daemon_options.h
    - fields:
      - name: v_apc
        type: MHD_AcceptPolicyCallback
      - name: '*v_apc_cls'
        type: void
      item_type: struct
      name: MHD_DaemonOptionValueAcceptPol
      pos:
        line_end: 583
        line_start: 571
        source_file: /src/mhd2/src/include/microhttpd2_generated_daemon_options.h
    - fields:
      - name: v_sl
        type: enum MHD_ProtocolStrictLevel
      - name: v_how
        type: enum MHD_UseStictLevel
      item_type: struct
      name: MHD_DaemonOptionValueStrctLvl
      pos:
        line_end: 600
        line_start: 588
        source_file: /src/mhd2/src/include/microhttpd2_generated_daemon_options.h
    - fields:
      - name: v_cb
        type: MHD_EarlyUriLogCallback
      - name: '*v_cls'
        type: void
      item_type: struct
      name: MHD_DaemonOptionValueUriCB
      pos:
        line_end: 617
        line_start: 605
        source_file: /src/mhd2/src/include/microhttpd2_generated_daemon_options.h
    - fields:
      - name: v_cb
        type: MHD_DaemonReadyCallback
      - name: '*v_cb_cls'
        type: void
      item_type: struct
      name: MHD_DaemonOptionValueReadyCB
      pos:
        line_end: 634
        line_start: 622
        source_file: /src/mhd2/src/include/microhttpd2_generated_daemon_options.h
    - fields:
      - name: v_ncc
        type: MHD_NotifyConnectionCallback
      - name: '*v_cls'
        type: void
      item_type: struct
      name: MHD_DaemonOptionValueNotifConnCB
      pos:
        line_end: 651
        line_start: 639
        source_file: /src/mhd2/src/include/microhttpd2_generated_daemon_options.h
    - fields:
      - name: v_nsc
        type: MHD_NotifyStreamCallback
      - name: '*v_cls'
        type: void
      item_type: struct
      name: MHD_DaemonOptionValueNotifStreamCB
      pos:
        line_end: 668
        line_start: 656
        source_file: /src/mhd2/src/include/microhttpd2_generated_daemon_options.h
    - fields:
      - name: v_buf_size
        type: size_t
      - name: '*v_buf'
        type: void
      item_type: struct
      name: MHD_DaemonOptionEntropySeed
      pos:
        line_end: 685
        line_start: 673
        source_file: /src/mhd2/src/include/microhttpd2_generated_daemon_options.h
    - fields:
      - name: opt
        type: enum MHD_DaemonOption
      - name: val
        type: union MHD_DaemonOptionValue
      item_type: struct
      name: MHD_DaemonOptionAndValue
      pos:
        line_end: 968
        line_start: 957
        source_file: /src/mhd2/src/include/microhttpd2_generated_daemon_options.h
    typedefs: []
    union:
    - fields:
      - name: work_mode
        type: struct MHD_WorkModeWithParam
      - name: poll_syscall
        type: enum MHD_SockPollSyscall
      - name: reregister_all
        type: enum MHD_Bool
      - name: log_callback
        type: struct MHD_DaemonOptionValueLog
      - name: bind_port
        type: struct MHD_DaemonOptionValueBind
      - name: bind_sa
        type: struct MHD_DaemonOptionValueSA
      - name: listen_socket
        type: MHD_Socket
      - name: listen_addr_reuse
        type: enum MHD_DaemonOptionBindType
      - name: tcp_fastopen
        type: struct MHD_DaemonOptionValueTFO
      - name: listen_backlog
        type: unsigned int
      - name: sigpipe_suppressed
        type: enum MHD_Bool
      - name: tls
        type: enum MHD_TlsBackend
      - name: tls_cert_key
        type: struct MHD_DaemonOptionValueTlsCert
      - name: '*tls_client_ca'
        type: char
      - name: tls_psk_callback
        type: struct MHD_DaemonOptionValueTlsPskCB
      - name: no_alpn
        type: enum MHD_Bool
      - name: tls_app_name
        type: struct MHD_DaemonOptionValueTlsAppName
      - name: tls_openssl_def_file
        type: struct MHD_DaemonOptionValueTlsOsslDefFile
      - name: default_timeout_milsec
        type: uint_fast32_t
      - name: global_connection_limit
        type: unsigned int
      - name: per_ip_limit
        type: unsigned int
      - name: accept_policy
        type: struct MHD_DaemonOptionValueAcceptPol
      - name: conn_buff_zeroing
        type: enum MHD_ConnBufferZeroingMode
      - name: protocol_strict_level
        type: struct MHD_DaemonOptionValueStrctLvl
      - name: early_uri_logger
        type: struct MHD_DaemonOptionValueUriCB
      - name: disable_uri_query_plus_as_space
        type: enum MHD_Bool
      - name: suppress_date_header
        type: enum MHD_Bool
      - name: enable_shoutcast
        type: enum MHD_Bool
      - name: conn_memory_limit
        type: size_t
      - name: large_pool_size
        type: size_t
      - name: stack_size
        type: size_t
      - name: fd_number_limit
        type: MHD_Socket
      - name: turbo
        type: enum MHD_Bool
      - name: disable_thread_safety
        type: enum MHD_Bool
      - name: disallow_upgrade
        type: enum MHD_Bool
      - name: disallow_suspend_resume
        type: enum MHD_Bool
      - name: disable_cookies
        type: enum MHD_Bool
      - name: daemon_ready_callback
        type: struct MHD_DaemonOptionValueReadyCB
      - name: notify_connection
        type: struct MHD_DaemonOptionValueNotifConnCB
      - name: notify_stream
        type: struct MHD_DaemonOptionValueNotifStreamCB
      - name: random_entropy
        type: struct MHD_DaemonOptionEntropySeed
      - name: auth_digest_map_size
        type: size_t
      - name: auth_digest_nonce_timeout
        type: unsigned int
      - name: auth_digest_def_max_nc
        type: uint_fast32_t
      item_type: union
      name: MHD_DaemonOptionValue
      pos:
        line_end: 954
        line_start: 690
        source_file: /src/mhd2/src/include/microhttpd2_generated_daemon_options.h
- function_names: []
  source_file: /src/mhd2/src/include/mhd_future.h
  types:
    enum:
    - enumerators:
      - name: MHD_WFA_ADD
        value: '1'
      - name: MHD_WFA_UPDATE
        value: '2'
      - name: MHD_WFA_REMOVE
        value: '3'
      - name: MHD_WFA_NONE
        value: '0'
      item_type: enum
      name: MHD_WatchedFdAction
      pos:
        line_end: 214
        line_start: 192
        source_file: /src/mhd2/src/include/mhd_future.h
    preproc_defs:
    - item_type: preproc_def
      name: MHD_EXTERN_
      pos:
        line_end: 3
        line_start: 2
        source_file: /src/mhd2/src/include/mhd_future.h
      type_or_value: extern
    - item_type: preproc_def
      name: MHD_EXTERN_
      pos:
        line_end: 6
        line_start: 5
        source_file: /src/mhd2/src/include/mhd_future.h
      type_or_value: extern
    - item_type: preproc_def
      name: MHD_EXTERN_
      pos:
        line_end: 9
        line_start: 8
        source_file: /src/mhd2/src/include/mhd_future.h
      type_or_value: extern __declspec(dllimport)
    - item_type: preproc_def
      name: MHD_FIXED_FLAGS_ENUM_
      pos:
        line_end: 23
        line_start: 22
        source_file: /src/mhd2/src/include/mhd_future.h
      type_or_value: MHD_FIXED_ENUM_ MHD_FLAGS_ENUM_
    - item_type: preproc_def
      name: MHD_FIXED_ENUM_APP_SET_
      pos:
        line_end: 28
        line_start: 27
        source_file: /src/mhd2/src/include/mhd_future.h
      type_or_value: MHD_FIXED_ENUM_
    - item_type: preproc_def
      name: MHD_FLAGS_ENUM_APP_SET_
      pos:
        line_end: 33
        line_start: 32
        source_file: /src/mhd2/src/include/mhd_future.h
      type_or_value: MHD_FLAGS_ENUM_
    - item_type: preproc_def
      name: MHD_FIXED_FLAGS_ENUM_APP_SET_
      pos:
        line_end: 38
        line_start: 37
        source_file: /src/mhd2/src/include/mhd_future.h
      type_or_value: MHD_FIXED_FLAGS_ENUM_
    - item_type: preproc_def
      name: MHD_FLAGS_ENUM_MHD_SET_
      pos:
        line_end: 48
        line_start: 47
        source_file: /src/mhd2/src/include/mhd_future.h
      type_or_value: MHD_FLAGS_ENUM_
    - item_type: preproc_def
      name: MHD_FIXED_FLAGS_ENUM_MHD_SET_
      pos:
        line_end: 53
        line_start: 52
        source_file: /src/mhd2/src/include/mhd_future.h
      type_or_value: 'MHD_FLAGS_ENUM_ '
    - item_type: preproc_def
      name: MHD_FLAGS_ENUM_MHD_APP_SET_
      pos:
        line_end: 63
        line_start: 62
        source_file: /src/mhd2/src/include/mhd_future.h
      type_or_value: MHD_FLAGS_ENUM_
    - item_type: preproc_def
      name: MHD_FIXED_FLAGS_ENUM_MHD_APP_SET_
      pos:
        line_end: 68
        line_start: 67
        source_file: /src/mhd2/src/include/mhd_future.h
      type_or_value: 'MHD_FLAGS_ENUM_ '
    structs:
    - fields:
      - name: fd
        type: MHD_Socket
      - name: state
        type: enum MHD_FdState
      item_type: struct
      name: MHD_WatchedFD
      pos:
        line_end: 158
        line_start: 143
        source_file: /src/mhd2/src/include/mhd_future.h
    - fields:
      - name: action
        type: enum MHD_WatchedFdAction
      - name: watched_fd
        type: struct MHD_WatchedFD
      item_type: struct
      name: MHD_WatchedFdUpdate
      pos:
        line_end: 227
        line_start: 216
        source_file: /src/mhd2/src/include/mhd_future.h
    typedefs: []
    union: []
- function_names:
  - MHD_status_code_to_string_lazy
  - MHD_FD_STATE_IS_SET
  - MHD_FD_STATE_IS_SET_RECV
  - MHD_FD_STATE_IS_SET_SEND
  - MHD_FD_STATE_IS_SET_EXCEPT
  - MHD_FD_STATE_SET
  - MHD_FD_STATE_SET_RECV
  - MHD_FD_STATE_SET_SEND
  - MHD_FD_STATE_SET_EXCEPT
  - MHD_FD_STATE_CLEAR
  - MHD_FD_STATE_CLEAR_RECV
  - MHD_FD_STATE_CLEAR_SEND
  - MHD_FD_STATE_CLEAR_EXCEPT
  - MHD_WM_OPTION_EXTERNAL_PERIODIC
  - MHD_WM_OPTION_EXTERNAL_EVENT_LOOP_CB_LEVEL
  - MHD_WM_OPTION_EXTERNAL_EVENT_LOOP_CB_EDGE
  - MHD_WM_OPTION_EXTERNAL_SINGLE_FD_WATCH
  - MHD_WM_OPTION_WORKER_THREADS
  - MHD_WM_OPTION_THREAD_PER_CONNECTION
  - MHD_WM_OPTION_EXTERNAL_PERIODIC
  - MHD_WM_OPTION_EXTERNAL_EVENT_LOOP_CB_LEVEL
  - MHD_WM_OPTION_EXTERNAL_EVENT_LOOP_CB_EDGE
  - MHD_WM_OPTION_EXTERNAL_SINGLE_FD_WATCH
  - MHD_WM_OPTION_WORKER_THREADS
  - MHD_WM_OPTION_THREAD_PER_CONNECTION
  - MHD_connection_set_psk_unavailable
  - MHD_D_OPTION_WM_EXTERNAL_PERIODIC
  - MHD_D_OPTION_WM_EXTERNAL_EVENT_LOOP_CB_LEVEL
  - MHD_D_OPTION_WM_EXTERNAL_EVENT_LOOP_CB_EDGE
  - MHD_D_OPTION_WM_EXTERNAL_SINGLE_FD_WATCH
  - MHD_D_OPTION_WM_WORKER_THREADS
  - MHD_D_OPTION_WM_THREAD_PER_CONNECTION
  - MHD_daemon_set_option
  - MHD_DAEMON_SET_OPTIONS
  - MHD_DAEMON_SET_OPTIONS
  - MHD_daemon_process_nonblocking
  - MHD_C_OPTION_TIMEOUT
  - MHD_C_OPTION_TERMINATE
  - MHD_C_OPTION_TIMEOUT
  - MHD_C_OPTION_TERMINATE
  - MHD_connection_set_option
  - MHD_CONNECTION_SET_OPTIONS
  - MHD_CONNECTION_SET_OPTIONS
  - MHD_HTTP_status_code_to_string_lazy
  - MHD_action_abort_request
  - MHD_response_set_option
  - MHD_RESPONSE_SET_OPTIONS
  - MHD_RESPONSE_SET_OPTIONS
  - MHD_DCC_action_continue_ce
  - MHD_DCC_action_continue
  - MHD_DCC_action_finish
  - MHD_DCC_action_abort
  - MHD_response_from_callback
  - MHD_response_from_buffer_static
  - MHD_response_from_empty
  - MHD_upload_action_abort_request
  - MHD_action_process_upload_full
  - MHD_action_process_upload_inc
  - MHD_action_digest_auth_challenge
  - MHD_action_digest_auth_challenge_p
  - MHD_action_digest_auth_challenge_a
  - MHD_action_basic_auth_challenge
  - MHD_action_basic_auth_challenge_p
  - MHD_action_basic_auth_challenge_a
  - MHD_lib_get_info_fixed
  - MHD_lib_get_info_ver_num
  - MHD_lib_get_info_dynamic
  - MHD_daemon_get_info_fixed
  - MHD_daemon_get_info_dynamic
  - MHD_connection_get_info_fixed
  - MHD_connection_get_info_dynamic
  - MHD_stream_get_info_fixed
  - MHD_stream_get_info_dynamic
  - MHD_request_get_info_fixed
  - MHD_request_get_info_dynamic
  - MHD_lib_set_panic_func_default
  source_file: /src/mhd2/src/include/microhttpd2.h
  types:
    enum:
    - enumerators:
      - name: MHD_NO
        value: '0'
      - name: MHD_YES
        value: '1'
      item_type: enum
      name: MHD_Bool
      pos:
        line_end: 227
        line_start: 213
        source_file: /src/mhd2/src/include/microhttpd2.h
    - enumerators:
      - name: MHD_PREDEF_ACCEPT_CHARSET
        value: '15'
      - name: MHD_PREDEF_ACCEPT_LANGUAGE
        value: '17'
      item_type: enum
      name: MHD_PredefinedHeader
      pos:
        line_end: 2608
        line_start: 2604
        source_file: /src/mhd2/src/include/microhttpd2.h
    - enumerators:
      - name: MHD_DAEMON_INFO_FIXED_POLL_SYSCALL
        value: '41'
      - name: MHD_DAEMON_INFO_FIXED_NUM_WORK_THREADS
        value: '47'
      - name: MHD_DAEMON_INFO_FIXED_AGGREAGATE_FD
        value: '46'
      - name: MHD_DAEMON_INFO_FIXED_BIND_PORT
        value: '80'
      - name: MHD_DAEMON_INFO_FIXED_LISTEN_SOCKET
        value: '82'
      - name: MHD_DAEMON_INFO_FIXED_TLS_BACKEND
        value: '120'
      - name: MHD_DAEMON_INFO_FIXED_DEFAULT_TIMEOUT_MILSEC
        value: '160'
      - name: MHD_DAEMON_INFO_FIXED_GLOBAL_CONNECTION_LIMIT
        value: '161'
      - name: MHD_DAEMON_INFO_FIXED_PER_IP_LIMIT
        value: '162'
      - name: MHD_DAEMON_INFO_FIXED_SUPPRESS_DATE_HEADER
        value: '240'
      - name: MHD_DAEMON_INFO_FIXED_CONN_MEMORY_LIMIT
        value: '280'
      - name: MHD_DAEMON_INFO_FIXED_FD_NUMBER_LIMIT
        value: '283'
      - name: MHD_DAEMON_INFO_FIXED_SENTINEL
        value: '65535'
      item_type: enum
      name: MHD_DaemonInfoFixedType
      pos:
        line_end: 9666
        line_start: 9547
        source_file: /src/mhd2/src/include/microhttpd2.h
    - enumerators:
      - name: MHD_DAEMON_INFO_DYNAMIC_MAX_TIME_TO_WAIT
        value: '1'
      - name: MHD_DAEMON_INFO_DYNAMIC_SENTINEL
        value: '65535'
      - name: MHD_DAEMON_INFO_DYNAMIC_HAS_CONNECTIONS
        value: '20'
      item_type: enum
      name: MHD_DaemonInfoDynamicType
      pos:
        line_end: 9848
        line_start: 9817
        source_file: /src/mhd2/src/include/microhttpd2.h
    - enumerators:
      - name: MHD_CONNECTION_INFO_FIXED_CLIENT_ADDRESS
        value: '1'
      - name: MHD_CONNECTION_INFO_FIXED_APP_CONTEXT
        value: '30'
      - name: MHD_CONNECTION_INFO_FIXED_CONNECTION_SOCKET
        value: '2'
      - name: MHD_CONNECTION_INFO_FIXED_DAEMON
        value: '20'
      - name: MHD_CONNECTION_INFO_FIXED_SENTINEL
        value: '65535'
      item_type: enum
      name: MHD_ConnectionInfoFixedType
      pos:
        line_end: 10001
        line_start: 9946
        source_file: /src/mhd2/src/include/microhttpd2.h
    - enumerators:
      - name: MHD_CONNECTION_INFO_DYNAMIC_HTTP_VER
        value: '1'
      - name: MHD_CONNECTION_INFO_DYNAMIC_CONNECTION_TIMEOUT_MILSEC
        value: '10'
      - name: MHD_CONNECTION_INFO_DYNAMIC_TLS_SESSION
        value: '140'
      - name: MHD_CONNECTION_INFO_DYNAMIC_CONNECTION_SUSPENDED
        value: '11'
      - name: MHD_CONNECTION_INFO_DYNAMIC_TLS_VER
        value: '105'
      - name: MHD_CONNECTION_INFO_DYNAMIC_SENTINEL
        value: '65535'
      item_type: enum
      name: MHD_ConnectionInfoDynamicType
      pos:
        line_end: 10177
        line_start: 10115
        source_file: /src/mhd2/src/include/microhttpd2.h
    preproc_defs:
    - item_type: preproc_def
      name: MHD_C_DECLARATIONS_START_HERE_
      pos:
        line_end: 156
        line_start: 155
        source_file: /src/mhd2/src/include/microhttpd2.h
      type_or_value: extern "C" {
    - item_type: preproc_def
      name: MHD_C_DECLARATIONS_FINISH_HERE_
      pos:
        line_end: 157
        line_start: 156
        source_file: /src/mhd2/src/include/microhttpd2.h
      type_or_value: '}'
    - item_type: preproc_def
      name: MHD_VERSION
      pos:
        line_end: 167
        line_start: 166
        source_file: /src/mhd2/src/include/microhttpd2.h
      type_or_value: '0x01990001'
    - item_type: preproc_def
      name: WIN32_LEAN_AND_MEAN
      pos:
        line_end: 196
        line_start: 195
        source_file: /src/mhd2/src/include/microhttpd2.h
      type_or_value: '1'
    - item_type: preproc_def
      name: MHD_BOOL_DEFINED
      pos:
        line_end: 231
        line_start: 230
        source_file: /src/mhd2/src/include/microhttpd2.h
      type_or_value: '1'
    - item_type: preproc_def
      name: MHD_STRINGS_DEFINED
      pos:
        line_end: 274
        line_start: 273
        source_file: /src/mhd2/src/include/microhttpd2.h
      type_or_value: '1'
    - item_type: preproc_def
      name: MHD_SOCKETS_KIND_POSIX
      pos:
        line_end: 280
        line_start: 279
        source_file: /src/mhd2/src/include/microhttpd2.h
      type_or_value: '1'
    - item_type: preproc_def
      name: MHD_INVALID_SOCKET
      pos:
        line_end: 285
        line_start: 284
        source_file: /src/mhd2/src/include/microhttpd2.h
      type_or_value: (-1)
    - item_type: preproc_def
      name: MHD_SOCKETS_KIND_WINSOCK
      pos:
        line_end: 287
        line_start: 286
        source_file: /src/mhd2/src/include/microhttpd2.h
      type_or_value: '1'
    - item_type: preproc_def
      name: MHD_INVALID_SOCKET
      pos:
        line_end: 292
        line_start: 291
        source_file: /src/mhd2/src/include/microhttpd2.h
      type_or_value: (INVALID_SOCKET)
    - item_type: preproc_def
      name: MHD_SIZE_UNKNOWN
      pos:
        line_end: 302
        line_start: 301
        source_file: /src/mhd2/src/include/microhttpd2.h
      type_or_value: UINT64_MAX
    - item_type: preproc_def
      name: MHD_SIZE_UNKNOWN
      pos:
        line_end: 305
        line_start: 303
        source_file: /src/mhd2/src/include/microhttpd2.h
      type_or_value: MHD_STATIC_CAST_ (uint_fast64_t,0xffffffffffffffffU)
    - item_type: preproc_def
      name: MHD_WAIT_INDEFINITELY
      pos:
        line_end: 314
        line_start: 313
        source_file: /src/mhd2/src/include/microhttpd2.h
      type_or_value: UINT64_MAX
    - item_type: preproc_def
      name: MHD_WAIT_INDEFINITELY
      pos:
        line_end: 317
        line_start: 315
        source_file: /src/mhd2/src/include/microhttpd2.h
      type_or_value: MHD_STATIC_CAST_ (uint_fast64_t,0xffffffffffffffffU)
    - item_type: preproc_def
      name: MHD_HTTP_METHOD_DEFINED
      pos:
        line_end: 1919
        line_start: 1918
        source_file: /src/mhd2/src/include/microhttpd2.h
      type_or_value: '1'
    - item_type: preproc_def
      name: MHD_HTTP_METHOD_STR_GET
      pos:
        line_end: 1936
        line_start: 1935
        source_file: /src/mhd2/src/include/microhttpd2.h
      type_or_value: '"GET"'
    - item_type: preproc_def
      name: MHD_HTTP_METHOD_STR_HEAD
      pos:
        line_end: 1938
        line_start: 1937
        source_file: /src/mhd2/src/include/microhttpd2.h
      type_or_value: '"HEAD"'
    - item_type: preproc_def
      name: MHD_HTTP_METHOD_STR_POST
      pos:
        line_end: 1940
        line_start: 1939
        source_file: /src/mhd2/src/include/microhttpd2.h
      type_or_value: '"POST"'
    - item_type: preproc_def
      name: MHD_HTTP_METHOD_STR_PUT
      pos:
        line_end: 1942
        line_start: 1941
        source_file: /src/mhd2/src/include/microhttpd2.h
      type_or_value: '"PUT"'
    - item_type: preproc_def
      name: MHD_HTTP_METHOD_STR_DELETE
      pos:
        line_end: 1944
        line_start: 1943
        source_file: /src/mhd2/src/include/microhttpd2.h
      type_or_value: '"DELETE"'
    - item_type: preproc_def
      name: MHD_HTTP_METHOD_STR_CONNECT
      pos:
        line_end: 1946
        line_start: 1945
        source_file: /src/mhd2/src/include/microhttpd2.h
      type_or_value: '"CONNECT"'
    - item_type: preproc_def
      name: MHD_HTTP_METHOD_STR_OPTIONS
      pos:
        line_end: 1948
        line_start: 1947
        source_file: /src/mhd2/src/include/microhttpd2.h
      type_or_value: '"OPTIONS"'
    - item_type: preproc_def
      name: MHD_HTTP_METHOD_STR_TRACE
      pos:
        line_end: 1950
        line_start: 1949
        source_file: /src/mhd2/src/include/microhttpd2.h
      type_or_value: '"TRACE"'
    - item_type: preproc_def
      name: MHD_HTTP_METHOD_STR_ASTERISK
      pos:
        line_end: 1952
        line_start: 1951
        source_file: /src/mhd2/src/include/microhttpd2.h
      type_or_value: '"*"'
    - item_type: preproc_def
      name: MHD_HTTP_METHOD_STR_ACL
      pos:
        line_end: 1956
        line_start: 1955
        source_file: /src/mhd2/src/include/microhttpd2.h
      type_or_value: '"ACL"'
    - item_type: preproc_def
      name: MHD_HTTP_METHOD_STR_BASELINE_CONTROL
      pos:
        line_end: 1958
        line_start: 1957
        source_file: /src/mhd2/src/include/microhttpd2.h
      type_or_value: '"BASELINE-CONTROL"'
    - item_type: preproc_def
      name: MHD_HTTP_METHOD_STR_BIND
      pos:
        line_end: 1960
        line_start: 1959
        source_file: /src/mhd2/src/include/microhttpd2.h
      type_or_value: '"BIND"'
    - item_type: preproc_def
      name: MHD_HTTP_METHOD_STR_CHECKIN
      pos:
        line_end: 1962
        line_start: 1961
        source_file: /src/mhd2/src/include/microhttpd2.h
      type_or_value: '"CHECKIN"'
    - item_type: preproc_def
      name: MHD_HTTP_METHOD_STR_CHECKOUT
      pos:
        line_end: 1964
        line_start: 1963
        source_file: /src/mhd2/src/include/microhttpd2.h
      type_or_value: '"CHECKOUT"'
    - item_type: preproc_def
      name: MHD_HTTP_METHOD_STR_COPY
      pos:
        line_end: 1966
        line_start: 1965
        source_file: /src/mhd2/src/include/microhttpd2.h
      type_or_value: '"COPY"'
    - item_type: preproc_def
      name: MHD_HTTP_METHOD_STR_LABEL
      pos:
        line_end: 1968
        line_start: 1967
        source_file: /src/mhd2/src/include/microhttpd2.h
      type_or_value: '"LABEL"'
    - item_type: preproc_def
      name: MHD_HTTP_METHOD_STR_LINK
      pos:
        line_end: 1970
        line_start: 1969
        source_file: /src/mhd2/src/include/microhttpd2.h
      type_or_value: '"LINK"'
    - item_type: preproc_def
      name: MHD_HTTP_METHOD_STR_LOCK
      pos:
        line_end: 1972
        line_start: 1971
        source_file: /src/mhd2/src/include/microhttpd2.h
      type_or_value: '"LOCK"'
    - item_type: preproc_def
      name: MHD_HTTP_METHOD_STR_MERGE
      pos:
        line_end: 1974
        line_start: 1973
        source_file: /src/mhd2/src/include/microhttpd2.h
      type_or_value: '"MERGE"'
    - item_type: preproc_def
      name: MHD_HTTP_METHOD_STR_MKACTIVITY
      pos:
        line_end: 1976
        line_start: 1975
        source_file: /src/mhd2/src/include/microhttpd2.h
      type_or_value: '"MKACTIVITY"'
    - item_type: preproc_def
      name: MHD_HTTP_METHOD_STR_MKCALENDAR
      pos:
        line_end: 1978
        line_start: 1977
        source_file: /src/mhd2/src/include/microhttpd2.h
      type_or_value: '"MKCALENDAR"'
    - item_type: preproc_def
      name: MHD_HTTP_METHOD_STR_MKCOL
      pos:
        line_end: 1980
        line_start: 1979
        source_file: /src/mhd2/src/include/microhttpd2.h
      type_or_value: '"MKCOL"'
    - item_type: preproc_def
      name: MHD_HTTP_METHOD_STR_MKREDIRECTREF
      pos:
        line_end: 1982
        line_start: 1981
        source_file: /src/mhd2/src/include/microhttpd2.h
      type_or_value: '"MKREDIRECTREF"'
    - item_type: preproc_def
      name: MHD_HTTP_METHOD_STR_MKWORKSPACE
      pos:
        line_end: 1984
        line_start: 1983
        source_file: /src/mhd2/src/include/microhttpd2.h
      type_or_value: '"MKWORKSPACE"'
    - item_type: preproc_def
      name: MHD_HTTP_METHOD_STR_MOVE
      pos:
        line_end: 1986
        line_start: 1985
        source_file: /src/mhd2/src/include/microhttpd2.h
      type_or_value: '"MOVE"'
    - item_type: preproc_def
      name: MHD_HTTP_METHOD_STR_ORDERPATCH
      pos:
        line_end: 1988
        line_start: 1987
        source_file: /src/mhd2/src/include/microhttpd2.h
      type_or_value: '"ORDERPATCH"'
    - item_type: preproc_def
      name: MHD_HTTP_METHOD_STR_PATCH
      pos:
        line_end: 1990
        line_start: 1989
        source_file: /src/mhd2/src/include/microhttpd2.h
      type_or_value: '"PATCH"'
    - item_type: preproc_def
      name: MHD_HTTP_METHOD_STR_PRI
      pos:
        line_end: 1992
        line_start: 1991
        source_file: /src/mhd2/src/include/microhttpd2.h
      type_or_value: '"PRI"'
    - item_type: preproc_def
      name: MHD_HTTP_METHOD_STR_PROPFIND
      pos:
        line_end: 1994
        line_start: 1993
        source_file: /src/mhd2/src/include/microhttpd2.h
      type_or_value: '"PROPFIND"'
    - item_type: preproc_def
      name: MHD_HTTP_METHOD_STR_PROPPATCH
      pos:
        line_end: 1996
        line_start: 1995
        source_file: /src/mhd2/src/include/microhttpd2.h
      type_or_value: '"PROPPATCH"'
    - item_type: preproc_def
      name: MHD_HTTP_METHOD_STR_REBIND
      pos:
        line_end: 1998
        line_start: 1997
        source_file: /src/mhd2/src/include/microhttpd2.h
      type_or_value: '"REBIND"'
    - item_type: preproc_def
      name: MHD_HTTP_METHOD_STR_REPORT
      pos:
        line_end: 2000
        line_start: 1999
        source_file: /src/mhd2/src/include/microhttpd2.h
      type_or_value: '"REPORT"'
    - item_type: preproc_def
      name: MHD_HTTP_METHOD_STR_SEARCH
      pos:
        line_end: 2002
        line_start: 2001
        source_file: /src/mhd2/src/include/microhttpd2.h
      type_or_value: '"SEARCH"'
    - item_type: preproc_def
      name: MHD_HTTP_METHOD_STR_UNBIND
      pos:
        line_end: 2004
        line_start: 2003
        source_file: /src/mhd2/src/include/microhttpd2.h
      type_or_value: '"UNBIND"'
    - item_type: preproc_def
      name: MHD_HTTP_METHOD_STR_UNCHECKOUT
      pos:
        line_end: 2006
        line_start: 2005
        source_file: /src/mhd2/src/include/microhttpd2.h
      type_or_value: '"UNCHECKOUT"'
    - item_type: preproc_def
      name: MHD_HTTP_METHOD_STR_UNLINK
      pos:
        line_end: 2008
        line_start: 2007
        source_file: /src/mhd2/src/include/microhttpd2.h
      type_or_value: '"UNLINK"'
    - item_type: preproc_def
      name: MHD_HTTP_METHOD_STR_UNLOCK
      pos:
        line_end: 2010
        line_start: 2009
        source_file: /src/mhd2/src/include/microhttpd2.h
      type_or_value: '"UNLOCK"'
    - item_type: preproc_def
      name: MHD_HTTP_METHOD_STR_UPDATE
      pos:
        line_end: 2012
        line_start: 2011
        source_file: /src/mhd2/src/include/microhttpd2.h
      type_or_value: '"UPDATE"'
    - item_type: preproc_def
      name: MHD_HTTP_METHOD_STR_UPDATEREDIRECTREF
      pos:
        line_end: 2014
        line_start: 2013
        source_file: /src/mhd2/src/include/microhttpd2.h
      type_or_value: '"UPDATEREDIRECTREF"'
    - item_type: preproc_def
      name: MHD_HTTP_METHOD_STR_VERSION_CONTROL
      pos:
        line_end: 2016
        line_start: 2015
        source_file: /src/mhd2/src/include/microhttpd2.h
      type_or_value: '"VERSION-CONTROL"'
    - item_type: preproc_def
      name: MHD_HTTP_POSTENCODING_DEFINED
      pos:
        line_end: 2064
        line_start: 2063
        source_file: /src/mhd2/src/include/microhttpd2.h
      type_or_value: '1'
    - item_type: preproc_def
      name: MHD_HTTP_HEADER_ACCEPT
      pos:
        line_end: 2080
        line_start: 2079
        source_file: /src/mhd2/src/include/microhttpd2.h
      type_or_value: '"Accept"'
    - item_type: preproc_def
      name: MHD_HTTP_HEADER_ACCEPT_CHARSET
      pos:
        line_end: 2082
        line_start: 2081
        source_file: /src/mhd2/src/include/microhttpd2.h
      type_or_value: '"Accept-Charset"'
    - item_type: preproc_def
      name: MHD_HTTP_HEADER_ACCEPT_ENCODING
      pos:
        line_end: 2084
        line_start: 2083
        source_file: /src/mhd2/src/include/microhttpd2.h
      type_or_value: '"Accept-Encoding"'
    - item_type: preproc_def
      name: MHD_HTTP_HEADER_ACCEPT_LANGUAGE
      pos:
        line_end: 2086
        line_start: 2085
        source_file: /src/mhd2/src/include/microhttpd2.h
      type_or_value: '"Accept-Language"'
    - item_type: preproc_def
      name: MHD_HTTP_HEADER_ACCEPT_RANGES
      pos:
        line_end: 2088
        line_start: 2087
        source_file: /src/mhd2/src/include/microhttpd2.h
      type_or_value: '"Accept-Ranges"'
    - item_type: preproc_def
      name: MHD_HTTP_HEADER_AGE
      pos:
        line_end: 2090
        line_start: 2089
        source_file: /src/mhd2/src/include/microhttpd2.h
      type_or_value: '"Age"'
    - item_type: preproc_def
      name: MHD_HTTP_HEADER_ALLOW
      pos:
        line_end: 2092
        line_start: 2091
        source_file: /src/mhd2/src/include/microhttpd2.h
      type_or_value: '"Allow"'
    - item_type: preproc_def
      name: MHD_HTTP_HEADER_AUTHENTICATION_INFO
      pos:
        line_end: 2094
        line_start: 2093
        source_file: /src/mhd2/src/include/microhttpd2.h
      type_or_value: '"Authentication-Info"'
    - item_type: preproc_def
      name: MHD_HTTP_HEADER_AUTHORIZATION
      pos:
        line_end: 2096
        line_start: 2095
        source_file: /src/mhd2/src/include/microhttpd2.h
      type_or_value: '"Authorization"'
    - item_type: preproc_def
      name: MHD_HTTP_HEADER_CACHE_CONTROL
      pos:
        line_end: 2098
        line_start: 2097
        source_file: /src/mhd2/src/include/microhttpd2.h
      type_or_value: '"Cache-Control"'
    - item_type: preproc_def
      name: MHD_HTTP_HEADER_CLOSE
      pos:
        line_end: 2100
        line_start: 2099
        source_file: /src/mhd2/src/include/microhttpd2.h
      type_or_value: '"Close"'
    - item_type: preproc_def
      name: MHD_HTTP_HEADER_CONNECTION
      pos:
        line_end: 2102
        line_start: 2101
        source_file: /src/mhd2/src/include/microhttpd2.h
      type_or_value: '"Connection"'
    - item_type: preproc_def
      name: MHD_HTTP_HEADER_CONTENT_ENCODING
      pos:
        line_end: 2104
        line_start: 2103
        source_file: /src/mhd2/src/include/microhttpd2.h
      type_or_value: '"Content-Encoding"'
    - item_type: preproc_def
      name: MHD_HTTP_HEADER_CONTENT_LANGUAGE
      pos:
        line_end: 2106
        line_start: 2105
        source_file: /src/mhd2/src/include/microhttpd2.h
      type_or_value: '"Content-Language"'
    - item_type: preproc_def
      name: MHD_HTTP_HEADER_CONTENT_LENGTH
      pos:
        line_end: 2108
        line_start: 2107
        source_file: /src/mhd2/src/include/microhttpd2.h
      type_or_value: '"Content-Length"'
    - item_type: preproc_def
      name: MHD_HTTP_HEADER_CONTENT_LOCATION
      pos:
        line_end: 2110
        line_start: 2109
        source_file: /src/mhd2/src/include/microhttpd2.h
      type_or_value: '"Content-Location"'
    - item_type: preproc_def
      name: MHD_HTTP_HEADER_CONTENT_RANGE
      pos:
        line_end: 2112
        line_start: 2111
        source_file: /src/mhd2/src/include/microhttpd2.h
      type_or_value: '"Content-Range"'
    - item_type: preproc_def
      name: MHD_HTTP_HEADER_CONTENT_TYPE
      pos:
        line_end: 2114
        line_start: 2113
        source_file: /src/mhd2/src/include/microhttpd2.h
      type_or_value: '"Content-Type"'
    - item_type: preproc_def
      name: MHD_HTTP_HEADER_DATE
      pos:
        line_end: 2116
        line_start: 2115
        source_file: /src/mhd2/src/include/microhttpd2.h
      type_or_value: '"Date"'
    - item_type: preproc_def
      name: MHD_HTTP_HEADER_ETAG
      pos:
        line_end: 2118
        line_start: 2117
        source_file: /src/mhd2/src/include/microhttpd2.h
      type_or_value: '"ETag"'
    - item_type: preproc_def
      name: MHD_HTTP_HEADER_EXPECT
      pos:
        line_end: 2120
        line_start: 2119
        source_file: /src/mhd2/src/include/microhttpd2.h
      type_or_value: '"Expect"'
    - item_type: preproc_def
      name: MHD_HTTP_HEADER_EXPIRES
      pos:
        line_end: 2122
        line_start: 2121
        source_file: /src/mhd2/src/include/microhttpd2.h
      type_or_value: '"Expires"'
    - item_type: preproc_def
      name: MHD_HTTP_HEADER_FROM
      pos:
        line_end: 2124
        line_start: 2123
        source_file: /src/mhd2/src/include/microhttpd2.h
      type_or_value: '"From"'
    - item_type: preproc_def
      name: MHD_HTTP_HEADER_HOST
      pos:
        line_end: 2126
        line_start: 2125
        source_file: /src/mhd2/src/include/microhttpd2.h
      type_or_value: '"Host"'
    - item_type: preproc_def
      name: MHD_HTTP_HEADER_IF_MATCH
      pos:
        line_end: 2128
        line_start: 2127
        source_file: /src/mhd2/src/include/microhttpd2.h
      type_or_value: '"If-Match"'
    - item_type: preproc_def
      name: MHD_HTTP_HEADER_IF_MODIFIED_SINCE
      pos:
        line_end: 2130
        line_start: 2129
        source_file: /src/mhd2/src/include/microhttpd2.h
      type_or_value: '"If-Modified-Since"'
    - item_type: preproc_def
      name: MHD_HTTP_HEADER_IF_NONE_MATCH
      pos:
        line_end: 2132
        line_start: 2131
        source_file: /src/mhd2/src/include/microhttpd2.h
      type_or_value: '"If-None-Match"'
    - item_type: preproc_def
      name: MHD_HTTP_HEADER_IF_RANGE
      pos:
        line_end: 2134
        line_start: 2133
        source_file: /src/mhd2/src/include/microhttpd2.h
      type_or_value: '"If-Range"'
    - item_type: preproc_def
      name: MHD_HTTP_HEADER_IF_UNMODIFIED_SINCE
      pos:
        line_end: 2136
        line_start: 2135
        source_file: /src/mhd2/src/include/microhttpd2.h
      type_or_value: '"If-Unmodified-Since"'
    - item_type: preproc_def
      name: MHD_HTTP_HEADER_LAST_MODIFIED
      pos:
        line_end: 2138
        line_start: 2137
        source_file: /src/mhd2/src/include/microhttpd2.h
      type_or_value: '"Last-Modified"'
    - item_type: preproc_def
      name: MHD_HTTP_HEADER_LOCATION
      pos:
        line_end: 2140
        line_start: 2139
        source_file: /src/mhd2/src/include/microhttpd2.h
      type_or_value: '"Location"'
    - item_type: preproc_def
      name: MHD_HTTP_HEADER_MAX_FORWARDS
      pos:
        line_end: 2142
        line_start: 2141
        source_file: /src/mhd2/src/include/microhttpd2.h
      type_or_value: '"Max-Forwards"'
    - item_type: preproc_def
      name: MHD_HTTP_HEADER_MIME_VERSION
      pos:
        line_end: 2144
        line_start: 2143
        source_file: /src/mhd2/src/include/microhttpd2.h
      type_or_value: '"MIME-Version"'
    - item_type: preproc_def
      name: MHD_HTTP_HEADER_PRAGMA
      pos:
        line_end: 2146
        line_start: 2145
        source_file: /src/mhd2/src/include/microhttpd2.h
      type_or_value: '"Pragma"'
    - item_type: preproc_def
      name: MHD_HTTP_HEADER_PROXY_AUTHENTICATE
      pos:
        line_end: 2148
        line_start: 2147
        source_file: /src/mhd2/src/include/microhttpd2.h
      type_or_value: '"Proxy-Authenticate"'
    - item_type: preproc_def
      name: MHD_HTTP_HEADER_PROXY_AUTHENTICATION_INFO
      pos:
        line_end: 2150
        line_start: 2149
        source_file: /src/mhd2/src/include/microhttpd2.h
      type_or_value: '"Proxy-Authentication-Info"'
    - item_type: preproc_def
      name: MHD_HTTP_HEADER_PROXY_AUTHORIZATION
      pos:
        line_end: 2152
        line_start: 2151
        source_file: /src/mhd2/src/include/microhttpd2.h
      type_or_value: '"Proxy-Authorization"'
    - item_type: preproc_def
      name: MHD_HTTP_HEADER_RANGE
      pos:
        line_end: 2154
        line_start: 2153
        source_file: /src/mhd2/src/include/microhttpd2.h
      type_or_value: '"Range"'
    - item_type: preproc_def
      name: MHD_HTTP_HEADER_REFERER
      pos:
        line_end: 2156
        line_start: 2155
        source_file: /src/mhd2/src/include/microhttpd2.h
      type_or_value: '"Referer"'
    - item_type: preproc_def
      name: MHD_HTTP_HEADER_RETRY_AFTER
      pos:
        line_end: 2158
        line_start: 2157
        source_file: /src/mhd2/src/include/microhttpd2.h
      type_or_value: '"Retry-After"'
    - item_type: preproc_def
      name: MHD_HTTP_HEADER_SERVER
      pos:
        line_end: 2160
        line_start: 2159
        source_file: /src/mhd2/src/include/microhttpd2.h
      type_or_value: '"Server"'
    - item_type: preproc_def
      name: MHD_HTTP_HEADER_TE
      pos:
        line_end: 2162
        line_start: 2161
        source_file: /src/mhd2/src/include/microhttpd2.h
      type_or_value: '"TE"'
    - item_type: preproc_def
      name: MHD_HTTP_HEADER_TRAILER
      pos:
        line_end: 2164
        line_start: 2163
        source_file: /src/mhd2/src/include/microhttpd2.h
      type_or_value: '"Trailer"'
    - item_type: preproc_def
      name: MHD_HTTP_HEADER_TRANSFER_ENCODING
      pos:
        line_end: 2166
        line_start: 2165
        source_file: /src/mhd2/src/include/microhttpd2.h
      type_or_value: '"Transfer-Encoding"'
    - item_type: preproc_def
      name: MHD_HTTP_HEADER_UPGRADE
      pos:
        line_end: 2168
        line_start: 2167
        source_file: /src/mhd2/src/include/microhttpd2.h
      type_or_value: '"Upgrade"'
    - item_type: preproc_def
      name: MHD_HTTP_HEADER_USER_AGENT
      pos:
        line_end: 2170
        line_start: 2169
        source_file: /src/mhd2/src/include/microhttpd2.h
      type_or_value: '"User-Agent"'
    - item_type: preproc_def
      name: MHD_HTTP_HEADER_VARY
      pos:
        line_end: 2172
        line_start: 2171
        source_file: /src/mhd2/src/include/microhttpd2.h
      type_or_value: '"Vary"'
    - item_type: preproc_def
      name: MHD_HTTP_HEADER_VIA
      pos:
        line_end: 2174
        line_start: 2173
        source_file: /src/mhd2/src/include/microhttpd2.h
      type_or_value: '"Via"'
    - item_type: preproc_def
      name: MHD_HTTP_HEADER_WWW_AUTHENTICATE
      pos:
        line_end: 2176
        line_start: 2175
        source_file: /src/mhd2/src/include/microhttpd2.h
      type_or_value: '"WWW-Authenticate"'
    - item_type: preproc_def
      name: MHD_HTTP_HEADER_ASTERISK
      pos:
        line_end: 2178
        line_start: 2177
        source_file: /src/mhd2/src/include/microhttpd2.h
      type_or_value: '"*"'
    - item_type: preproc_def
      name: MHD_HTTP_HEADER_A_IM
      pos:
        line_end: 2182
        line_start: 2181
        source_file: /src/mhd2/src/include/microhttpd2.h
      type_or_value: '"A-IM"'
    - item_type: preproc_def
      name: MHD_HTTP_HEADER_ACCEPT_ADDITIONS
      pos:
        line_end: 2184
        line_start: 2183
        source_file: /src/mhd2/src/include/microhttpd2.h
      type_or_value: '"Accept-Additions"'
    - item_type: preproc_def
      name: MHD_HTTP_HEADER_ACCEPT_CH
      pos:
        line_end: 2186
        line_start: 2185
        source_file: /src/mhd2/src/include/microhttpd2.h
      type_or_value: '"Accept-CH"'
    - item_type: preproc_def
      name: MHD_HTTP_HEADER_ACCEPT_DATETIME
      pos:
        line_end: 2188
        line_start: 2187
        source_file: /src/mhd2/src/include/microhttpd2.h
      type_or_value: '"Accept-Datetime"'
    - item_type: preproc_def
      name: MHD_HTTP_HEADER_ACCEPT_FEATURES
      pos:
        line_end: 2190
        line_start: 2189
        source_file: /src/mhd2/src/include/microhttpd2.h
      type_or_value: '"Accept-Features"'
    - item_type: preproc_def
      name: MHD_HTTP_HEADER_ACCEPT_PATCH
      pos:
        line_end: 2192
        line_start: 2191
        source_file: /src/mhd2/src/include/microhttpd2.h
      type_or_value: '"Accept-Patch"'
    - item_type: preproc_def
      name: MHD_HTTP_HEADER_ACCEPT_POST
      pos:
        line_end: 2194
        line_start: 2193
        source_file: /src/mhd2/src/include/microhttpd2.h
      type_or_value: '"Accept-Post"'
    - item_type: preproc_def
      name: MHD_HTTP_HEADER_ACCEPT_SIGNATURE
      pos:
        line_end: 2196
        line_start: 2195
        source_file: /src/mhd2/src/include/microhttpd2.h
      type_or_value: '"Accept-Signature"'
    - item_type: preproc_def
      name: MHD_HTTP_HEADER_ACCESS_CONTROL_ALLOW_CREDENTIALS
      pos:
        line_end: 2199
        line_start: 2197
        source_file: /src/mhd2/src/include/microhttpd2.h
      type_or_value: '"Access-Control-Allow-Credentials"'
    - item_type: preproc_def
      name: MHD_HTTP_HEADER_ACCESS_CONTROL_ALLOW_HEADERS
      pos:
        line_end: 2202
        line_start: 2200
        source_file: /src/mhd2/src/include/microhttpd2.h
      type_or_value: '"Access-Control-Allow-Headers"'
    - item_type: preproc_def
      name: MHD_HTTP_HEADER_ACCESS_CONTROL_ALLOW_METHODS
      pos:
        line_end: 2205
        line_start: 2203
        source_file: /src/mhd2/src/include/microhttpd2.h
      type_or_value: '"Access-Control-Allow-Methods"'
    - item_type: preproc_def
      name: MHD_HTTP_HEADER_ACCESS_CONTROL_ALLOW_ORIGIN
      pos:
        line_end: 2208
        line_start: 2206
        source_file: /src/mhd2/src/include/microhttpd2.h
      type_or_value: '"Access-Control-Allow-Origin"'
    - item_type: preproc_def
      name: MHD_HTTP_HEADER_ACCESS_CONTROL_EXPOSE_HEADERS
      pos:
        line_end: 2211
        line_start: 2209
        source_file: /src/mhd2/src/include/microhttpd2.h
      type_or_value: '"Access-Control-Expose-Headers"'
    - item_type: preproc_def
      name: MHD_HTTP_HEADER_ACCESS_CONTROL_MAX_AGE
      pos:
        line_end: 2213
        line_start: 2212
        source_file: /src/mhd2/src/include/microhttpd2.h
      type_or_value: '"Access-Control-Max-Age"'
    - item_type: preproc_def
      name: MHD_HTTP_HEADER_ACCESS_CONTROL_REQUEST_HEADERS
      pos:
        line_end: 2216
        line_start: 2214
        source_file: /src/mhd2/src/include/microhttpd2.h
      type_or_value: '"Access-Control-Request-Headers"'
    - item_type: preproc_def
      name: MHD_HTTP_HEADER_ACCESS_CONTROL_REQUEST_METHOD
      pos:
        line_end: 2219
        line_start: 2217
        source_file: /src/mhd2/src/include/microhttpd2.h
      type_or_value: '"Access-Control-Request-Method"'
    - item_type: preproc_def
      name: MHD_HTTP_HEADER_ALPN
      pos:
        line_end: 2221
        line_start: 2220
        source_file: /src/mhd2/src/include/microhttpd2.h
      type_or_value: '"ALPN"'
    - item_type: preproc_def
      name: MHD_HTTP_HEADER_ALT_SVC
      pos:
        line_end: 2223
        line_start: 2222
        source_file: /src/mhd2/src/include/microhttpd2.h
      type_or_value: '"Alt-Svc"'
    - item_type: preproc_def
      name: MHD_HTTP_HEADER_ALT_USED
      pos:
        line_end: 2225
        line_start: 2224
        source_file: /src/mhd2/src/include/microhttpd2.h
      type_or_value: '"Alt-Used"'
    - item_type: preproc_def
      name: MHD_HTTP_HEADER_ALTERNATES
      pos:
        line_end: 2227
        line_start: 2226
        source_file: /src/mhd2/src/include/microhttpd2.h
      type_or_value: '"Alternates"'
    - item_type: preproc_def
      name: MHD_HTTP_HEADER_APPLY_TO_REDIRECT_REF
      pos:
        line_end: 2229
        line_start: 2228
        source_file: /src/mhd2/src/include/microhttpd2.h
      type_or_value: '"Apply-To-Redirect-Ref"'
    - item_type: preproc_def
      name: MHD_HTTP_HEADER_AUTHENTICATION_CONTROL
      pos:
        line_end: 2231
        line_start: 2230
        source_file: /src/mhd2/src/include/microhttpd2.h
      type_or_value: '"Authentication-Control"'
    - item_type: preproc_def
      name: MHD_HTTP_HEADER_CACHE_STATUS
      pos:
        line_end: 2233
        line_start: 2232
        source_file: /src/mhd2/src/include/microhttpd2.h
      type_or_value: '"Cache-Status"'
    - item_type: preproc_def
      name: MHD_HTTP_HEADER_CAL_MANAGED_ID
      pos:
        line_end: 2235
        line_start: 2234
        source_file: /src/mhd2/src/include/microhttpd2.h
      type_or_value: '"Cal-Managed-ID"'
    - item_type: preproc_def
      name: MHD_HTTP_HEADER_CALDAV_TIMEZONES
      pos:
        line_end: 2237
        line_start: 2236
        source_file: /src/mhd2/src/include/microhttpd2.h
      type_or_value: '"CalDAV-Timezones"'
    - item_type: preproc_def
      name: MHD_HTTP_HEADER_CAPSULE_PROTOCOL
      pos:
        line_end: 2239
        line_start: 2238
        source_file: /src/mhd2/src/include/microhttpd2.h
      type_or_value: '"Capsule-Protocol"'
    - item_type: preproc_def
      name: MHD_HTTP_HEADER_CDN_CACHE_CONTROL
      pos:
        line_end: 2241
        line_start: 2240
        source_file: /src/mhd2/src/include/microhttpd2.h
      type_or_value: '"CDN-Cache-Control"'
    - item_type: preproc_def
      name: MHD_HTTP_HEADER_CDN_LOOP
      pos:
        line_end: 2243
        line_start: 2242
        source_file: /src/mhd2/src/include/microhttpd2.h
      type_or_value: '"CDN-Loop"'
    - item_type: preproc_def
      name: MHD_HTTP_HEADER_CERT_NOT_AFTER
      pos:
        line_end: 2245
        line_start: 2244
        source_file: /src/mhd2/src/include/microhttpd2.h
      type_or_value: '"Cert-Not-After"'
    - item_type: preproc_def
      name: MHD_HTTP_HEADER_CERT_NOT_BEFORE
      pos:
        line_end: 2247
        line_start: 2246
        source_file: /src/mhd2/src/include/microhttpd2.h
      type_or_value: '"Cert-Not-Before"'
    - item_type: preproc_def
      name: MHD_HTTP_HEADER_CLEAR_SITE_DATA
      pos:
        line_end: 2249
        line_start: 2248
        source_file: /src/mhd2/src/include/microhttpd2.h
      type_or_value: '"Clear-Site-Data"'
    - item_type: preproc_def
      name: MHD_HTTP_HEADER_CLIENT_CERT
      pos:
        line_end: 2251
        line_start: 2250
        source_file: /src/mhd2/src/include/microhttpd2.h
      type_or_value: '"Client-Cert"'
    - item_type: preproc_def
      name: MHD_HTTP_HEADER_CLIENT_CERT_CHAIN
      pos:
        line_end: 2253
        line_start: 2252
        source_file: /src/mhd2/src/include/microhttpd2.h
      type_or_value: '"Client-Cert-Chain"'
    - item_type: preproc_def
      name: MHD_HTTP_HEADER_CONTENT_DIGEST
      pos:
        line_end: 2255
        line_start: 2254
        source_file: /src/mhd2/src/include/microhttpd2.h
      type_or_value: '"Content-Digest"'
    - item_type: preproc_def
      name: MHD_HTTP_HEADER_CONTENT_DISPOSITION
      pos:
        line_end: 2257
        line_start: 2256
        source_file: /src/mhd2/src/include/microhttpd2.h
      type_or_value: '"Content-Disposition"'
    - item_type: preproc_def
      name: MHD_HTTP_HEADER_CONTENT_ID
      pos:
        line_end: 2259
        line_start: 2258
        source_file: /src/mhd2/src/include/microhttpd2.h
      type_or_value: '"Content-ID"'
    - item_type: preproc_def
      name: MHD_HTTP_HEADER_CONTENT_SECURITY_POLICY
      pos:
        line_end: 2261
        line_start: 2260
        source_file: /src/mhd2/src/include/microhttpd2.h
      type_or_value: '"Content-Security-Policy"'
    - item_type: preproc_def
      name: MHD_HTTP_HEADER_CONTENT_SECURITY_POLICY_REPORT_ONLY
      pos:
        line_end: 2264
        line_start: 2262
        source_file: /src/mhd2/src/include/microhttpd2.h
      type_or_value: '"Content-Security-Policy-Report-Only"'
    - item_type: preproc_def
      name: MHD_HTTP_HEADER_COOKIE
      pos:
        line_end: 2266
        line_start: 2265
        source_file: /src/mhd2/src/include/microhttpd2.h
      type_or_value: '"Cookie"'
    - item_type: preproc_def
      name: MHD_HTTP_HEADER_CROSS_ORIGIN_EMBEDDER_POLICY
      pos:
        line_end: 2269
        line_start: 2267
        source_file: /src/mhd2/src/include/microhttpd2.h
      type_or_value: '"Cross-Origin-Embedder-Policy"'
    - item_type: preproc_def
      name: MHD_HTTP_HEADER_CROSS_ORIGIN_EMBEDDER_POLICY_REPORT_ONLY
      pos:
        line_end: 2272
        line_start: 2270
        source_file: /src/mhd2/src/include/microhttpd2.h
      type_or_value: '"Cross-Origin-Embedder-Policy-Report-Only"'
    - item_type: preproc_def
      name: MHD_HTTP_HEADER_CROSS_ORIGIN_OPENER_POLICY
      pos:
        line_end: 2274
        line_start: 2273
        source_file: /src/mhd2/src/include/microhttpd2.h
      type_or_value: '"Cross-Origin-Opener-Policy"'
    - item_type: preproc_def
      name: MHD_HTTP_HEADER_CROSS_ORIGIN_OPENER_POLICY_REPORT_ONLY
      pos:
        line_end: 2277
        line_start: 2275
        source_file: /src/mhd2/src/include/microhttpd2.h
      type_or_value: '"Cross-Origin-Opener-Policy-Report-Only"'
    - item_type: preproc_def
      name: MHD_HTTP_HEADER_CROSS_ORIGIN_RESOURCE_POLICY
      pos:
        line_end: 2280
        line_start: 2278
        source_file: /src/mhd2/src/include/microhttpd2.h
      type_or_value: '"Cross-Origin-Resource-Policy"'
    - item_type: preproc_def
      name: MHD_HTTP_HEADER_DASL
      pos:
        line_end: 2282
        line_start: 2281
        source_file: /src/mhd2/src/include/microhttpd2.h
      type_or_value: '"DASL"'
    - item_type: preproc_def
      name: MHD_HTTP_HEADER_DAV
      pos:
        line_end: 2284
        line_start: 2283
        source_file: /src/mhd2/src/include/microhttpd2.h
      type_or_value: '"DAV"'
    - item_type: preproc_def
      name: MHD_HTTP_HEADER_DELTA_BASE
      pos:
        line_end: 2286
        line_start: 2285
        source_file: /src/mhd2/src/include/microhttpd2.h
      type_or_value: '"Delta-Base"'
    - item_type: preproc_def
      name: MHD_HTTP_HEADER_DEPTH
      pos:
        line_end: 2288
        line_start: 2287
        source_file: /src/mhd2/src/include/microhttpd2.h
      type_or_value: '"Depth"'
    - item_type: preproc_def
      name: MHD_HTTP_HEADER_DESTINATION
      pos:
        line_end: 2290
        line_start: 2289
        source_file: /src/mhd2/src/include/microhttpd2.h
      type_or_value: '"Destination"'
    - item_type: preproc_def
      name: MHD_HTTP_HEADER_DIFFERENTIAL_ID
      pos:
        line_end: 2292
        line_start: 2291
        source_file: /src/mhd2/src/include/microhttpd2.h
      type_or_value: '"Differential-ID"'
    - item_type: preproc_def
      name: MHD_HTTP_HEADER_DPOP
      pos:
        line_end: 2294
        line_start: 2293
        source_file: /src/mhd2/src/include/microhttpd2.h
      type_or_value: '"DPoP"'
    - item_type: preproc_def
      name: MHD_HTTP_HEADER_DPOP_NONCE
      pos:
        line_end: 2296
        line_start: 2295
        source_file: /src/mhd2/src/include/microhttpd2.h
      type_or_value: '"DPoP-Nonce"'
    - item_type: preproc_def
      name: MHD_HTTP_HEADER_EARLY_DATA
      pos:
        line_end: 2298
        line_start: 2297
        source_file: /src/mhd2/src/include/microhttpd2.h
      type_or_value: '"Early-Data"'
    - item_type: preproc_def
      name: MHD_HTTP_HEADER_EXPECT_CT
      pos:
        line_end: 2300
        line_start: 2299
        source_file: /src/mhd2/src/include/microhttpd2.h
      type_or_value: '"Expect-CT"'
    - item_type: preproc_def
      name: MHD_HTTP_HEADER_FORWARDED
      pos:
        line_end: 2302
        line_start: 2301
        source_file: /src/mhd2/src/include/microhttpd2.h
      type_or_value: '"Forwarded"'
    - item_type: preproc_def
      name: MHD_HTTP_HEADER_HOBAREG
      pos:
        line_end: 2304
        line_start: 2303
        source_file: /src/mhd2/src/include/microhttpd2.h
      type_or_value: '"Hobareg"'
    - item_type: preproc_def
      name: MHD_HTTP_HEADER_IF
      pos:
        line_end: 2306
        line_start: 2305
        source_file: /src/mhd2/src/include/microhttpd2.h
      type_or_value: '"If"'
    - item_type: preproc_def
      name: MHD_HTTP_HEADER_IF_SCHEDULE_TAG_MATCH
      pos:
        line_end: 2308
        line_start: 2307
        source_file: /src/mhd2/src/include/microhttpd2.h
      type_or_value: '"If-Schedule-Tag-Match"'
    - item_type: preproc_def
      name: MHD_HTTP_HEADER_IM
      pos:
        line_end: 2310
        line_start: 2309
        source_file: /src/mhd2/src/include/microhttpd2.h
      type_or_value: '"IM"'
    - item_type: preproc_def
      name: MHD_HTTP_HEADER_INCLUDE_REFERRED_TOKEN_BINDING_ID
      pos:
        line_end: 2313
        line_start: 2311
        source_file: /src/mhd2/src/include/microhttpd2.h
      type_or_value: '"Include-Referred-Token-Binding-ID"'
    - item_type: preproc_def
      name: MHD_HTTP_HEADER_KEEP_ALIVE
      pos:
        line_end: 2315
        line_start: 2314
        source_file: /src/mhd2/src/include/microhttpd2.h
      type_or_value: '"Keep-Alive"'
    - item_type: preproc_def
      name: MHD_HTTP_HEADER_LABEL
      pos:
        line_end: 2317
        line_start: 2316
        source_file: /src/mhd2/src/include/microhttpd2.h
      type_or_value: '"Label"'
    - item_type: preproc_def
      name: MHD_HTTP_HEADER_LAST_EVENT_ID
      pos:
        line_end: 2319
        line_start: 2318
        source_file: /src/mhd2/src/include/microhttpd2.h
      type_or_value: '"Last-Event-ID"'
    - item_type: preproc_def
      name: MHD_HTTP_HEADER_LINK
      pos:
        line_end: 2321
        line_start: 2320
        source_file: /src/mhd2/src/include/microhttpd2.h
      type_or_value: '"Link"'
    - item_type: preproc_def
      name: MHD_HTTP_HEADER_LOCK_TOKEN
      pos:
        line_end: 2323
        line_start: 2322
        source_file: /src/mhd2/src/include/microhttpd2.h
      type_or_value: '"Lock-Token"'
    - item_type: preproc_def
      name: MHD_HTTP_HEADER_MEMENTO_DATETIME
      pos:
        line_end: 2325
        line_start: 2324
        source_file: /src/mhd2/src/include/microhttpd2.h
      type_or_value: '"Memento-Datetime"'
    - item_type: preproc_def
      name: MHD_HTTP_HEADER_METER
      pos:
        line_end: 2327
        line_start: 2326
        source_file: /src/mhd2/src/include/microhttpd2.h
      type_or_value: '"Meter"'
    - item_type: preproc_def
      name: MHD_HTTP_HEADER_NEGOTIATE
      pos:
        line_end: 2329
        line_start: 2328
        source_file: /src/mhd2/src/include/microhttpd2.h
      type_or_value: '"Negotiate"'
    - item_type: preproc_def
      name: MHD_HTTP_HEADER_NEL
      pos:
        line_end: 2331
        line_start: 2330
        source_file: /src/mhd2/src/include/microhttpd2.h
      type_or_value: '"NEL"'
    - item_type: preproc_def
      name: MHD_HTTP_HEADER_ODATA_ENTITYID
      pos:
        line_end: 2333
        line_start: 2332
        source_file: /src/mhd2/src/include/microhttpd2.h
      type_or_value: '"OData-EntityId"'
    - item_type: preproc_def
      name: MHD_HTTP_HEADER_ODATA_ISOLATION
      pos:
        line_end: 2335
        line_start: 2334
        source_file: /src/mhd2/src/include/microhttpd2.h
      type_or_value: '"OData-Isolation"'
    - item_type: preproc_def
      name: MHD_HTTP_HEADER_ODATA_MAXVERSION
      pos:
        line_end: 2337
        line_start: 2336
        source_file: /src/mhd2/src/include/microhttpd2.h
      type_or_value: '"OData-MaxVersion"'
    - item_type: preproc_def
      name: MHD_HTTP_HEADER_ODATA_VERSION
      pos:
        line_end: 2339
        line_start: 2338
        source_file: /src/mhd2/src/include/microhttpd2.h
      type_or_value: '"OData-Version"'
    - item_type: preproc_def
      name: MHD_HTTP_HEADER_OPTIONAL_WWW_AUTHENTICATE
      pos:
        line_end: 2341
        line_start: 2340
        source_file: /src/mhd2/src/include/microhttpd2.h
      type_or_value: '"Optional-WWW-Authenticate"'
    - item_type: preproc_def
      name: MHD_HTTP_HEADER_ORDERING_TYPE
      pos:
        line_end: 2343
        line_start: 2342
        source_file: /src/mhd2/src/include/microhttpd2.h
      type_or_value: '"Ordering-Type"'
    - item_type: preproc_def
      name: MHD_HTTP_HEADER_ORIGIN
      pos:
        line_end: 2345
        line_start: 2344
        source_file: /src/mhd2/src/include/microhttpd2.h
      type_or_value: '"Origin"'
    - item_type: preproc_def
      name: MHD_HTTP_HEADER_ORIGIN_AGENT_CLUSTER
      pos:
        line_end: 2347
        line_start: 2346
        source_file: /src/mhd2/src/include/microhttpd2.h
      type_or_value: '"Origin-Agent-Cluster"'
    - item_type: preproc_def
      name: MHD_HTTP_HEADER_OSCORE
      pos:
        line_end: 2349
        line_start: 2348
        source_file: /src/mhd2/src/include/microhttpd2.h
      type_or_value: '"OSCORE"'
    - item_type: preproc_def
      name: MHD_HTTP_HEADER_OSLC_CORE_VERSION
      pos:
        line_end: 2351
        line_start: 2350
        source_file: /src/mhd2/src/include/microhttpd2.h
      type_or_value: '"OSLC-Core-Version"'
    - item_type: preproc_def
      name: MHD_HTTP_HEADER_OVERWRITE
      pos:
        line_end: 2353
        line_start: 2352
        source_file: /src/mhd2/src/include/microhttpd2.h
      type_or_value: '"Overwrite"'
    - item_type: preproc_def
      name: MHD_HTTP_HEADER_PING_FROM
      pos:
        line_end: 2355
        line_start: 2354
        source_file: /src/mhd2/src/include/microhttpd2.h
      type_or_value: '"Ping-From"'
    - item_type: preproc_def
      name: MHD_HTTP_HEADER_PING_TO
      pos:
        line_end: 2357
        line_start: 2356
        source_file: /src/mhd2/src/include/microhttpd2.h
      type_or_value: '"Ping-To"'
    - item_type: preproc_def
      name: MHD_HTTP_HEADER_POSITION
      pos:
        line_end: 2359
        line_start: 2358
        source_file: /src/mhd2/src/include/microhttpd2.h
      type_or_value: '"Position"'
    - item_type: preproc_def
      name: MHD_HTTP_HEADER_PREFER
      pos:
        line_end: 2361
        line_start: 2360
        source_file: /src/mhd2/src/include/microhttpd2.h
      type_or_value: '"Prefer"'
    - item_type: preproc_def
      name: MHD_HTTP_HEADER_PREFERENCE_APPLIED
      pos:
        line_end: 2363
        line_start: 2362
        source_file: /src/mhd2/src/include/microhttpd2.h
      type_or_value: '"Preference-Applied"'
    - item_type: preproc_def
      name: MHD_HTTP_HEADER_PRIORITY
      pos:
        line_end: 2365
        line_start: 2364
        source_file: /src/mhd2/src/include/microhttpd2.h
      type_or_value: '"Priority"'
    - item_type: preproc_def
      name: MHD_HTTP_HEADER_PROXY_STATUS
      pos:
        line_end: 2367
        line_start: 2366
        source_file: /src/mhd2/src/include/microhttpd2.h
      type_or_value: '"Proxy-Status"'
    - item_type: preproc_def
      name: MHD_HTTP_HEADER_PUBLIC_KEY_PINS
      pos:
        line_end: 2369
        line_start: 2368
        source_file: /src/mhd2/src/include/microhttpd2.h
      type_or_value: '"Public-Key-Pins"'
    - item_type: preproc_def
      name: MHD_HTTP_HEADER_PUBLIC_KEY_PINS_REPORT_ONLY
      pos:
        line_end: 2372
        line_start: 2370
        source_file: /src/mhd2/src/include/microhttpd2.h
      type_or_value: '"Public-Key-Pins-Report-Only"'
    - item_type: preproc_def
      name: MHD_HTTP_HEADER_REDIRECT_REF
      pos:
        line_end: 2374
        line_start: 2373
        source_file: /src/mhd2/src/include/microhttpd2.h
      type_or_value: '"Redirect-Ref"'
    - item_type: preproc_def
      name: MHD_HTTP_HEADER_REFRESH
      pos:
        line_end: 2376
        line_start: 2375
        source_file: /src/mhd2/src/include/microhttpd2.h
      type_or_value: '"Refresh"'
    - item_type: preproc_def
      name: MHD_HTTP_HEADER_REPLAY_NONCE
      pos:
        line_end: 2378
        line_start: 2377
        source_file: /src/mhd2/src/include/microhttpd2.h
      type_or_value: '"Replay-Nonce"'
    - item_type: preproc_def
      name: MHD_HTTP_HEADER_REPR_DIGEST
      pos:
        line_end: 2380
        line_start: 2379
        source_file: /src/mhd2/src/include/microhttpd2.h
      type_or_value: '"Repr-Digest"'
    - item_type: preproc_def
      name: MHD_HTTP_HEADER_SCHEDULE_REPLY
      pos:
        line_end: 2382
        line_start: 2381
        source_file: /src/mhd2/src/include/microhttpd2.h
      type_or_value: '"Schedule-Reply"'
    - item_type: preproc_def
      name: MHD_HTTP_HEADER_SCHEDULE_TAG
      pos:
        line_end: 2384
        line_start: 2383
        source_file: /src/mhd2/src/include/microhttpd2.h
      type_or_value: '"Schedule-Tag"'
    - item_type: preproc_def
      name: MHD_HTTP_HEADER_SEC_PURPOSE
      pos:
        line_end: 2386
        line_start: 2385
        source_file: /src/mhd2/src/include/microhttpd2.h
      type_or_value: '"Sec-Purpose"'
    - item_type: preproc_def
      name: MHD_HTTP_HEADER_SEC_TOKEN_BINDING
      pos:
        line_end: 2388
        line_start: 2387
        source_file: /src/mhd2/src/include/microhttpd2.h
      type_or_value: '"Sec-Token-Binding"'
    - item_type: preproc_def
      name: MHD_HTTP_HEADER_SEC_WEBSOCKET_ACCEPT
      pos:
        line_end: 2390
        line_start: 2389
        source_file: /src/mhd2/src/include/microhttpd2.h
      type_or_value: '"Sec-WebSocket-Accept"'
    - item_type: preproc_def
      name: MHD_HTTP_HEADER_SEC_WEBSOCKET_EXTENSIONS
      pos:
        line_end: 2392
        line_start: 2391
        source_file: /src/mhd2/src/include/microhttpd2.h
      type_or_value: '"Sec-WebSocket-Extensions"'
    - item_type: preproc_def
      name: MHD_HTTP_HEADER_SEC_WEBSOCKET_KEY
      pos:
        line_end: 2394
        line_start: 2393
        source_file: /src/mhd2/src/include/microhttpd2.h
      type_or_value: '"Sec-WebSocket-Key"'
    - item_type: preproc_def
      name: MHD_HTTP_HEADER_SEC_WEBSOCKET_PROTOCOL
      pos:
        line_end: 2396
        line_start: 2395
        source_file: /src/mhd2/src/include/microhttpd2.h
      type_or_value: '"Sec-WebSocket-Protocol"'
    - item_type: preproc_def
      name: MHD_HTTP_HEADER_SEC_WEBSOCKET_VERSION
      pos:
        line_end: 2398
        line_start: 2397
        source_file: /src/mhd2/src/include/microhttpd2.h
      type_or_value: '"Sec-WebSocket-Version"'
    - item_type: preproc_def
      name: MHD_HTTP_HEADER_SERVER_TIMING
      pos:
        line_end: 2400
        line_start: 2399
        source_file: /src/mhd2/src/include/microhttpd2.h
      type_or_value: '"Server-Timing"'
    - item_type: preproc_def
      name: MHD_HTTP_HEADER_SET_COOKIE
      pos:
        line_end: 2402
        line_start: 2401
        source_file: /src/mhd2/src/include/microhttpd2.h
      type_or_value: '"Set-Cookie"'
    - item_type: preproc_def
      name: MHD_HTTP_HEADER_SIGNATURE
      pos:
        line_end: 2404
        line_start: 2403
        source_file: /src/mhd2/src/include/microhttpd2.h
      type_or_value: '"Signature"'
    - item_type: preproc_def
      name: MHD_HTTP_HEADER_SIGNATURE_INPUT
      pos:
        line_end: 2406
        line_start: 2405
        source_file: /src/mhd2/src/include/microhttpd2.h
      type_or_value: '"Signature-Input"'
    - item_type: preproc_def
      name: MHD_HTTP_HEADER_SLUG
      pos:
        line_end: 2408
        line_start: 2407
        source_file: /src/mhd2/src/include/microhttpd2.h
      type_or_value: '"SLUG"'
    - item_type: preproc_def
      name: MHD_HTTP_HEADER_SOAPACTION
      pos:
        line_end: 2410
        line_start: 2409
        source_file: /src/mhd2/src/include/microhttpd2.h
      type_or_value: '"SoapAction"'
    - item_type: preproc_def
      name: MHD_HTTP_HEADER_STATUS_URI
      pos:
        line_end: 2412
        line_start: 2411
        source_file: /src/mhd2/src/include/microhttpd2.h
      type_or_value: '"Status-URI"'
    - item_type: preproc_def
      name: MHD_HTTP_HEADER_STRICT_TRANSPORT_SECURITY
      pos:
        line_end: 2414
        line_start: 2413
        source_file: /src/mhd2/src/include/microhttpd2.h
      type_or_value: '"Strict-Transport-Security"'
    - item_type: preproc_def
      name: MHD_HTTP_HEADER_SUNSET
      pos:
        line_end: 2416
        line_start: 2415
        source_file: /src/mhd2/src/include/microhttpd2.h
      type_or_value: '"Sunset"'
    - item_type: preproc_def
      name: MHD_HTTP_HEADER_SURROGATE_CAPABILITY
      pos:
        line_end: 2418
        line_start: 2417
        source_file: /src/mhd2/src/include/microhttpd2.h
      type_or_value: '"Surrogate-Capability"'
    - item_type: preproc_def
      name: MHD_HTTP_HEADER_SURROGATE_CONTROL
      pos:
        line_end: 2420
        line_start: 2419
        source_file: /src/mhd2/src/include/microhttpd2.h
      type_or_value: '"Surrogate-Control"'
    - item_type: preproc_def
      name: MHD_HTTP_HEADER_TCN
      pos:
        line_end: 2422
        line_start: 2421
        source_file: /src/mhd2/src/include/microhttpd2.h
      type_or_value: '"TCN"'
    - item_type: preproc_def
      name: MHD_HTTP_HEADER_TIMEOUT
      pos:
        line_end: 2424
        line_start: 2423
        source_file: /src/mhd2/src/include/microhttpd2.h
      type_or_value: '"Timeout"'
    - item_type: preproc_def
      name: MHD_HTTP_HEADER_TOPIC
      pos:
        line_end: 2426
        line_start: 2425
        source_file: /src/mhd2/src/include/microhttpd2.h
      type_or_value: '"Topic"'
    - item_type: preproc_def
      name: MHD_HTTP_HEADER_TRACEPARENT
      pos:
        line_end: 2428
        line_start: 2427
        source_file: /src/mhd2/src/include/microhttpd2.h
      type_or_value: '"Traceparent"'
    - item_type: preproc_def
      name: MHD_HTTP_HEADER_TRACESTATE
      pos:
        line_end: 2430
        line_start: 2429
        source_file: /src/mhd2/src/include/microhttpd2.h
      type_or_value: '"Tracestate"'
    - item_type: preproc_def
      name: MHD_HTTP_HEADER_TTL
      pos:
        line_end: 2432
        line_start: 2431
        source_file: /src/mhd2/src/include/microhttpd2.h
      type_or_value: '"TTL"'
    - item_type: preproc_def
      name: MHD_HTTP_HEADER_URGENCY
      pos:
        line_end: 2434
        line_start: 2433
        source_file: /src/mhd2/src/include/microhttpd2.h
      type_or_value: '"Urgency"'
    - item_type: preproc_def
      name: MHD_HTTP_HEADER_VARIANT_VARY
      pos:
        line_end: 2436
        line_start: 2435
        source_file: /src/mhd2/src/include/microhttpd2.h
      type_or_value: '"Variant-Vary"'
    - item_type: preproc_def
      name: MHD_HTTP_HEADER_WANT_CONTENT_DIGEST
      pos:
        line_end: 2438
        line_start: 2437
        source_file: /src/mhd2/src/include/microhttpd2.h
      type_or_value: '"Want-Content-Digest"'
    - item_type: preproc_def
      name: MHD_HTTP_HEADER_WANT_REPR_DIGEST
      pos:
        line_end: 2440
        line_start: 2439
        source_file: /src/mhd2/src/include/microhttpd2.h
      type_or_value: '"Want-Repr-Digest"'
    - item_type: preproc_def
      name: MHD_HTTP_HEADER_X_CONTENT_TYPE_OPTIONS
      pos:
        line_end: 2442
        line_start: 2441
        source_file: /src/mhd2/src/include/microhttpd2.h
      type_or_value: '"X-Content-Type-Options"'
    - item_type: preproc_def
      name: MHD_HTTP_HEADER_X_FRAME_OPTIONS
      pos:
        line_end: 2444
        line_start: 2443
        source_file: /src/mhd2/src/include/microhttpd2.h
      type_or_value: '"X-Frame-Options"'
    - item_type: preproc_def
      name: MHD_HTTP_HEADER_AMP_CACHE_TRANSFORM
      pos:
        line_end: 2446
        line_start: 2445
        source_file: /src/mhd2/src/include/microhttpd2.h
      type_or_value: '"AMP-Cache-Transform"'
    - item_type: preproc_def
      name: MHD_HTTP_HEADER_CONFIGURATION_CONTEXT
      pos:
        line_end: 2448
        line_start: 2447
        source_file: /src/mhd2/src/include/microhttpd2.h
      type_or_value: '"Configuration-Context"'
    - item_type: preproc_def
      name: MHD_HTTP_HEADER_EDIINT_FEATURES
      pos:
        line_end: 2450
        line_start: 2449
        source_file: /src/mhd2/src/include/microhttpd2.h
      type_or_value: '"EDIINT-Features"'
    - item_type: preproc_def
      name: MHD_HTTP_HEADER_ISOLATION
      pos:
        line_end: 2452
        line_start: 2451
        source_file: /src/mhd2/src/include/microhttpd2.h
      type_or_value: '"Isolation"'
    - item_type: preproc_def
      name: MHD_HTTP_HEADER_PERMISSIONS_POLICY
      pos:
        line_end: 2454
        line_start: 2453
        source_file: /src/mhd2/src/include/microhttpd2.h
      type_or_value: '"Permissions-Policy"'
    - item_type: preproc_def
      name: MHD_HTTP_HEADER_REPEATABILITY_CLIENT_ID
      pos:
        line_end: 2456
        line_start: 2455
        source_file: /src/mhd2/src/include/microhttpd2.h
      type_or_value: '"Repeatability-Client-ID"'
    - item_type: preproc_def
      name: MHD_HTTP_HEADER_REPEATABILITY_FIRST_SENT
      pos:
        line_end: 2458
        line_start: 2457
        source_file: /src/mhd2/src/include/microhttpd2.h
      type_or_value: '"Repeatability-First-Sent"'
    - item_type: preproc_def
      name: MHD_HTTP_HEADER_REPEATABILITY_REQUEST_ID
      pos:
        line_end: 2460
        line_start: 2459
        source_file: /src/mhd2/src/include/microhttpd2.h
      type_or_value: '"Repeatability-Request-ID"'
    - item_type: preproc_def
      name: MHD_HTTP_HEADER_REPEATABILITY_RESULT
      pos:
        line_end: 2462
        line_start: 2461
        source_file: /src/mhd2/src/include/microhttpd2.h
      type_or_value: '"Repeatability-Result"'
    - item_type: preproc_def
      name: MHD_HTTP_HEADER_REPORTING_ENDPOINTS
      pos:
        line_end: 2464
        line_start: 2463
        source_file: /src/mhd2/src/include/microhttpd2.h
      type_or_value: '"Reporting-Endpoints"'
    - item_type: preproc_def
      name: MHD_HTTP_HEADER_SEC_GPC
      pos:
        line_end: 2466
        line_start: 2465
        source_file: /src/mhd2/src/include/microhttpd2.h
      type_or_value: '"Sec-GPC"'
    - item_type: preproc_def
      name: MHD_HTTP_HEADER_TIMING_ALLOW_ORIGIN
      pos:
        line_end: 2468
        line_start: 2467
        source_file: /src/mhd2/src/include/microhttpd2.h
      type_or_value: '"Timing-Allow-Origin"'
    - item_type: preproc_def
      name: MHD_HTTP_HEADER_C_PEP_INFO
      pos:
        line_end: 2470
        line_start: 2469
        source_file: /src/mhd2/src/include/microhttpd2.h
      type_or_value: '"C-PEP-Info"'
    - item_type: preproc_def
      name: MHD_HTTP_HEADER_PROTOCOL_INFO
      pos:
        line_end: 2472
        line_start: 2471
        source_file: /src/mhd2/src/include/microhttpd2.h
      type_or_value: '"Protocol-Info"'
    - item_type: preproc_def
      name: MHD_HTTP_HEADER_PROTOCOL_QUERY
      pos:
        line_end: 2474
        line_start: 2473
        source_file: /src/mhd2/src/include/microhttpd2.h
      type_or_value: '"Protocol-Query"'
    - item_type: preproc_def
      name: MHD_HTTP_HEADER_ACCESS_CONTROL
      pos:
        line_end: 2476
        line_start: 2475
        source_file: /src/mhd2/src/include/microhttpd2.h
      type_or_value: '"Access-Control"'
    - item_type: preproc_def
      name: MHD_HTTP_HEADER_C_EXT
      pos:
        line_end: 2478
        line_start: 2477
        source_file: /src/mhd2/src/include/microhttpd2.h
      type_or_value: '"C-Ext"'
    - item_type: preproc_def
      name: MHD_HTTP_HEADER_C_MAN
      pos:
        line_end: 2480
        line_start: 2479
        source_file: /src/mhd2/src/include/microhttpd2.h
      type_or_value: '"C-Man"'
    - item_type: preproc_def
      name: MHD_HTTP_HEADER_C_OPT
      pos:
        line_end: 2482
        line_start: 2481
        source_file: /src/mhd2/src/include/microhttpd2.h
      type_or_value: '"C-Opt"'
    - item_type: preproc_def
      name: MHD_HTTP_HEADER_C_PEP
      pos:
        line_end: 2484
        line_start: 2483
        source_file: /src/mhd2/src/include/microhttpd2.h
      type_or_value: '"C-PEP"'
    - item_type: preproc_def
      name: MHD_HTTP_HEADER_CONTENT_BASE
      pos:
        line_end: 2486
        line_start: 2485
        source_file: /src/mhd2/src/include/microhttpd2.h
      type_or_value: '"Content-Base"'
    - item_type: preproc_def
      name: MHD_HTTP_HEADER_CONTENT_MD5
      pos:
        line_end: 2488
        line_start: 2487
        source_file: /src/mhd2/src/include/microhttpd2.h
      type_or_value: '"Content-MD5"'
    - item_type: preproc_def
      name: MHD_HTTP_HEADER_CONTENT_SCRIPT_TYPE
      pos:
        line_end: 2490
        line_start: 2489
        source_file: /src/mhd2/src/include/microhttpd2.h
      type_or_value: '"Content-Script-Type"'
    - item_type: preproc_def
      name: MHD_HTTP_HEADER_CONTENT_STYLE_TYPE
      pos:
        line_end: 2492
        line_start: 2491
        source_file: /src/mhd2/src/include/microhttpd2.h
      type_or_value: '"Content-Style-Type"'
    - item_type: preproc_def
      name: MHD_HTTP_HEADER_CONTENT_VERSION
      pos:
        line_end: 2494
        line_start: 2493
        source_file: /src/mhd2/src/include/microhttpd2.h
      type_or_value: '"Content-Version"'
    - item_type: preproc_def
      name: MHD_HTTP_HEADER_COOKIE2
      pos:
        line_end: 2496
        line_start: 2495
        source_file: /src/mhd2/src/include/microhttpd2.h
      type_or_value: '"Cookie2"'
    - item_type: preproc_def
      name: MHD_HTTP_HEADER_DEFAULT_STYLE
      pos:
        line_end: 2498
        line_start: 2497
        source_file: /src/mhd2/src/include/microhttpd2.h
      type_or_value: '"Default-Style"'
    - item_type: preproc_def
      name: MHD_HTTP_HEADER_DERIVED_FROM
      pos:
        line_end: 2500
        line_start: 2499
        source_file: /src/mhd2/src/include/microhttpd2.h
      type_or_value: '"Derived-From"'
    - item_type: preproc_def
      name: MHD_HTTP_HEADER_DIGEST
      pos:
        line_end: 2502
        line_start: 2501
        source_file: /src/mhd2/src/include/microhttpd2.h
      type_or_value: '"Digest"'
    - item_type: preproc_def
      name: MHD_HTTP_HEADER_EXT
      pos:
        line_end: 2504
        line_start: 2503
        source_file: /src/mhd2/src/include/microhttpd2.h
      type_or_value: '"Ext"'
    - item_type: preproc_def
      name: MHD_HTTP_HEADER_GETPROFILE
      pos:
        line_end: 2506
        line_start: 2505
        source_file: /src/mhd2/src/include/microhttpd2.h
      type_or_value: '"GetProfile"'
    - item_type: preproc_def
      name: MHD_HTTP_HEADER_HTTP2_SETTINGS
      pos:
        line_end: 2508
        line_start: 2507
        source_file: /src/mhd2/src/include/microhttpd2.h
      type_or_value: '"HTTP2-Settings"'
    - item_type: preproc_def
      name: MHD_HTTP_HEADER_MAN
      pos:
        line_end: 2510
        line_start: 2509
        source_file: /src/mhd2/src/include/microhttpd2.h
      type_or_value: '"Man"'
    - item_type: preproc_def
      name: MHD_HTTP_HEADER_METHOD_CHECK
      pos:
        line_end: 2512
        line_start: 2511
        source_file: /src/mhd2/src/include/microhttpd2.h
      type_or_value: '"Method-Check"'
    - item_type: preproc_def
      name: MHD_HTTP_HEADER_METHOD_CHECK_EXPIRES
      pos:
        line_end: 2514
        line_start: 2513
        source_file: /src/mhd2/src/include/microhttpd2.h
      type_or_value: '"Method-Check-Expires"'
    - item_type: preproc_def
      name: MHD_HTTP_HEADER_OPT
      pos:
        line_end: 2516
        line_start: 2515
        source_file: /src/mhd2/src/include/microhttpd2.h
      type_or_value: '"Opt"'
    - item_type: preproc_def
      name: MHD_HTTP_HEADER_P3P
      pos:
        line_end: 2518
        line_start: 2517
        source_file: /src/mhd2/src/include/microhttpd2.h
      type_or_value: '"P3P"'
    - item_type: preproc_def
      name: MHD_HTTP_HEADER_PEP
      pos:
        line_end: 2520
        line_start: 2519
        source_file: /src/mhd2/src/include/microhttpd2.h
      type_or_value: '"PEP"'
    - item_type: preproc_def
      name: MHD_HTTP_HEADER_PEP_INFO
      pos:
        line_end: 2522
        line_start: 2521
        source_file: /src/mhd2/src/include/microhttpd2.h
      type_or_value: '"Pep-Info"'
    - item_type: preproc_def
      name: MHD_HTTP_HEADER_PICS_LABEL
      pos:
        line_end: 2524
        line_start: 2523
        source_file: /src/mhd2/src/include/microhttpd2.h
      type_or_value: '"PICS-Label"'
    - item_type: preproc_def
      name: MHD_HTTP_HEADER_PROFILEOBJECT
      pos:
        line_end: 2526
        line_start: 2525
        source_file: /src/mhd2/src/include/microhttpd2.h
      type_or_value: '"ProfileObject"'
    - item_type: preproc_def
      name: MHD_HTTP_HEADER_PROTOCOL
      pos:
        line_end: 2528
        line_start: 2527
        source_file: /src/mhd2/src/include/microhttpd2.h
      type_or_value: '"Protocol"'
    - item_type: preproc_def
      name: MHD_HTTP_HEADER_PROTOCOL_REQUEST
      pos:
        line_end: 2530
        line_start: 2529
        source_file: /src/mhd2/src/include/microhttpd2.h
      type_or_value: '"Protocol-Request"'
    - item_type: preproc_def
      name: MHD_HTTP_HEADER_PROXY_FEATURES
      pos:
        line_end: 2532
        line_start: 2531
        source_file: /src/mhd2/src/include/microhttpd2.h
      type_or_value: '"Proxy-Features"'
    - item_type: preproc_def
      name: MHD_HTTP_HEADER_PROXY_INSTRUCTION
      pos:
        line_end: 2534
        line_start: 2533
        source_file: /src/mhd2/src/include/microhttpd2.h
      type_or_value: '"Proxy-Instruction"'
    - item_type: preproc_def
      name: MHD_HTTP_HEADER_PUBLIC
      pos:
        line_end: 2536
        line_start: 2535
        source_file: /src/mhd2/src/include/microhttpd2.h
      type_or_value: '"Public"'
    - item_type: preproc_def
      name: MHD_HTTP_HEADER_REFERER_ROOT
      pos:
        line_end: 2538
        line_start: 2537
        source_file: /src/mhd2/src/include/microhttpd2.h
      type_or_value: '"Referer-Root"'
    - item_type: preproc_def
      name: MHD_HTTP_HEADER_SAFE
      pos:
        line_end: 2540
        line_start: 2539
        source_file: /src/mhd2/src/include/microhttpd2.h
      type_or_value: '"Safe"'
    - item_type: preproc_def
      name: MHD_HTTP_HEADER_SECURITY_SCHEME
      pos:
        line_end: 2542
        line_start: 2541
        source_file: /src/mhd2/src/include/microhttpd2.h
      type_or_value: '"Security-Scheme"'
    - item_type: preproc_def
      name: MHD_HTTP_HEADER_SET_COOKIE2
      pos:
        line_end: 2544
        line_start: 2543
        source_file: /src/mhd2/src/include/microhttpd2.h
      type_or_value: '"Set-Cookie2"'
    - item_type: preproc_def
      name: MHD_HTTP_HEADER_SETPROFILE
      pos:
        line_end: 2546
        line_start: 2545
        source_file: /src/mhd2/src/include/microhttpd2.h
      type_or_value: '"SetProfile"'
    - item_type: preproc_def
      name: MHD_HTTP_HEADER_URI
      pos:
        line_end: 2548
        line_start: 2547
        source_file: /src/mhd2/src/include/microhttpd2.h
      type_or_value: '"URI"'
    - item_type: preproc_def
      name: MHD_HTTP_HEADER_WANT_DIGEST
      pos:
        line_end: 2550
        line_start: 2549
        source_file: /src/mhd2/src/include/microhttpd2.h
      type_or_value: '"Want-Digest"'
    - item_type: preproc_def
      name: MHD_HTTP_HEADER_WARNING
      pos:
        line_end: 2552
        line_start: 2551
        source_file: /src/mhd2/src/include/microhttpd2.h
      type_or_value: '"Warning"'
    - item_type: preproc_def
      name: MHD_HTTP_HEADER_COMPLIANCE
      pos:
        line_end: 2556
        line_start: 2555
        source_file: /src/mhd2/src/include/microhttpd2.h
      type_or_value: '"Compliance"'
    - item_type: preproc_def
      name: MHD_HTTP_HEADER_CONTENT_TRANSFER_ENCODING
      pos:
        line_end: 2558
        line_start: 2557
        source_file: /src/mhd2/src/include/microhttpd2.h
      type_or_value: '"Content-Transfer-Encoding"'
    - item_type: preproc_def
      name: MHD_HTTP_HEADER_COST
      pos:
        line_end: 2560
        line_start: 2559
        source_file: /src/mhd2/src/include/microhttpd2.h
      type_or_value: '"Cost"'
    - item_type: preproc_def
      name: MHD_HTTP_HEADER_MESSAGE_ID
      pos:
        line_end: 2562
        line_start: 2561
        source_file: /src/mhd2/src/include/microhttpd2.h
      type_or_value: '"Message-ID"'
    - item_type: preproc_def
      name: MHD_HTTP_HEADER_NON_COMPLIANCE
      pos:
        line_end: 2564
        line_start: 2563
        source_file: /src/mhd2/src/include/microhttpd2.h
      type_or_value: '"Non-Compliance"'
    - item_type: preproc_def
      name: MHD_HTTP_HEADER_OPTIONAL
      pos:
        line_end: 2566
        line_start: 2565
        source_file: /src/mhd2/src/include/microhttpd2.h
      type_or_value: '"Optional"'
    - item_type: preproc_def
      name: MHD_HTTP_HEADER_RESOLUTION_HINT
      pos:
        line_end: 2568
        line_start: 2567
        source_file: /src/mhd2/src/include/microhttpd2.h
      type_or_value: '"Resolution-Hint"'
    - item_type: preproc_def
      name: MHD_HTTP_HEADER_RESOLVER_LOCATION
      pos:
        line_end: 2570
        line_start: 2569
        source_file: /src/mhd2/src/include/microhttpd2.h
      type_or_value: '"Resolver-Location"'
    - item_type: preproc_def
      name: MHD_HTTP_HEADER_SUBOK
      pos:
        line_end: 2572
        line_start: 2571
        source_file: /src/mhd2/src/include/microhttpd2.h
      type_or_value: '"SubOK"'
    - item_type: preproc_def
      name: MHD_HTTP_HEADER_SUBST
      pos:
        line_end: 2574
        line_start: 2573
        source_file: /src/mhd2/src/include/microhttpd2.h
      type_or_value: '"Subst"'
    - item_type: preproc_def
      name: MHD_HTTP_HEADER_TITLE
      pos:
        line_end: 2576
        line_start: 2575
        source_file: /src/mhd2/src/include/microhttpd2.h
      type_or_value: '"Title"'
    - item_type: preproc_def
      name: MHD_HTTP_HEADER_UA_COLOR
      pos:
        line_end: 2578
        line_start: 2577
        source_file: /src/mhd2/src/include/microhttpd2.h
      type_or_value: '"UA-Color"'
    - item_type: preproc_def
      name: MHD_HTTP_HEADER_UA_MEDIA
      pos:
        line_end: 2580
        line_start: 2579
        source_file: /src/mhd2/src/include/microhttpd2.h
      type_or_value: '"UA-Media"'
    - item_type: preproc_def
      name: MHD_HTTP_HEADER_UA_PIXELS
      pos:
        line_end: 2582
        line_start: 2581
        source_file: /src/mhd2/src/include/microhttpd2.h
      type_or_value: '"UA-Pixels"'
    - item_type: preproc_def
      name: MHD_HTTP_HEADER_UA_RESOLUTION
      pos:
        line_end: 2584
        line_start: 2583
        source_file: /src/mhd2/src/include/microhttpd2.h
      type_or_value: '"UA-Resolution"'
    - item_type: preproc_def
      name: MHD_HTTP_HEADER_UA_WINDOWPIXELS
      pos:
        line_end: 2586
        line_start: 2585
        source_file: /src/mhd2/src/include/microhttpd2.h
      type_or_value: '"UA-Windowpixels"'
    - item_type: preproc_def
      name: MHD_HTTP_HEADER_VERSION
      pos:
        line_end: 2588
        line_start: 2587
        source_file: /src/mhd2/src/include/microhttpd2.h
      type_or_value: '"Version"'
    - item_type: preproc_def
      name: MHD_HTTP_HEADER_X_DEVICE_ACCEPT
      pos:
        line_end: 2590
        line_start: 2589
        source_file: /src/mhd2/src/include/microhttpd2.h
      type_or_value: '"X-Device-Accept"'
    - item_type: preproc_def
      name: MHD_HTTP_HEADER_X_DEVICE_ACCEPT_CHARSET
      pos:
        line_end: 2592
        line_start: 2591
        source_file: /src/mhd2/src/include/microhttpd2.h
      type_or_value: '"X-Device-Accept-Charset"'
    - item_type: preproc_def
      name: MHD_HTTP_HEADER_X_DEVICE_ACCEPT_ENCODING
      pos:
        line_end: 2594
        line_start: 2593
        source_file: /src/mhd2/src/include/microhttpd2.h
      type_or_value: '"X-Device-Accept-Encoding"'
    - item_type: preproc_def
      name: MHD_HTTP_HEADER_X_DEVICE_ACCEPT_LANGUAGE
      pos:
        line_end: 2596
        line_start: 2595
        source_file: /src/mhd2/src/include/microhttpd2.h
      type_or_value: '"X-Device-Accept-Language"'
    - item_type: preproc_def
      name: MHD_HTTP_HEADER_X_DEVICE_USER_AGENT
      pos:
        line_end: 2598
        line_start: 2597
        source_file: /src/mhd2/src/include/microhttpd2.h
      type_or_value: '"X-Device-User-Agent"'
    - item_type: preproc_def
      name: MHD_APP_SOCKET_CNTX_TYPE
      pos:
        line_end: 2883
        line_start: 2882
        source_file: /src/mhd2/src/include/microhttpd2.h
      type_or_value: void
    - item_type: preproc_def
      name: MHD_HTTP_PROTOCOL_VER_DEFINED
      pos:
        line_end: 5900
        line_start: 5899
        source_file: /src/mhd2/src/include/microhttpd2.h
      type_or_value: '1'
    - item_type: preproc_def
      name: MHD_HTTP_VERSION_1_0_STR
      pos:
        line_end: 5918
        line_start: 5917
        source_file: /src/mhd2/src/include/microhttpd2.h
      type_or_value: '"HTTP/1.0"'
    - item_type: preproc_def
      name: MHD_HTTP_VERSION_1_1_STR
      pos:
        line_end: 5922
        line_start: 5921
        source_file: /src/mhd2/src/include/microhttpd2.h
      type_or_value: '"HTTP/1.1"'
    - item_type: preproc_def
      name: MHD_HTTP_VERSION_1_2P_STR
      pos:
        line_end: 5927
        line_start: 5926
        source_file: /src/mhd2/src/include/microhttpd2.h
      type_or_value: '"HTTP/1.2+"'
    - item_type: preproc_def
      name: MHD_HTTP_VERSION_2_STR
      pos:
        line_end: 5933
        line_start: 5932
        source_file: /src/mhd2/src/include/microhttpd2.h
      type_or_value: '"HTTP/2"'
    - item_type: preproc_def
      name: MHD_HTTP_VERSION_3_STR
      pos:
        line_end: 5938
        line_start: 5937
        source_file: /src/mhd2/src/include/microhttpd2.h
      type_or_value: '"HTTP/3"'
    - item_type: preproc_def
      name: MHD_FREECALLBACK_DEFINED
      pos:
        line_end: 6165
        line_start: 6164
        source_file: /src/mhd2/src/include/microhttpd2.h
      type_or_value: '1'
    - item_type: preproc_def
      name: MHD_DYNCONTENTZCIOVEC_DEFINED
      pos:
        line_end: 6196
        line_start: 6195
        source_file: /src/mhd2/src/include/microhttpd2.h
      type_or_value: '1'
    - item_type: preproc_def
      name: MHD_UPLOADCALLBACK_DEFINED
      pos:
        line_end: 6775
        line_start: 6774
        source_file: /src/mhd2/src/include/microhttpd2.h
      type_or_value: '1'
    - item_type: preproc_def
      name: MHD_POST_PARSE_RESULT_DEFINED
      pos:
        line_end: 6929
        line_start: 6928
        source_file: /src/mhd2/src/include/microhttpd2.h
      type_or_value: '1'
    - item_type: preproc_def
      name: MHD_POST_DATA_READER_DEFINED
      pos:
        line_end: 7001
        line_start: 7000
        source_file: /src/mhd2/src/include/microhttpd2.h
      type_or_value: '1'
    - item_type: preproc_def
      name: MHD_POSTFILED_DEFINED
      pos:
        line_end: 7103
        line_start: 7102
        source_file: /src/mhd2/src/include/microhttpd2.h
      type_or_value: '1'
    - item_type: preproc_def
      name: MHD_UPGRADEHANDLER_DEFINED
      pos:
        line_end: 7205
        line_start: 7204
        source_file: /src/mhd2/src/include/microhttpd2.h
      type_or_value: '1'
    - item_type: preproc_def
      name: MHD_MD5_DIGEST_SIZE
      pos:
        line_end: 7405
        line_start: 7404
        source_file: /src/mhd2/src/include/microhttpd2.h
      type_or_value: '16'
    - item_type: preproc_def
      name: MHD_SHA256_DIGEST_SIZE
      pos:
        line_end: 7412
        line_start: 7411
        source_file: /src/mhd2/src/include/microhttpd2.h
      type_or_value: '32'
    - item_type: preproc_def
      name: MHD_SHA512_256_DIGEST_SIZE
      pos:
        line_end: 7421
        line_start: 7420
        source_file: /src/mhd2/src/include/microhttpd2.h
      type_or_value: '32'
    - item_type: preproc_def
      name: MHD_DIGEST_AUTH_ALGO_NON_SESSION
      pos:
        line_end: 7459
        line_start: 7458
        source_file: /src/mhd2/src/include/microhttpd2.h
      type_or_value: (1u << 6)
    - item_type: preproc_def
      name: MHD_DIGEST_AUTH_ALGO_SESSION
      pos:
        line_end: 7465
        line_start: 7464
        source_file: /src/mhd2/src/include/microhttpd2.h
      type_or_value: (1u << 7)
    structs:
    - fields:
      - name: len
        type: size_t
      - name: '*cstr'
        type: char
      item_type: struct
      name: MHD_String
      pos:
        line_end: 252
        line_start: 240
        source_file: /src/mhd2/src/include/microhttpd2.h
    - fields:
      - name: len
        type: size_t
      - name: '*cstr'
        type: char
      item_type: struct
      name: MHD_StringNullable
      pos:
        line_end: 271
        line_start: 258
        source_file: /src/mhd2/src/include/microhttpd2.h
    - fields:
      - name: reg_cb
        type: MHD_SocketRegistrationUpdateCallback
      - name: '*reg_cb_cls'
        type: void
      item_type: struct
      name: MHD_WorkModeExternalEventLoopCBParam
      pos:
        line_end: 3066
        line_start: 3056
        source_file: /src/mhd2/src/include/microhttpd2.h
    - fields:
      - name: mode
        type: enum MHD_WorkMode
      - name: params
        type: union MHD_WorkModeParam
      item_type: struct
      name: MHD_WorkModeWithParam
      pos:
        line_end: 3109
        line_start: 3099
        source_file: /src/mhd2/src/include/microhttpd2.h
    - fields:
      - name: '*request'
        type: struct MHD_Request
      - name: full_uri
        type: struct MHD_String
      - name: method
        type: enum MHD_HTTP_Method
      item_type: struct
      name: MHD_EarlyUriCbData
      pos:
        line_end: 3861
        line_start: 3843
        source_file: /src/mhd2/src/include/microhttpd2.h
    - fields:
      - name: '*connection'
        type: struct MHD_Connection
      - name: '*application_context'
        type: void
      - name: code
        type: enum MHD_ConnectionNotificationCode
      - name: details
        type: union MHD_ConnectionNotificationDetails
      item_type: struct
      name: MHD_ConnectionNotificationData
      pos:
        line_end: 3950
        line_start: 3929
        source_file: /src/mhd2/src/include/microhttpd2.h
    - fields:
      - name: by_client
        type: enum MHD_Bool
      item_type: struct
      name: MHD_StreamNotificationDetailStarted
      pos:
        line_end: 3996
        line_start: 3990
        source_file: /src/mhd2/src/include/microhttpd2.h
    - fields:
      - name: '*stream'
        type: struct MHD_Stream
      - name: code
        type: enum MHD_StreamNotificationCode
      - name: details
        type: union MHD_StreamNotificationDetail
      item_type: struct
      name: MHD_StreamNotificationData
      pos:
        line_end: 4026
        line_start: 4012
        source_file: /src/mhd2/src/include/microhttpd2.h
    - fields:
      - name: '*req'
        type: struct MHD_Request
      - name: code
        type: enum MHD_RequestEndedCode
      - name: details
        type: union MHD_RequestEndedDetail
      item_type: struct
      name: MHD_RequestEndedData
      pos:
        line_end: 4172
        line_start: 4157
        source_file: /src/mhd2/src/include/microhttpd2.h
    - fields:
      - name: reserved1
        type: uint_fast64_t
      - name: '*reserved2'
        type: void
      item_type: struct
      name: MHD_ReservedStruct
      pos:
        line_end: 5233
        line_start: 5229
        source_file: /src/mhd2/src/include/microhttpd2.h
    - fields:
      - name: opt
        type: enum MHD_ConnectionOption
      - name: val
        type: union MHD_ConnectionOptionValue
      item_type: struct
      name: MHD_ConnectionOptionAndValue
      pos:
        line_end: 5264
        line_start: 5254
        source_file: /src/mhd2/src/include/microhttpd2.h
    - fields:
      - name: name
        type: struct MHD_String
      - name: value
        type: struct MHD_StringNullable
      item_type: struct
      name: MHD_NameAndValue
      pos:
        line_end: 5510
        line_start: 5496
        source_file: /src/mhd2/src/include/microhttpd2.h
    - fields:
      - name: nv
        type: struct MHD_NameAndValue
      - name: kind
        type: enum MHD_ValueKind
      item_type: struct
      name: MHD_NameValueKind
      pos:
        line_end: 5525
        line_start: 5515
        source_file: /src/mhd2/src/include/microhttpd2.h
    - fields:
      - name: '*name'
        type: char
      - name: '*value'
        type: char
      item_type: struct
      name: MHD_NameValueCStr
      pos:
        line_end: 5979
        line_start: 5965
        source_file: /src/mhd2/src/include/microhttpd2.h
    - fields:
      - name: iov_count
        type: unsigned int
      - name: '*iov'
        type: struct MHD_IoVec
      - name: iov_fcb
        type: MHD_FreeCallback
      - name: '*iov_fcb_cls'
        type: void
      item_type: struct
      name: MHD_DynContentZCIoVec
      pos:
        line_end: 6193
        line_start: 6173
        source_file: /src/mhd2/src/include/microhttpd2.h
    - fields:
      - name: '*iov_base'
        type: void
      - name: iov_len
        type: size_t
      item_type: struct
      name: MHD_IoVec
      pos:
        line_end: 6519
        line_start: 6508
        source_file: /src/mhd2/src/include/microhttpd2.h
    - fields:
      - name: name
        type: struct MHD_String
      - name: value
        type: struct MHD_StringNullable
      - name: filename
        type: struct MHD_StringNullable
      - name: content_type
        type: struct MHD_StringNullable
      - name: transfer_encoding
        type: struct MHD_StringNullable
      item_type: struct
      name: MHD_PostField
      pos:
        line_end: 7100
        line_start: 7066
        source_file: /src/mhd2/src/include/microhttpd2.h
    - fields:
      - name: algo
        type: enum MHD_DigestAuthAlgo
      - name: uname_type
        type: enum MHD_DigestAuthUsernameType
      - name: username
        type: struct MHD_StringNullable
      - name: userhash_hex
        type: struct MHD_StringNullable
      - name: '*userhash_bin'
        type: uint8_t
      - name: userhash_bin_size
        type: size_t
      - name: opaque
        type: struct MHD_StringNullable
      - name: realm
        type: struct MHD_StringNullable
      - name: qop
        type: enum MHD_DigestAuthQOP
      - name: cnonce_len
        type: size_t
      - name: nc_type
        type: enum MHD_DigestAuthNC
      - name: nc
        type: uint_fast32_t
      item_type: struct
      name: MHD_AuthDigestInfo
      pos:
        line_end: 8038
        line_start: 7944
        source_file: /src/mhd2/src/include/microhttpd2.h
    - fields:
      - name: username
        type: struct MHD_String
      - name: password
        type: struct MHD_StringNullable
      item_type: struct
      name: MHD_AuthBasicCreds
      pos:
        line_end: 8796
        line_start: 8784
        source_file: /src/mhd2/src/include/microhttpd2.h
    - fields:
      - name: func_select
        type: enum MHD_Bool
      - name: func_poll
        type: enum MHD_Bool
      - name: tech_epoll
        type: enum MHD_Bool
      - name: tech_kqueue
        type: enum MHD_Bool
      item_type: struct
      name: MHD_LibInfoFixedPollingFunc
      pos:
        line_end: 9127
        line_start: 9109
        source_file: /src/mhd2/src/include/microhttpd2.h
    - fields:
      - name: tls_supported
        type: enum MHD_Bool
      - name: backend_gnutls
        type: enum MHD_Bool
      - name: backend_openssl
        type: enum MHD_Bool
      - name: backend_mbedtls
        type: enum MHD_Bool
      item_type: struct
      name: MHD_LibInfoTLSType
      pos:
        line_end: 9206
        line_start: 9187
        source_file: /src/mhd2/src/include/microhttpd2.h
    - fields:
      - name: sa_size
        type: size_t
      - name: '*sa'
        type: struct sockaddr
      item_type: struct
      name: MHD_ConnInfoFixedSockAddr
      pos:
        line_end: 10017
        line_start: 10006
        source_file: /src/mhd2/src/include/microhttpd2.h
    typedefs:
    - item_type: typedef
      name: MHD_Socket
      pos:
        line_end: 283
        line_start: 283
        source_file: /src/mhd2/src/include/microhttpd2.h
      type: int
    - item_type: typedef
      name: MHD_Socket
      pos:
        line_end: 290
        line_start: 290
        source_file: /src/mhd2/src/include/microhttpd2.h
      type: SOCKET
    - item_type: typedef
      name: "*\n(MHD_FN_PAR_NONNULL_ (2) MHD_FN_PAR_NONNULL_ (3)\n *MHD_RequestCallback)(void
        *cls,\n                       struct MHD_Request *MHD_RESTRICT request,\n
        \                      const struct MHD_String *MHD_RESTRICT path,\n                       enum
        MHD_HTTP_Method method,\n                       uint_fast64_t upload_size)"
      pos:
        line_end: 2642
        line_start: 2636
        source_file: /src/mhd2/src/include/microhttpd2.h
      type: MHD_Action
    - item_type: typedef
      name: "*\n(MHD_FN_PAR_NONNULL_ (5)\n *MHD_SocketRegistrationUpdateCallback)(\n
        \ void *cls,\n  MHD_Socket fd,\n  enum MHD_FdState watch_for,\n  MHD_APP_SOCKET_CNTX_TYPE
        *app_cntx_old,\n  struct MHD_EventUpdateContext *ecb_cntx)"
      pos:
        line_end: 2914
        line_start: 2907
        source_file: /src/mhd2/src/include/microhttpd2.h
      type: MHD_APP_SOCKET_CNTX_TYPE
    - item_type: typedef
      name: "(MHD_FN_PAR_NONNULL_ (3)\n MHD_FN_PAR_CSTR_ (3)\n *MHD_LoggingCallback)(void
        *cls,\n                       enum MHD_StatusCode sc,\n                       const
        char *fm,\n                       va_list ap)"
      pos:
        line_end: 3379
        line_start: 3373
        source_file: /src/mhd2/src/include/microhttpd2.h
      type: void
    - item_type: typedef
      name: "(*MHD_PskServerCredentialsCallback)(\n  void *cls,\n  const struct MHD_Connection
        *MHD_RESTRICT connection,\n  const struct MHD_String *MHD_RESTRICT username,\n
        \ struct MHD_ServerCredentialsContext *mscc)"
      pos:
        line_end: 3808
        line_start: 3803
        source_file: /src/mhd2/src/include/microhttpd2.h
      type: void
    - item_type: typedef
      name: (*MHD_DaemonReadyCallback)(void *cls)
      pos:
        line_end: 3822
        line_start: 3821
        source_file: /src/mhd2/src/include/microhttpd2.h
      type: void
    - item_type: typedef
      name: "(*MHD_AcceptPolicyCallback)(void *cls,\n                            size_t
        addr_len,\n                            const struct sockaddr *addr)"
      pos:
        line_end: 3837
        line_start: 3834
        source_file: /src/mhd2/src/include/microhttpd2.h
      type: MHD_Bool
    - item_type: typedef
      name: "(MHD_FN_PAR_NONNULL_ALL_ MHD_FN_PAR_INOUT_ (3)\n *MHD_EarlyUriLogCallback)(void
        *cls,\n                           const struct MHD_EarlyUriCbData *req_data,\n
        \                          void **request_app_context_ptr)"
      pos:
        line_end: 3888
        line_start: 3884
        source_file: /src/mhd2/src/include/microhttpd2.h
      type: void
    - item_type: typedef
      name: "(MHD_FN_PAR_NONNULL_ (2)\n *MHD_NotifyConnectionCallback)(void *cls,\n
        \                               struct MHD_ConnectionNotificationData *data)"
      pos:
        line_end: 3965
        line_start: 3962
        source_file: /src/mhd2/src/include/microhttpd2.h
      type: void
    - item_type: typedef
      name: "(MHD_FN_PAR_NONNULL_ (2)\n *MHD_NotifyStreamCallback)(\n  void *cls,\n
        \ const struct MHD_StreamNotificationData *data)"
      pos:
        line_end: 4044
        line_start: 4040
        source_file: /src/mhd2/src/include/microhttpd2.h
      type: void
    - item_type: typedef
      name: "(*MHD_RequestEndedCallback)(void *cls,\n                            const
        struct MHD_RequestEndedData *data,\n                            void *request_app_context)"
      pos:
        line_end: 4192
        line_start: 4189
        source_file: /src/mhd2/src/include/microhttpd2.h
      type: void
    - item_type: typedef
      name: "(MHD_FN_PAR_NONNULL_ (3)\n *MHD_NameValueIterator)(void *cls,\n                         enum
        MHD_ValueKind kind,\n                         const struct MHD_NameAndValue
        *nv)"
      pos:
        line_end: 5550
        line_start: 5546
        source_file: /src/mhd2/src/include/microhttpd2.h
      type: MHD_Bool
    - item_type: typedef
      name: (*MHD_FreeCallback)(void *free_cls)
      pos:
        line_end: 6162
        line_start: 6161
        source_file: /src/mhd2/src/include/microhttpd2.h
      type: void
    - item_type: typedef
      name: "*\n(MHD_FN_PAR_NONNULL_ (2) MHD_FN_PAR_NONNULL_ (4)\n *MHD_DynamicContentCreator)(void
        *dyn_cont_cls,\n                             struct MHD_DynamicContentCreatorContext
        *ctx,\n                             uint_fast64_t pos,\n                             void
        *buf,\n                             size_t max)"
      pos:
        line_end: 6374
        line_start: 6368
        source_file: /src/mhd2/src/include/microhttpd2.h
      type: MHD_DynamicContentCreatorAction
    - item_type: typedef
      name: "*\n(MHD_FN_PAR_NONNULL_ (2)  MHD_FN_PAR_INOUT_SIZE_ (4, 3)\n *MHD_UploadCallback)(void
        *upload_cls,\n                      struct MHD_Request *request,\n                      size_t
        content_data_size,\n                      void *content_data)"
      pos:
        line_end: 6772
        line_start: 6767
        source_file: /src/mhd2/src/include/microhttpd2.h
      type: MHD_UploadAction
    - item_type: typedef
      name: "*\n(MHD_FN_PAR_NONNULL_ (1) MHD_FN_PAR_NONNULL_ (3) MHD_FN_PAR_NONNULL_
        (4)\n MHD_FN_PAR_NONNULL_ (5) MHD_FN_PAR_NONNULL_ (6)\n *MHD_PostDataReader)
        (struct MHD_Request *req,\n                       void *cls,\n                       const
        struct MHD_String *name,\n                       const struct MHD_StringNullable
        *filename,\n                       const struct MHD_StringNullable *content_type,\n
        \                      const struct MHD_StringNullable *encoding,\n                       size_t
        size,\n                       const void *data,\n                       uint_fast64_t
        off,\n                       enum MHD_Bool final_data)"
      pos:
        line_end: 6983
        line_start: 6971
        source_file: /src/mhd2/src/include/microhttpd2.h
      type: MHD_UploadAction
    - item_type: typedef
      name: "*\n(MHD_FN_PAR_NONNULL_ (1)\n *MHD_PostDataFinished) (struct MHD_Request
        *req,\n                         void *cls,\n                         enum
        MHD_PostParseResult parsing_result)"
      pos:
        line_end: 6998
        line_start: 6994
        source_file: /src/mhd2/src/include/microhttpd2.h
      type: MHD_UploadAction
    - item_type: typedef
      name: "(MHD_FN_PAR_NONNULL_ (2)\n *MHD_PostDataIterator)(void *cls,\n                        const
        struct MHD_PostField *data)"
      pos:
        line_end: 7124
        line_start: 7121
        source_file: /src/mhd2/src/include/microhttpd2.h
      type: MHD_Bool
    - item_type: typedef
      name: "(MHD_FN_PAR_NONNULL_ (2) MHD_FN_PAR_NONNULL_ (3)\n *MHD_UpgradeHandler)(void
        *cls,\n                      struct MHD_Request *MHD_RESTRICT request,\n                      struct
        MHD_UpgradedHandle *MHD_RESTRICT urh)"
      pos:
        line_end: 7202
        line_start: 7198
        source_file: /src/mhd2/src/include/microhttpd2.h
      type: void
    - item_type: typedef
      name: "(*MHD_PanicCallback)(void *cls,\n                     const char *file,\n
        \                    const char *func,\n                     unsigned int
        line,\n                     const char *message)"
      pos:
        line_end: 11057
        line_start: 11052
        source_file: /src/mhd2/src/include/microhttpd2.h
      type: void
    union:
    - fields:
      - name: v_external_event_loop_cb
        type: struct MHD_WorkModeExternalEventLoopCBParam
      - name: num_worker_threads
        type: unsigned int
      item_type: union
      name: MHD_WorkModeParam
      pos:
        line_end: 3087
        line_start: 3071
        source_file: /src/mhd2/src/include/microhttpd2.h
    - fields:
      - name: reserved1
        type: int
      item_type: union
      name: MHD_ConnectionNotificationDetails
      pos:
        line_end: 3923
        line_start: 3917
        source_file: /src/mhd2/src/include/microhttpd2.h
    - fields:
      - name: started
        type: struct MHD_StreamNotificationDetailStarted
      item_type: union
      name: MHD_StreamNotificationDetail
      pos:
        line_end: 4007
        line_start: 4001
        source_file: /src/mhd2/src/include/microhttpd2.h
    - fields:
      - name: '*reserved'
        type: void
      item_type: union
      name: MHD_RequestEndedDetail
      pos:
        line_end: 4152
        line_start: 4145
        source_file: /src/mhd2/src/include/microhttpd2.h
    - fields:
      - name: v_timeout
        type: unsigned int
      - name: reserved
        type: struct MHD_ReservedStruct
      item_type: union
      name: MHD_ConnectionOptionValue
      pos:
        line_end: 5249
        line_start: 5239
        source_file: /src/mhd2/src/include/microhttpd2.h
    - fields:
      - name: v_version_num_uint32
        type: uint_fast32_t
      - name: v_version_string
        type: struct MHD_String
      - name: v_support_log_messages_bool
        type: enum MHD_Bool
      - name: v_support_auto_replies_bodies_bool
        type: enum MHD_Bool
      - name: v_is_non_debug_bool
        type: enum MHD_Bool
      - name: v_support_threads_bool
        type: enum MHD_Bool
      - name: v_support_cookie_parser_bool
        type: enum MHD_Bool
      - name: v_support_post_parser_bool
        type: enum MHD_Bool
      - name: v_support_upgrade_bool
        type: enum MHD_Bool
      - name: v_support_auth_basic_bool
        type: enum MHD_Bool
      - name: v_support_auth_digest_bool
        type: enum MHD_Bool
      - name: v_support_digest_auth_rfc2069_bool
        type: enum MHD_Bool
      - name: v_type_digest_auth_md5_algo_type
        type: enum MHD_LibInfoFixedDigestAlgoType
      - name: v_type_digest_auth_sha256_algo_type
        type: enum MHD_LibInfoFixedDigestAlgoType
      - name: v_type_digest_auth_sha512_256_algo_type
        type: enum MHD_LibInfoFixedDigestAlgoType
      - name: v_support_digest_auth_auth_int_bool
        type: enum MHD_Bool
      - name: v_support_digest_auth_algo_session_bool
        type: enum MHD_Bool
      - name: v_support_digest_auth_userhash_bool
        type: enum MHD_Bool
      - name: v_types_sockets_polling
        type: struct MHD_LibInfoFixedPollingFunc
      - name: v_support_aggregate_fd_bool
        type: enum MHD_Bool
      - name: v_ipv6
        type: enum MHD_LibInfoFixedIPv6Type
      - name: v_support_tcp_fastopen_bool
        type: enum MHD_Bool
      - name: v_has_autodetect_bind_port_bool
        type: enum MHD_Bool
      - name: v_has_sendfile_bool
        type: enum MHD_Bool
      - name: v_has_autosuppress_sigpipe_int_bool
        type: enum MHD_Bool
      - name: v_has_autosuppress_sigpipe_ext_bool
        type: enum MHD_Bool
      - name: v_has_thread_names_bool
        type: enum MHD_Bool
      - name: v_type_itc
        type: enum MHD_LibInfoFixedITCType
      - name: v_support_large_file_bool
        type: enum MHD_Bool
      - name: v_tls_backends
        type: struct MHD_LibInfoTLSType
      - name: v_tls_key_password_backends
        type: struct MHD_LibInfoTLSType
      item_type: union
      name: MHD_LibInfoFixedData
      pos:
        line_end: 9337
        line_start: 9211
        source_file: /src/mhd2/src/include/microhttpd2.h
    - fields:
      - name: v_inited_fully_once_bool
        type: enum MHD_Bool
      - name: v_inited_fully_now_bool
        type: enum MHD_Bool
      - name: v_tls_backends
        type: struct MHD_LibInfoTLSType
      - name: '*reserved'
        type: void
      item_type: union
      name: MHD_LibInfoDynamicData
      pos:
        line_end: 9501
        line_start: 9478
        source_file: /src/mhd2/src/include/microhttpd2.h
    - fields:
      - name: v_poll_syscall
        type: enum MHD_SockPollSyscall
      - name: v_num_work_threads_uint
        type: unsigned int
      - name: v_bind_port_uint16
        type: uint_least16_t
      - name: v_listen_socket
        type: MHD_Socket
      - name: v_aggreagate_fd
        type: int
      - name: v_tls_backend
        type: enum MHD_TlsBackend
      - name: v_default_timeout_milsec_uint32
        type: uint_fast32_t
      - name: v_global_connection_limit_uint
        type: unsigned int
      - name: v_per_ip_limit_uint
        type: unsigned int
      - name: v_suppress_date_header_bool
        type: enum MHD_Bool
      - name: v_conn_memory_limit_sizet
        type: size_t
      - name: v_fd_number_limit_socket
        type: MHD_Socket
      - name: '*reserved'
        type: void
      item_type: union
      name: MHD_DaemonInfoFixedData
      pos:
        line_end: 9740
        line_start: 9672
        source_file: /src/mhd2/src/include/microhttpd2.h
    - fields:
      - name: v_max_time_to_wait_uint64
        type: uint_fast64_t
      - name: v_has_connections_bool
        type: enum MHD_Bool
      - name: '*reserved'
        type: void
      item_type: union
      name: MHD_DaemonInfoDynamicData
      pos:
        line_end: 9872
        line_start: 9854
        source_file: /src/mhd2/src/include/microhttpd2.h
    - fields:
      - name: v_client_address_sa_info
        type: struct MHD_ConnInfoFixedSockAddr
      - name: v_connection_socket
        type: MHD_Socket
      - name: '*v_daemon'
        type: struct MHD_Daemon
      - name: '**v_app_context_ppvoid'
        type: void
      item_type: union
      name: MHD_ConnectionInfoFixedData
      pos:
        line_end: 10044
        line_start: 10022
        source_file: /src/mhd2/src/include/microhttpd2.h
    - fields: []
      item_type: union
      name: MHD_ConnInfoDynamicTlsSess
      pos:
        line_end: 10260
        line_start: 10228
        source_file: /src/mhd2/src/include/microhttpd2.h
    - fields:
      - name: v_http_ver
        type: enum MHD_HTTP_ProtocolVersion
      - name: v_connection_timeout_uint32
        type: uint_fast32_t
      - name: v_connection_suspended_bool
        type: enum MHD_Bool
      - name: v_tls_ver
        type: enum MHD_TlsVersion
      - name: v_tls_session
        type: union MHD_ConnInfoDynamicTlsSess
      item_type: union
      name: MHD_ConnectionInfoDynamicData
      pos:
        line_end: 10294
        line_start: 10265
        source_file: /src/mhd2/src/include/microhttpd2.h
    - fields:
      - name: '*v_daemon'
        type: struct MHD_Daemon
      - name: '*v_connection'
        type: struct MHD_Connection
      item_type: union
      name: MHD_StreamInfoFixedData
      pos:
        line_end: 10414
        line_start: 10404
        source_file: /src/mhd2/src/include/microhttpd2.h
    - fields:
      - name: '*v_request'
        type: struct MHD_Request
      item_type: union
      name: MHD_StreamInfoDynamicData
      pos:
        line_end: 10500
        line_start: 10494
        source_file: /src/mhd2/src/include/microhttpd2.h
    - fields:
      - name: v_http_ver
        type: enum MHD_HTTP_ProtocolVersion
      - name: v_http_method
        type: enum MHD_HTTP_Method
      - name: '*v_daemon'
        type: struct MHD_Daemon
      - name: '*v_connection'
        type: struct MHD_Connection
      - name: '*v_stream'
        type: struct MHD_Stream
      - name: '**v_app_context_ppvoid'
        type: void
      item_type: union
      name: MHD_RequestInfoFixedData
      pos:
        line_end: 10651
        line_start: 10619
        source_file: /src/mhd2/src/include/microhttpd2.h
    - fields:
      - name: v_http_method_string
        type: struct MHD_String
      - name: v_uri_string
        type: struct MHD_String
      - name: v_number_uri_params_sizet
        type: size_t
      - name: v_number_cookies_sizet
        type: size_t
      - name: v_header_size_sizet
        type: size_t
      - name: v_number_post_params_sizet
        type: size_t
      - name: v_upload_present_bool
        type: enum MHD_Bool
      - name: v_upload_chunked_bool
        type: enum MHD_Bool
      - name: v_upload_size_total_uint64
        type: uint_fast64_t
      - name: v_upload_size_recieved_uint64
        type: uint_fast64_t
      - name: v_upload_size_to_recieve_uint64
        type: uint_fast64_t
      - name: v_upload_size_processed_uint64
        type: uint_fast64_t
      - name: v_upload_size_to_process_uint64
        type: uint_fast64_t
      - name: '*v_auth_digest_info'
        type: struct MHD_AuthDigestInfo
      - name: '*v_auth_basic_creds'
        type: struct MHD_AuthBasicCreds
      item_type: union
      name: MHD_RequestInfoDynamicData
      pos:
        line_end: 10941
        line_start: 10864
        source_file: /src/mhd2/src/include/microhttpd2.h
- function_names:
  - MHD_R_OPTION_REUSABLE
  - MHD_R_OPTION_HEAD_ONLY_RESPONSE
  - MHD_R_OPTION_CHUNKED_ENC
  - MHD_R_OPTION_CONN_CLOSE
  - MHD_R_OPTION_HTTP_1_0_COMPATIBLE_STRICT
  - MHD_R_OPTION_HTTP_1_0_SERVER
  - MHD_R_OPTION_INSANITY_HEADER_CONTENT_LENGTH
  - MHD_R_OPTION_TERMINATION_CALLBACK
  - MHD_R_OPTION_TERMINATE
  - MHD_R_OPTION_REUSABLE
  - MHD_R_OPTION_HEAD_ONLY_RESPONSE
  - MHD_R_OPTION_CHUNKED_ENC
  - MHD_R_OPTION_CONN_CLOSE
  - MHD_R_OPTION_HTTP_1_0_COMPATIBLE_STRICT
  - MHD_R_OPTION_HTTP_1_0_SERVER
  - MHD_R_OPTION_INSANITY_HEADER_CONTENT_LENGTH
  - MHD_R_OPTION_TERMINATION_CALLBACK
  - MHD_R_OPTION_TERMINATE
  source_file: /src/mhd2/src/include/microhttpd2_generated_response_options.h
  types:
    enum: []
    preproc_defs: []
    structs:
    - fields:
      - name: v_ended_cb
        type: MHD_RequestEndedCallback
      - name: '*v_ended_cb_cls'
        type: void
      item_type: struct
      name: MHD_ResponseOptionValueEndedCB
      pos:
        line_end: 113
        line_start: 100
        source_file: /src/mhd2/src/include/microhttpd2_generated_response_options.h
    - fields:
      - name: opt
        type: enum MHD_ResponseOption
      - name: val
        type: union MHD_ResponseOptionValue
      item_type: struct
      name: MHD_ResponseOptionAndValue
      pos:
        line_end: 176
        line_start: 165
        source_file: /src/mhd2/src/include/microhttpd2_generated_response_options.h
    typedefs: []
    union:
    - fields:
      - name: reusable
        type: enum MHD_Bool
      - name: head_only_response
        type: enum MHD_Bool
      - name: chunked_enc
        type: enum MHD_Bool
      - name: conn_close
        type: enum MHD_Bool
      - name: http_1_0_compatible_strict
        type: enum MHD_Bool
      - name: http_1_0_server
        type: enum MHD_Bool
      - name: insanity_header_content_length
        type: enum MHD_Bool
      - name: termination_callback
        type: struct MHD_ResponseOptionValueEndedCB
      item_type: union
      name: MHD_ResponseOptionValue
      pos:
        line_end: 162
        line_start: 118
        source_file: /src/mhd2/src/include/microhttpd2_generated_response_options.h
- function_names:
  - mhd_tls_mbed_debug_print
  - mbed_get_md_for_drbg
  - mbed_rng_init
  - mbed_rng_deinit
  - mhd_tls_mbed_global_init
  - mhd_tls_mbed_global_deinit
  - mhd_tls_mbed_is_inited_fine
  - check_app_tls_settings
  - daemon_deinit_credentials
  - daemon_set_alpn
  - daemon_set_alpn
  - daemon_init_config
  - mhd_tls_mbed_daemon_init3
  - mhd_tls_mbed_daemon_deinit
  - mhd_tls_mbed_conn_get_tls_size_v
  - mhd_tls_mbed_conn_init
  - mhd_tls_mbed_conn_deinit
  - mhd_tls_mbed_sckt_comm_prep
  - mhd_tls_mbed_sckt_comm_prep_send
  - mhd_mbed_cb_recv
  - mhd_mbed_cb_send
  - mhd_tls_mbed_conn_handshake
  - mhd_tls_mbed_conn_shutdown
  - mhd_tls_mbed_conn_recv
  - mhd_tls_mbed_conn_has_data_in
  - mhd_tls_mbed_conn_send
  - mhd_tls_mbed_conn_get_tls_sess
  - mhd_tls_mbed_conn_get_tls_ver
  - mhd_tls_mbed_conn_get_alpn_prot
  source_file: /src/mhd2/src/mhd2/tls_mbed_funcs.c
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: mhd_TLS_MBED_HAS_DEBUG_PRINT
      pos:
        line_end: 101
        line_start: 100
        source_file: /src/mhd2/src/mhd2/tls_mbed_funcs.c
      type_or_value: '1'
    - item_type: preproc_def
      name: mhd_DBG_PRINT_LEVEL
      pos:
        line_end: 106
        line_start: 105
        source_file: /src/mhd2/src/mhd2/tls_mbed_funcs.c
      type_or_value: (MHD_TLS_MBED_DBG_PRINT_LEVEL + 0)
    - item_type: preproc_def
      name: mhd_DBG_PRINT_LEVEL
      pos:
        line_end: 108
        line_start: 107
        source_file: /src/mhd2/src/mhd2/tls_mbed_funcs.c
      type_or_value: (2)
    structs: []
    typedefs: []
    union: []
- function_names: []
  source_file: /src/mhd2/src/mhd2/request_funcs.h
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: MHD_REQUEST_FUNCS_H
      pos:
        line_end: 46
        line_start: 45
        source_file: /src/mhd2/src/mhd2/request_funcs.h
      type_or_value: '1'
    structs: []
    typedefs: []
    union: []
- function_names:
  - process_conn_layer
  - mhd_conn_process_recv_send_data
  source_file: /src/mhd2/src/mhd2/conn_data_process.c
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names: []
  source_file: /src/mhd2/src/mhd2/auth_basic.h
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: MHD_AUTH_BASIC_H
      pos:
        line_end: 46
        line_start: 45
        source_file: /src/mhd2/src/mhd2/auth_basic.h
      type_or_value: '1'
    structs: []
    typedefs: []
    union: []
- function_names: []
  source_file: /src/mhd2/src/mhd2/events_process.h
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: MHD_EVENTS_PROCESS_H
      pos:
        line_end: 46
        line_start: 45
        source_file: /src/mhd2/src/mhd2/events_process.h
      type_or_value: '1'
    structs: []
    typedefs: []
    union: []
- function_names: []
  source_file: /src/mhd2/src/mhd2/tls_multi_daemon_data.h
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: MHD_TLS_MULTI_DAEMON_DATA_H
      pos:
        line_end: 46
        line_start: 45
        source_file: /src/mhd2/src/mhd2/tls_multi_daemon_data.h
      type_or_value: '1'
    structs:
    - fields: []
      item_type: struct
      name: mhd_TlsMultiDaemonRoutePtr
      pos:
        line_end: 88
        line_start: 68
        source_file: /src/mhd2/src/mhd2/tls_multi_daemon_data.h
    - fields:
      - name: choice
        type: enum mhd_TlsMultiRoute
      - name: data
        type: struct mhd_TlsMultiDaemonRoutePtr
      item_type: struct
      name: mhd_TlsMultiDaemonData
      pos:
        line_end: 104
        line_start: 93
        source_file: /src/mhd2/src/mhd2/tls_multi_daemon_data.h
    typedefs: []
    union: []
- function_names: []
  source_file: /src/mhd2/src/mhd2/tls_mbed_tls_lib.h
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: MHD_TLS_MBED_TLS_LIB_H
      pos:
        line_end: 46
        line_start: 45
        source_file: /src/mhd2/src/mhd2/tls_mbed_tls_lib.h
      type_or_value: '1'
    - item_type: preproc_def
      name: mhd_MBETLS_C_HDR_START
      pos:
        line_end: 58
        line_start: 57
        source_file: /src/mhd2/src/mhd2/tls_mbed_tls_lib.h
      type_or_value: extern "C" {
    - item_type: preproc_def
      name: mhd_MBETLS_C_HDR_FINISH
      pos:
        line_end: 59
        line_start: 58
        source_file: /src/mhd2/src/mhd2/tls_mbed_tls_lib.h
      type_or_value: '}'
    - item_type: preproc_def
      name: mhd_RESTORE_MBEDTLS_MUTED_WARNS
      pos:
        line_end: 84
        line_start: 83
        source_file: /src/mhd2/src/mhd2/tls_mbed_tls_lib.h
      type_or_value: MHD_WARN_POP_
    - item_type: preproc_def
      name: mhd_TLS_MBED_USE_PSA
      pos:
        line_end: 104
        line_start: 103
        source_file: /src/mhd2/src/mhd2/tls_mbed_tls_lib.h
      type_or_value: '1'
    - item_type: preproc_def
      name: mhd_TLS_MBED_USE_PSA_FREE
      pos:
        line_end: 107
        line_start: 106
        source_file: /src/mhd2/src/mhd2/tls_mbed_tls_lib.h
      type_or_value: '1'
    - item_type: preproc_def
      name: mhd_TLS_MBED_HAS_SHA3_IDS
      pos:
        line_end: 121
        line_start: 120
        source_file: /src/mhd2/src/mhd2/tls_mbed_tls_lib.h
      type_or_value: '1'
    - item_type: preproc_def
      name: mhd_TLS_MBED_HAS_RNG_PSA
      pos:
        line_end: 132
        line_start: 131
        source_file: /src/mhd2/src/mhd2/tls_mbed_tls_lib.h
      type_or_value: '1'
    - item_type: preproc_def
      name: mhd_TLS_MBED_HAS_RNG_HMAC
      pos:
        line_end: 139
        line_start: 138
        source_file: /src/mhd2/src/mhd2/tls_mbed_tls_lib.h
      type_or_value: '1'
    - item_type: preproc_def
      name: mhd_TLS_MBED_HAS_RNG_CTR
      pos:
        line_end: 146
        line_start: 145
        source_file: /src/mhd2/src/mhd2/tls_mbed_tls_lib.h
      type_or_value: '1'
    - item_type: preproc_def
      name: MHD_TLS_MBED_PREF_RNG_PSA
      pos:
        line_end: 155
        line_start: 154
        source_file: /src/mhd2/src/mhd2/tls_mbed_tls_lib.h
      type_or_value: '1'
    - item_type: preproc_def
      name: MHD_TLS_MBED_PREF_RNG_HMAC
      pos:
        line_end: 158
        line_start: 157
        source_file: /src/mhd2/src/mhd2/tls_mbed_tls_lib.h
      type_or_value: '1'
    - item_type: preproc_def
      name: mhd_TLS_MBED_RNG_PREF_NEEDS_ENTROPY
      pos:
        line_end: 159
        line_start: 158
        source_file: /src/mhd2/src/mhd2/tls_mbed_tls_lib.h
      type_or_value: '1'
    - item_type: preproc_def
      name: MHD_TLS_MBED_PREF_RNG_CTR
      pos:
        line_end: 161
        line_start: 160
        source_file: /src/mhd2/src/mhd2/tls_mbed_tls_lib.h
      type_or_value: '1'
    - item_type: preproc_def
      name: mhd_TLS_MBED_RNG_PREF_NEEDS_ENTROPY
      pos:
        line_end: 162
        line_start: 161
        source_file: /src/mhd2/src/mhd2/tls_mbed_tls_lib.h
      type_or_value: '1'
    - item_type: preproc_def
      name: mhd_TLS_MBED_USE_LIB_ENTROPY
      pos:
        line_end: 168
        line_start: 167
        source_file: /src/mhd2/src/mhd2/tls_mbed_tls_lib.h
      type_or_value: '1'
    - item_type: preproc_def
      name: mhd_TLS_MBED_INIT_TLS_REQ_RNG
      pos:
        line_end: 175
        line_start: 174
        source_file: /src/mhd2/src/mhd2/tls_mbed_tls_lib.h
      type_or_value: '1'
    - item_type: preproc_def
      name: mhd_TLS_MBED_HAS_PLATFORM_SETUP
      pos:
        line_end: 204
        line_start: 203
        source_file: /src/mhd2/src/mhd2/tls_mbed_tls_lib.h
      type_or_value: '1'
    - item_type: preproc_def
      name: mhd_TLS_MBED_USE_PLATFORM_TEARDOWN
      pos:
        line_end: 207
        line_start: 206
        source_file: /src/mhd2/src/mhd2/tls_mbed_tls_lib.h
      type_or_value: '1'
    - item_type: preproc_def
      name: MBEDTLS_ERR_NET_RECV_FAILED
      pos:
        line_end: 219
        line_start: 218
        source_file: /src/mhd2/src/mhd2/tls_mbed_tls_lib.h
      type_or_value: (-0x004C)
    - item_type: preproc_def
      name: MBEDTLS_ERR_NET_SEND_FAILED
      pos:
        line_end: 223
        line_start: 222
        source_file: /src/mhd2/src/mhd2/tls_mbed_tls_lib.h
      type_or_value: (-0x004E)
    - item_type: preproc_def
      name: MBEDTLS_ERR_NET_CONN_RESET
      pos:
        line_end: 227
        line_start: 226
        source_file: /src/mhd2/src/mhd2/tls_mbed_tls_lib.h
      type_or_value: (-0x0050)
    structs: []
    typedefs: []
    union: []
- function_names: []
  source_file: /src/mhd2/src/mhd2/daemon_options.h
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: MHD_DAEMON_OPTIONS_H
      pos:
        line_end: 9
        line_start: 8
        source_file: /src/mhd2/src/mhd2/daemon_options.h
      type_or_value: '1'
    structs:
    - fields:
      - name: work_mode
        type: struct MHD_WorkModeWithParam
      - name: poll_syscall
        type: enum MHD_SockPollSyscall
      - name: reregister_all
        type: enum MHD_Bool
      - name: log_callback
        type: struct MHD_DaemonOptionValueLog
      - name: bind_port
        type: struct MHD_DaemonOptionValueBind
      - name: bind_sa
        type: struct MHD_DaemonOptionValueSA
      - name: listen_socket
        type: MHD_Socket
      - name: listen_addr_reuse
        type: enum MHD_DaemonOptionBindType
      - name: tcp_fastopen
        type: struct MHD_DaemonOptionValueTFO
      - name: listen_backlog
        type: unsigned int
      - name: sigpipe_suppressed
        type: enum MHD_Bool
      - name: tls
        type: enum MHD_TlsBackend
      - name: tls_cert_key
        type: struct MHD_DaemonOptionValueTlsCert
      - name: '*tls_client_ca'
        type: char
      - name: tls_psk_callback
        type: struct MHD_DaemonOptionValueTlsPskCB
      - name: no_alpn
        type: enum MHD_Bool
      - name: tls_app_name
        type: struct MHD_DaemonOptionValueTlsAppName
      - name: tls_openssl_def_file
        type: struct MHD_DaemonOptionValueTlsOsslDefFile
      - name: default_timeout_milsec
        type: uint_fast32_t
      - name: global_connection_limit
        type: unsigned int
      - name: per_ip_limit
        type: unsigned int
      - name: accept_policy
        type: struct MHD_DaemonOptionValueAcceptPol
      - name: conn_buff_zeroing
        type: enum MHD_ConnBufferZeroingMode
      - name: protocol_strict_level
        type: struct MHD_DaemonOptionValueStrctLvl
      - name: early_uri_logger
        type: struct MHD_DaemonOptionValueUriCB
      - name: disable_uri_query_plus_as_space
        type: enum MHD_Bool
      - name: suppress_date_header
        type: enum MHD_Bool
      - name: enable_shoutcast
        type: enum MHD_Bool
      - name: conn_memory_limit
        type: size_t
      - name: large_pool_size
        type: size_t
      - name: stack_size
        type: size_t
      - name: fd_number_limit
        type: MHD_Socket
      - name: turbo
        type: enum MHD_Bool
      - name: disable_thread_safety
        type: enum MHD_Bool
      - name: disallow_upgrade
        type: enum MHD_Bool
      - name: disallow_suspend_resume
        type: enum MHD_Bool
      - name: disable_cookies
        type: enum MHD_Bool
      - name: daemon_ready_callback
        type: struct MHD_DaemonOptionValueReadyCB
      - name: notify_connection
        type: struct MHD_DaemonOptionValueNotifConnCB
      - name: notify_stream
        type: struct MHD_DaemonOptionValueNotifStreamCB
      - name: random_entropy
        type: struct MHD_DaemonOptionEntropySeed
      - name: auth_digest_map_size
        type: size_t
      - name: auth_digest_nonce_timeout
        type: unsigned int
      - name: auth_digest_def_max_nc
        type: uint_fast32_t
      item_type: struct
      name: DaemonOptions
      pos:
        line_end: 321
        line_start: 13
        source_file: /src/mhd2/src/mhd2/daemon_options.h
    typedefs: []
    union: []
- function_names: []
  source_file: /src/mhd2/src/mhd2/mhd_tls_common.h
  types:
    enum:
    - enumerators:
      - name: mhd_TLS_BACKEND_AVAIL_OK
        value: '0'
      - name: mhd_TLS_BACKEND_AVAIL_NOT_AVAILABLE
      - name: mhd_TLS_BACKEND_AVAIL_NOT_SUPPORTED
      item_type: enum
      name: mhd_TlsBackendAvailable
      pos:
        line_end: 76
        line_start: 60
        source_file: /src/mhd2/src/mhd2/mhd_tls_common.h
    preproc_defs:
    - item_type: preproc_def
      name: MHD_TLS_COMMON_H
      pos:
        line_end: 46
        line_start: 45
        source_file: /src/mhd2/src/mhd2/mhd_tls_common.h
      type_or_value: '1'
    structs: []
    typedefs: []
    union: []
- function_names: []
  source_file: /src/mhd2/src/mhd2/sys_base_types.h
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: MHD_SYS_BASE_TYPES_H
      pos:
        line_end: 49
        line_start: 48
        source_file: /src/mhd2/src/mhd2/sys_base_types.h
      type_or_value: '1'
    - item_type: preproc_def
      name: HAVE_SSIZE_T
      pos:
        line_end: 80
        line_start: 79
        source_file: /src/mhd2/src/mhd2/sys_base_types.h
      type_or_value: '1'
    - item_type: preproc_def
      name: PRIuFAST64
      pos:
        line_end: 88
        line_start: 87
        source_file: /src/mhd2/src/mhd2/sys_base_types.h
      type_or_value: PRIu64
    - item_type: preproc_def
      name: PRIuFAST64
      pos:
        line_end: 90
        line_start: 89
        source_file: /src/mhd2/src/mhd2/sys_base_types.h
      type_or_value: '"llu"'
    structs: []
    typedefs:
    - item_type: typedef
      name: ssize_t
      pos:
        line_end: 71
        line_start: 71
        source_file: /src/mhd2/src/mhd2/sys_base_types.h
      type: ptrdiff_t
    - item_type: typedef
      name: ssize_t
      pos:
        line_end: 75
        line_start: 75
        source_file: /src/mhd2/src/mhd2/sys_base_types.h
      type: intptr_t
    union: []
- function_names: []
  source_file: /src/mhd2/src/mhd2/mhd_recv.h
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: MHD_RECV_H
      pos:
        line_end: 46
        line_start: 45
        source_file: /src/mhd2/src/mhd2/mhd_recv.h
      type_or_value: '1'
    structs: []
    typedefs: []
    union: []
- function_names:
  - mhd_socket_nonblocking
  - mhd_socket_noninheritable
  - mhd_socket_set_nodelay
  - mhd_socket_set_hard_close
  - mhd_socket_shut_wr
  - mhd_socket_blocking
  - mhd_socket_pair_func
  source_file: /src/mhd2/src/mhd2/mhd_sockets_funcs.c
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: PAIR_MAX_TRIES
      pos:
        line_end: 216
        line_start: 215
        source_file: /src/mhd2/src/mhd2/mhd_sockets_funcs.c
      type_or_value: '511'
    structs: []
    typedefs: []
    union: []
- function_names: []
  source_file: /src/mhd2/src/mhd2/mhd_byteorder.h
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: mhd_BIG_ENDIAN
      pos:
        line_end: 88
        line_start: 87
        source_file: /src/mhd2/src/mhd2/mhd_byteorder.h
      type_or_value: '1234'
    - item_type: preproc_def
      name: mhd_LITTLE_ENDIAN
      pos:
        line_end: 89
        line_start: 88
        source_file: /src/mhd2/src/mhd2/mhd_byteorder.h
      type_or_value: '4321'
    - item_type: preproc_def
      name: mhd_PDP_ENDIAN
      pos:
        line_end: 90
        line_start: 89
        source_file: /src/mhd2/src/mhd2/mhd_byteorder.h
      type_or_value: '2143'
    - item_type: preproc_def
      name: mhd_BYTE_ORDER
      pos:
        line_end: 95
        line_start: 94
        source_file: /src/mhd2/src/mhd2/mhd_byteorder.h
      type_or_value: mhd_BIG_ENDIAN
    - item_type: preproc_def
      name: mhd_BYTE_ORDER
      pos:
        line_end: 98
        line_start: 97
        source_file: /src/mhd2/src/mhd2/mhd_byteorder.h
      type_or_value: mhd_LITTLE_ENDIAN
    - item_type: preproc_def
      name: mhd_BYTE_ORDER
      pos:
        line_end: 101
        line_start: 100
        source_file: /src/mhd2/src/mhd2/mhd_byteorder.h
      type_or_value: mhd_PDP_ENDIAN
    - item_type: preproc_def
      name: mhd_BYTE_ORDER
      pos:
        line_end: 105
        line_start: 104
        source_file: /src/mhd2/src/mhd2/mhd_byteorder.h
      type_or_value: mhd_BIG_ENDIAN
    - item_type: preproc_def
      name: mhd_BYTE_ORDER
      pos:
        line_end: 107
        line_start: 106
        source_file: /src/mhd2/src/mhd2/mhd_byteorder.h
      type_or_value: mhd_LITTLE_ENDIAN
    - item_type: preproc_def
      name: mhd_BYTE_ORDER
      pos:
        line_end: 109
        line_start: 108
        source_file: /src/mhd2/src/mhd2/mhd_byteorder.h
      type_or_value: mhd_PDP_ENDIAN
    - item_type: preproc_def
      name: mhd_BYTE_ORDER
      pos:
        line_end: 113
        line_start: 112
        source_file: /src/mhd2/src/mhd2/mhd_byteorder.h
      type_or_value: mhd_BIG_ENDIAN
    - item_type: preproc_def
      name: mhd_BYTE_ORDER
      pos:
        line_end: 115
        line_start: 114
        source_file: /src/mhd2/src/mhd2/mhd_byteorder.h
      type_or_value: mhd_LITTLE_ENDIAN
    - item_type: preproc_def
      name: mhd_BYTE_ORDER
      pos:
        line_end: 117
        line_start: 116
        source_file: /src/mhd2/src/mhd2/mhd_byteorder.h
      type_or_value: mhd_PDP_ENDIAN
    - item_type: preproc_def
      name: mhd_BYTE_ORDER
      pos:
        line_end: 121
        line_start: 120
        source_file: /src/mhd2/src/mhd2/mhd_byteorder.h
      type_or_value: mhd_BIG_ENDIAN
    - item_type: preproc_def
      name: mhd_BYTE_ORDER
      pos:
        line_end: 123
        line_start: 122
        source_file: /src/mhd2/src/mhd2/mhd_byteorder.h
      type_or_value: mhd_LITTLE_ENDIAN
    - item_type: preproc_def
      name: mhd_BYTE_ORDER
      pos:
        line_end: 125
        line_start: 124
        source_file: /src/mhd2/src/mhd2/mhd_byteorder.h
      type_or_value: mhd_PDP_ENDIAN
    - item_type: preproc_def
      name: mhd_BYTE_ORDER
      pos:
        line_end: 136
        line_start: 135
        source_file: /src/mhd2/src/mhd2/mhd_byteorder.h
      type_or_value: mhd_BIG_ENDIAN
    - item_type: preproc_def
      name: mhd_BYTE_ORDER
      pos:
        line_end: 140
        line_start: 139
        source_file: /src/mhd2/src/mhd2/mhd_byteorder.h
      type_or_value: mhd_LITTLE_ENDIAN
    - item_type: preproc_def
      name: mhd_BYTE_ORDER
      pos:
        line_end: 148
        line_start: 147
        source_file: /src/mhd2/src/mhd2/mhd_byteorder.h
      type_or_value: mhd_LITTLE_ENDIAN
    - item_type: preproc_def
      name: mhd_BYTE_ORDER
      pos:
        line_end: 152
        line_start: 151
        source_file: /src/mhd2/src/mhd2/mhd_byteorder.h
      type_or_value: mhd_BIG_ENDIAN
    - item_type: preproc_def
      name: mhd_BYTE_ORDER
      pos:
        line_end: 156
        line_start: 155
        source_file: /src/mhd2/src/mhd2/mhd_byteorder.h
      type_or_value: mhd_LITTLE_ENDIAN
    - item_type: preproc_def
      name: mhd_BYTE_ORDER
      pos:
        line_end: 162
        line_start: 161
        source_file: /src/mhd2/src/mhd2/mhd_byteorder.h
      type_or_value: mhd_BIG_ENDIAN
    - item_type: preproc_def
      name: mhd_BYTE_ORDER
      pos:
        line_end: 168
        line_start: 167
        source_file: /src/mhd2/src/mhd2/mhd_byteorder.h
      type_or_value: mhd_LITTLE_ENDIAN
    - item_type: preproc_def
      name: mhd_BYTE_ORDER
      pos:
        line_end: 172
        line_start: 171
        source_file: /src/mhd2/src/mhd2/mhd_byteorder.h
      type_or_value: mhd_LITTLE_ENDIAN
    - item_type: preproc_def
      name: mhd_BYTE_ORDER
      pos:
        line_end: 176
        line_start: 175
        source_file: /src/mhd2/src/mhd2/mhd_byteorder.h
      type_or_value: mhd_BIG_ENDIAN
    structs: []
    typedefs: []
    union: []
- function_names:
  - mhd_RESPOND_WITH_ERROR_STATIC
  - mhd_RESPOND_WITH_ERROR_HEADER
  - mhd_RESPOND_WITH_ERROR_STATIC
  - mhd_RESPOND_WITH_ERROR_HEADER
  source_file: /src/mhd2/src/mhd2/respond_with_error.h
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: MHD_RESPOND_WITH_ERROR_H
      pos:
        line_end: 46
        line_start: 45
        source_file: /src/mhd2/src/mhd2/respond_with_error.h
      type_or_value: '1'
    structs: []
    typedefs: []
    union: []
- function_names:
  - MHD_stream_get_info_fixed_sz
  - MHD_stream_get_info_dynamic_sz
  source_file: /src/mhd2/src/mhd2/stream_get_info.c
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - mhd_LIB_INIT_LAZY_IS_PERFORMED
  - mhd_lib_global_lazy_init
  - mhd_lib_global_lazy_deinit
  - mhd_lib_global_init_auto
  - mhd_lib_global_deinit_auto
  - AUTOINIT_FUNCS_USR_DLLMAIN_NAME
  - mhd_lib_sockets_init_w32
  - mhd_lib_sockets_deinit_w32
  - mhd_lib_sockets_init_w32
  - mhd_lib_sockets_deinit_w32
  - mhd_lib_global_full_init_once
  - mhd_lib_global_full_deinit
  - mhd_lib_global_full_re_init
  - mhd_lib_init_global_if_needed
  - mhd_lib_deinit_global_if_needed
  - mhd_lib_is_fully_initialised_once
  - mhd_lib_is_fully_initialised_now
  source_file: /src/mhd2/src/mhd2/mhd_lib_init.c
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: mhd_INIT_LAZY_BY_FUNC
      pos:
        line_end: 85
        line_start: 84
        source_file: /src/mhd2/src/mhd2/mhd_lib_init.c
      type_or_value: '1'
    - item_type: preproc_def
      name: mhd_INIT_LAZY_BY_STATIC
      pos:
        line_end: 91
        line_start: 90
        source_file: /src/mhd2/src/mhd2/mhd_lib_init.c
      type_or_value: '1'
    - item_type: preproc_def
      name: mhd_INIT_LAZY_AUTOMATIC
      pos:
        line_end: 99
        line_start: 98
        source_file: /src/mhd2/src/mhd2/mhd_lib_init.c
      type_or_value: '1'
    - item_type: preproc_def
      name: mhd_LIB_INIT_MARKER_VALUE
      pos:
        line_end: 109
        line_start: 108
        source_file: /src/mhd2/src/mhd2/mhd_lib_init.c
      type_or_value: '0xB167A105 '
    structs: []
    typedefs: []
    union: []
- function_names:
  - MHD_action_suspend
  - MHD_action_from_response
  - MHD_action_process_upload
  - MHD_action_parse_post
  - MHD_action_upgrade
  - MHD_upload_action_upgrade
  - MHD_upload_action_suspend
  - MHD_upload_action_from_response
  - MHD_upload_action_continue
  source_file: /src/mhd2/src/mhd2/action.c
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - "(1) int\nmhd_tls_open_dbg_print_errs (const char *msg,\n                             size_t
    msg_len,\n                             void *cls)"
  - mhd_DBG_PRINT_TLS_ERRS
  - mhd_DBG_PRINT_TLS_INFO_MSG
  - mhd_DBG_PRINT_TLS_INFO_PARAM1
  - mhd_DBG_PRINT_TLS_ERRS
  - mhd_DBG_PRINT_TLS_INFO_MSG
  - mhd_DBG_PRINT_TLS_INFO_PARAM1
  - mhd_tls_open_global_init_once
  - mhd_tls_open_is_inited_fine
  - check_app_tls_settings
  - null_passwd_cb
  - create_lib_ctx
  - reset_lib_ctx
  - daemon_get_conf_file
  - mhd_LIBCTX_FORBIDS_FALLBACKS
  - mhd_LIBCTX_FORBIDS_FALLBACKS
  - "(1) MHD_FN_PAR_NONNULL_ (2)\nMHD_FN_PAR_NONNULL_ (4) bool\ndaemon_load_conf_from_cfg
    (struct MHD_Daemon *restrict d,\n                           const char *restrict
    filename,\n                           const char *restrict app_name,\n                           CONF
    *restrict cfg,\n                           unsigned long load_flags,\n                           bool
    log_missing_app_name)"
  - cfg_reset_and_reload
  - is_conf_file_fallback_allowed
  - is_conf_fallback_allowed
  - daemon_load_lib_conf
  - daemon_init_lib_ctx
  - daemon_deinit_lib_ctx
  - get_npn_list
  - select_alpn_prot
  - daemon_init_ctx
  - daemon_deinit_ctx
  - daemon_load_certs_chain_obio
  - daemon_load_certs_chain
  - daemon_init_cert
  - mhd_tls_open_daemon_init
  - mhd_tls_open_daemon_deinit
  - mhd_tls_open_thread_cleanup
  - mhd_tls_open_conn_get_tls_size_v
  - mhd_tls_open_conn_init
  - mhd_tls_open_conn_deinit
  - mhd_tls_open_conn_handshake
  - mhd_tls_open_conn_shutdown
  - mhd_tls_open_conn_recv
  - mhd_tls_open_conn_has_data_in
  - mhd_tls_open_conn_send4
  - mhd_tls_open_conn_get_tls_sess
  - mhd_tls_open_conn_get_tls_ver
  - mhd_tls_open_conn_get_alpn_prot
  source_file: /src/mhd2/src/mhd2/tls_open_funcs.c
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: mhd_NOWARN_USED_UNUSED
      pos:
        line_end: 84
        line_start: 82
        source_file: /src/mhd2/src/mhd2/tls_open_funcs.c
      type_or_value: MHD_WARN_PUSH_ MHD_WARN_IGNORE_ ("-Wused-but-marked-unused")
    - item_type: preproc_def
      name: mhd_RESTORE_WARN_USED_UNUSED
      pos:
        line_end: 85
        line_start: 84
        source_file: /src/mhd2/src/mhd2/tls_open_funcs.c
      type_or_value: MHD_WARN_POP_
    - item_type: preproc_def
      name: mhd_ALPN_CODE_HTTP1_0
      pos:
        line_end: 800
        line_start: 798
        source_file: /src/mhd2/src/mhd2/tls_open_funcs.c
      type_or_value: '''h'', ''t'', ''t'', ''p'', ''/'', ''1'', ''.'', ''0'' '
    - item_type: preproc_def
      name: mhd_ALPN_CODE_HTTP1_1
      pos:
        line_end: 802
        line_start: 800
        source_file: /src/mhd2/src/mhd2/tls_open_funcs.c
      type_or_value: '''h'', ''t'', ''t'', ''p'', ''/'', ''1'', ''.'', ''1'' '
    - item_type: preproc_def
      name: mhd_ALPN_CODE_HTTP2
      pos:
        line_end: 805
        line_start: 803
        source_file: /src/mhd2/src/mhd2/tls_open_funcs.c
      type_or_value: '''h'', ''2'' '
    - item_type: preproc_def
      name: mhd_ALPN_CODE_HTTP3
      pos:
        line_end: 809
        line_start: 807
        source_file: /src/mhd2/src/mhd2/tls_open_funcs.c
      type_or_value: '''h'', ''3'' '
    structs: []
    typedefs: []
    union: []
- function_names: []
  source_file: /src/mhd2/src/mhd2/sys_sendfile.h
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: MHD_SYS_SENDFILE_H
      pos:
        line_end: 46
        line_start: 45
        source_file: /src/mhd2/src/mhd2/sys_sendfile.h
      type_or_value: '1'
    structs: []
    typedefs: []
    union: []
- function_names:
  - mhd_RESP_HAS_AUTH_DIGEST
  - mhd_RESP_HAS_AUTH_DIGEST
  source_file: /src/mhd2/src/mhd2/mhd_response.h
  types:
    enum:
    - enumerators:
      - name: mhd_RESPONSE_CONTENT_DATA_INVALID
        value: '0'
      - name: mhd_RESPONSE_CONTENT_DATA_FILE
      - name: mhd_RESPONSE_CONTENT_DATA_BUFFER
      - name: mhd_RESPONSE_CONTENT_DATA_IOVEC
      - name: mhd_RESPONSE_CONTENT_DATA_CALLBACK
      item_type: enum
      name: mhd_ResponseContentDataType
      pos:
        line_end: 121
        line_start: 110
        source_file: /src/mhd2/src/mhd2/mhd_response.h
    preproc_defs:
    - item_type: preproc_def
      name: MHD_RESPONSE_H
      pos:
        line_end: 46
        line_start: 45
        source_file: /src/mhd2/src/mhd2/mhd_response.h
      type_or_value: '1'
    structs:
    - fields:
      - name: name
        type: struct MHD_String
      - name: value
        type: struct MHD_String
      item_type: struct
      name: mhd_ResponseHeader
      pos:
        line_end: 105
        line_start: 82
        source_file: /src/mhd2/src/mhd2/mhd_response.h
    - fields:
      - name: '*iov'
        type: mhd_iovec
      - name: cnt
        type: size_t
      item_type: struct
      name: mhd_ResponseIoVec
      pos:
        line_end: 138
        line_start: 126
        source_file: /src/mhd2/src/mhd2/mhd_response.h
    - fields:
      - name: fd
        type: int
      - name: offset
        type: uint_fast64_t
      - name: is_pipe
        type: bool
      item_type: struct
      name: mhd_ResponseFD
      pos:
        line_end: 168
        line_start: 143
        source_file: /src/mhd2/src/mhd2/mhd_response.h
    - fields:
      - name: cb
        type: MHD_DynamicContentCreator
      - name: '*cls'
        type: void
      item_type: struct
      name: mhd_ResponseDynamic
      pos:
        line_end: 183
        line_start: 173
        source_file: /src/mhd2/src/mhd2/mhd_response.h
    - fields:
      - name: cb
        type: MHD_FreeCallback
      - name: '*cls'
        type: void
      item_type: struct
      name: mhd_FreeCbData
      pos:
        line_end: 226
        line_start: 215
        source_file: /src/mhd2/src/mhd2/mhd_response.h
    - fields:
      - name: reusable
        type: bool
      - name: counter
        type: struct mhd_AtomicCounter
      item_type: struct
      name: mhd_ResponseReuseData
      pos:
        line_end: 250
        line_start: 229
        source_file: /src/mhd2/src/mhd2/mhd_response.h
    - fields:
      - name: head_only
        type: bool
      - name: chunked
        type: bool
      - name: close_forced
        type: bool
      - name: mode_1_0
        type: bool
      - name: cnt_len_by_app
        type: bool
      - name: has_hdr_date
        type: bool
      - name: has_hdr_conn
        type: bool
      - name: int_err_resp
        type: bool
      item_type: struct
      name: mhd_ResponseConfiguration
      pos:
        line_end: 305
        line_start: 252
        source_file: /src/mhd2/src/mhd2/mhd_response.h
    - fields:
      - name: spec_hdr_len
        type: size_t
      - name: '*spec_hdr'
        type: char
      item_type: struct
      name: mhd_ResponseInternalErrData
      pos:
        line_end: 322
        line_start: 310
        source_file: /src/mhd2/src/mhd2/mhd_response.h
    - fields:
      - name: is_internal
        type: bool
      item_type: struct
      name: mhd_ResponseDebug
      pos:
        line_end: 328
        line_start: 325
        source_file: /src/mhd2/src/mhd2/mhd_response.h
    - fields:
      - name: sc
        type: enum MHD_HTTP_StatusCode
      - name: cntn_size
        type: uint_fast64_t
      - name: cntn_dtype
        type: enum mhd_ResponseContentDataType
      - name: cntn
        type: union mhd_ResponseContent
      - name: free
        type: struct mhd_FreeCbData
      - name: cfg
        type: struct mhd_ResponseConfiguration
      - name: frozen
        type: bool
      - name: reuse
        type: struct mhd_ResponseReuseData
      - name: '*restrict settings'
        type: struct ResponseOptions
      - name: special_resp
        type: struct mhd_ResponseInternalErrData
      - name: was_destroyed
        type: bool
      item_type: struct
      name: MHD_Response
      pos:
        line_end: 410
        line_start: 335
        source_file: /src/mhd2/src/mhd2/mhd_response.h
    typedefs: []
    union:
    - fields:
      - name: '*restrict buf'
        type: unsigned char
      - name: iovec
        type: struct mhd_ResponseIoVec
      - name: file
        type: struct mhd_ResponseFD
      - name: dyn
        type: struct mhd_ResponseDynamic
      item_type: union
      name: mhd_ResponseContent
      pos:
        line_end: 210
        line_start: 188
        source_file: /src/mhd2/src/mhd2/mhd_response.h
- function_names:
  - MHD_daemon_get_info_fixed_sz
  - MHD_daemon_get_info_dynamic_sz
  source_file: /src/mhd2/src/mhd2/daemon_get_info.c
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names: []
  source_file: /src/mhd2/src/mhd2/response_destroy.h
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: MHD_RESPONSE_DESTROY_H
      pos:
        line_end: 46
        line_start: 45
        source_file: /src/mhd2/src/mhd2/response_destroy.h
      type_or_value: '1'
    structs: []
    typedefs: []
    union: []
- function_names:
  - mhd_request_get_value_n
  - MHD_request_get_value
  - mhd_stream_has_header_token
  - MHD_request_get_values_cb
  - MHD_request_get_post_data_cb
  source_file: /src/mhd2/src/mhd2/request_get_value.c
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - mhd_SHA512_256_ossl_init
  - mhd_SHA512_256_ossl_reset
  - mhd_SHA512_256_ossl_update
  - mhd_SHA512_256_ossl_finish
  - mhd_SHA512_256_ossl_deinit
  source_file: /src/mhd2/src/mhd2/sha512_256_openssl.c
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - mhd_CNTNR_PTR
  - mhd_CNTNR_CPTR
  source_file: /src/mhd2/src/mhd2/mhd_cntnr_ptr.h
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: MHD_CNTNR_PTR_H
      pos:
        line_end: 46
        line_start: 45
        source_file: /src/mhd2/src/mhd2/mhd_cntnr_ptr.h
      type_or_value: '1'
    structs: []
    typedefs: []
    union: []
- function_names:
  - mhd_MD5_gtls_reset
  source_file: /src/mhd2/src/mhd2/md5_gnutls.h
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: MHD_MD5_GNUTLS_H
      pos:
        line_end: 44
        line_start: 43
        source_file: /src/mhd2/src/mhd2/md5_gnutls.h
      type_or_value: '1'
    - item_type: preproc_def
      name: mhd_MD5_DIGEST_SIZE
      pos:
        line_end: 55
        line_start: 54
        source_file: /src/mhd2/src/mhd2/md5_gnutls.h
      type_or_value: (16)
    - item_type: preproc_def
      name: mhd_MD5_GTLS_EXT_ERROR_FLAG
      pos:
        line_end: 75
        line_start: 74
        source_file: /src/mhd2/src/mhd2/md5_gnutls.h
      type_or_value: '1'
    - item_type: preproc_def
      name: mhd_MD5_GTLS_DEINIT_NOOP_FLAG
      pos:
        line_end: 162
        line_start: 161
        source_file: /src/mhd2/src/mhd2/md5_gnutls.h
      type_or_value: '0'
    structs:
    - fields:
      - name: '*handle'
        type: struct hash_hd_st
      - name: ext_error
        type: int
      item_type: struct
      name: mhd_Md5CtxGtls
      pos:
        line_end: 67
        line_start: 63
        source_file: /src/mhd2/src/mhd2/md5_gnutls.h
    typedefs: []
    union: []
- function_names:
  - mhd_SHA256_gtls_init
  - mhd_SHA256_gtls_update
  - mhd_SHA256_gtls_finish
  - mhd_SHA256_gtls_deinit
  source_file: /src/mhd2/src/mhd2/sha256_gnutls.c
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - mhd_str_equal_caseless
  - mhd_str_equal_caseless_n_st
  - mhd_str_has_s_token_caseless
  - mhd_str_to_uint64
  - mhd_str_to_uint64_n
  - mhd_strx_to_sizet
  - mhd_strx_to_sizet_n
  - mhd_strx_to_uint32
  - mhd_strx_to_uint32_n
  - mhd_strx_to_uint64
  - mhd_strx_to_uint64_n
  - mhd_uint16_to_str
  - mhd_str_equal_quoted_s_bin_n
  - mhd_str_equal_caseless_quoted_s_bin_n
  - mhd_base64_max_dec_size
  source_file: /src/mhd2/src/mhd2/mhd_str.h
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: MHD_STR_H
      pos:
        line_end: 46
        line_start: 45
        source_file: /src/mhd2/src/mhd2/mhd_str.h
      type_or_value: '1'
    - item_type: preproc_def
      name: mhd_HAVE_STR_TO_UPPER
      pos:
        line_end: 64
        line_start: 63
        source_file: /src/mhd2/src/mhd2/mhd_str.h
      type_or_value: '1'
    structs: []
    typedefs: []
    union: []
- function_names: []
  source_file: /src/mhd2/src/mhd2/conn_timeout.h
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: MHD_CONN_TIMEOUT_H
      pos:
        line_end: 46
        line_start: 45
        source_file: /src/mhd2/src/mhd2/conn_timeout.h
      type_or_value: '1'
    structs: []
    typedefs: []
    union: []
- function_names: []
  source_file: /src/mhd2/src/mhd2/conn_data_recv.h
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: MHD_CONN_DATA_RECV_H
      pos:
        line_end: 46
        line_start: 45
        source_file: /src/mhd2/src/mhd2/conn_data_recv.h
      type_or_value: '1'
    structs: []
    typedefs: []
    union: []
- function_names:
  - mhd_SCKT_NET_ST_CLEAR_FLAG
  - mhd_SCKT_NET_ST_SET_FLAG
  - mhd_SCKT_NET_ST_HAS_FLAG
  - mhd_SCKT_NET_ST_HAS_FLAG_RECV
  - mhd_SCKT_NET_ST_HAS_FLAG_SEND
  - mhd_SCKT_NET_ST_HAS_FLAG_ERROR
  source_file: /src/mhd2/src/mhd2/mhd_conn_socket.h
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: MHD_CONN_SOCKET_H
      pos:
        line_end: 46
        line_start: 45
        source_file: /src/mhd2/src/mhd2/mhd_conn_socket.h
      type_or_value: '1'
    structs:
    - fields:
      - name: nodelay
        type: enum mhd_Tristate
      - name: corked
        type: enum mhd_Tristate
      - name: rmt_shut_wr
        type: bool
      - name: discnt_err
        type: enum mhd_SocketError
      item_type: struct
      name: mhd_ConnSocketState
      pos:
        line_end: 142
        line_start: 118
        source_file: /src/mhd2/src/mhd2/mhd_conn_socket.h
    - fields:
      - name: is_nonip
        type: enum mhd_Tristate
      - name: is_nonblck
        type: bool
      - name: has_spipe_supp
        type: bool
      item_type: struct
      name: mhd_ConnSocketProperties
      pos:
        line_end: 163
        line_start: 147
        source_file: /src/mhd2/src/mhd2/mhd_conn_socket.h
    - fields:
      - name: '*data'
        type: struct sockaddr_storage
      - name: size
        type: size_t
      item_type: struct
      name: mhd_ConnSocketAddr
      pos:
        line_end: 183
        line_start: 169
        source_file: /src/mhd2/src/mhd2/mhd_conn_socket.h
    - fields:
      - name: fd
        type: MHD_Socket
      - name: state
        type: struct mhd_ConnSocketState
      - name: ready
        type: enum mhd_SocketNetState
      - name: props
        type: struct mhd_ConnSocketProperties
      - name: addr
        type: struct mhd_ConnSocketAddr
      item_type: struct
      name: mhd_ConnSocket
      pos:
        line_end: 214
        line_start: 188
        source_file: /src/mhd2/src/mhd2/mhd_conn_socket.h
    typedefs: []
    union: []
- function_names: []
  source_file: /src/mhd2/src/mhd2/compat_calloc.h
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: MHD_COMPAT_CALLOC_H
      pos:
        line_end: 46
        line_start: 45
        source_file: /src/mhd2/src/mhd2/compat_calloc.h
      type_or_value: '1'
    - item_type: preproc_def
      name: mhd_calloc
      pos:
        line_end: 64
        line_start: 63
        source_file: /src/mhd2/src/mhd2/compat_calloc.h
      type_or_value: calloc
    structs: []
    typedefs: []
    union: []
- function_names: []
  source_file: /src/mhd2/src/mhd2/sys_thread_entry_type.h
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: MHD_SYS_THREAD_ENTRY_TYPE_H
      pos:
        line_end: 46
        line_start: 45
        source_file: /src/mhd2/src/mhd2/sys_thread_entry_type.h
      type_or_value: '1'
    - item_type: preproc_def
      name: mhd_THRD_RTRN_TYPE
      pos:
        line_end: 51
        line_start: 50
        source_file: /src/mhd2/src/mhd2/sys_thread_entry_type.h
      type_or_value: void*
    - item_type: preproc_def
      name: mhd_THRD_RTRN_TYPE
      pos:
        line_end: 54
        line_start: 53
        source_file: /src/mhd2/src/mhd2/sys_thread_entry_type.h
      type_or_value: unsigned
    - item_type: preproc_def
      name: mhd_THRD_CALL_SPEC
      pos:
        line_end: 55
        line_start: 54
        source_file: /src/mhd2/src/mhd2/sys_thread_entry_type.h
      type_or_value: __stdcall
    structs: []
    typedefs:
    - item_type: typedef
      name: (mhd_THRD_CALL_SPEC *mhd_THREAD_START_ROUTINE)(void *cls)
      pos:
        line_end: 64
        line_start: 63
        source_file: /src/mhd2/src/mhd2/sys_thread_entry_type.h
      type: mhd_THRD_RTRN_TYPE
    union: []
- function_names:
  - mhd_SHA512_256_FUNC
  - mhd_SHA512_256_MACRO
  - mhd_SHA512_256_has_err
  - mhd_SHA512_256_get_err
  - mhd_SHA512_256_has_err
  - mhd_SHA512_256_get_err
  - mhd_SHA512_256_init
  - mhd_SHA512_256_update
  - mhd_SHA512_256_finish
  - mhd_SHA512_256_reset
  - mhd_SHA512_256_finish_reset
  - mhd_SHA512_256_deinit
  - mhd_SHA512_256_finish_deinit
  source_file: /src/mhd2/src/mhd2/mhd_sha512_256.h
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: MHD_SHA512_256_H
      pos:
        line_end: 53
        line_start: 52
        source_file: /src/mhd2/src/mhd2/mhd_sha512_256.h
      type_or_value: '1'
    - item_type: preproc_def
      name: mhd_SHA512_256_FUNC_NAME_ID
      pos:
        line_end: 69
        line_start: 68
        source_file: /src/mhd2/src/mhd2/mhd_sha512_256.h
      type_or_value: ossl
    - item_type: preproc_def
      name: mhd_SHA512_256_DATA_NAME_ID
      pos:
        line_end: 73
        line_start: 72
        source_file: /src/mhd2/src/mhd2/mhd_sha512_256.h
      type_or_value: Ossl
    - item_type: preproc_def
      name: mhd_SHA512_256_MACRO_NAME_ID
      pos:
        line_end: 77
        line_start: 76
        source_file: /src/mhd2/src/mhd2/mhd_sha512_256.h
      type_or_value: OSSL
    - item_type: preproc_def
      name: mhd_SHA512_256_FUNC_NAME_ID
      pos:
        line_end: 85
        line_start: 84
        source_file: /src/mhd2/src/mhd2/mhd_sha512_256.h
      type_or_value: mtls
    - item_type: preproc_def
      name: mhd_SHA512_256_DATA_NAME_ID
      pos:
        line_end: 89
        line_start: 88
        source_file: /src/mhd2/src/mhd2/mhd_sha512_256.h
      type_or_value: Mtls
    - item_type: preproc_def
      name: mhd_SHA512_256_MACRO_NAME_ID
      pos:
        line_end: 93
        line_start: 92
        source_file: /src/mhd2/src/mhd2/mhd_sha512_256.h
      type_or_value: MTLS
    - item_type: preproc_def
      name: mhd_SHA512_256_FUNC_NAME_ID
      pos:
        line_end: 100
        line_start: 99
        source_file: /src/mhd2/src/mhd2/mhd_sha512_256.h
      type_or_value: blti
    - item_type: preproc_def
      name: mhd_SHA512_256_DATA_NAME_ID
      pos:
        line_end: 104
        line_start: 103
        source_file: /src/mhd2/src/mhd2/mhd_sha512_256.h
      type_or_value: Blti
    - item_type: preproc_def
      name: mhd_SHA512_256_MACRO_NAME_ID
      pos:
        line_end: 108
        line_start: 107
        source_file: /src/mhd2/src/mhd2/mhd_sha512_256.h
      type_or_value: BLTI
    - item_type: preproc_def
      name: mhd_Sha512_256Ctx
      pos:
        line_end: 135
        line_start: 133
        source_file: /src/mhd2/src/mhd2/mhd_sha512_256.h
      type_or_value: mhd_MACRO_CONCAT (mhd_Sha512_256Ctx,mhd_SHA512_256_DATA_NAME_ID)
    - item_type: preproc_def
      name: mhd_SHA512_256_HAS_EXT_ERROR
      pos:
        line_end: 142
        line_start: 141
        source_file: /src/mhd2/src/mhd2/mhd_sha512_256.h
      type_or_value: '1'
    structs: []
    typedefs: []
    union: []
- function_names: []
  source_file: /src/mhd2/src/mhd2/http_method.h
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: MHD_HTTP_METHOD_H
      pos:
        line_end: 46
        line_start: 45
        source_file: /src/mhd2/src/mhd2/http_method.h
      type_or_value: '1'
    - item_type: preproc_def
      name: MHD_HTTP_METHOD_DEFINED
      pos:
        line_end: 118
        line_start: 117
        source_file: /src/mhd2/src/mhd2/http_method.h
      type_or_value: '1'
    - item_type: preproc_def
      name: MHD_HTTP_METHOD_DEFINED
      pos:
        line_end: 196
        line_start: 195
        source_file: /src/mhd2/src/mhd2/http_method.h
      type_or_value: '1'
    structs: []
    typedefs: []
    union: []
- function_names: []
  source_file: /src/mhd2/src/mhd2/mhd_digest_auth_data.h
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: MHD_DIGEST_AUTH_DATA_H
      pos:
        line_end: 46
        line_start: 45
        source_file: /src/mhd2/src/mhd2/mhd_digest_auth_data.h
      type_or_value: '1'
    - item_type: preproc_def
      name: mhd_AUTH_DIGEST_SCHEME
      pos:
        line_end: 53
        line_start: 52
        source_file: /src/mhd2/src/mhd2/mhd_digest_auth_data.h
      type_or_value: '"Digest"'
    - item_type: preproc_def
      name: mhd_AUTH_DIGEST_NONCE_RAND_BIN_SIZE
      pos:
        line_end: 58
        line_start: 57
        source_file: /src/mhd2/src/mhd2/mhd_digest_auth_data.h
      type_or_value: '32'
    - item_type: preproc_def
      name: mhd_AUTH_DIGEST_NONCE_RAND_LEN
      pos:
        line_end: 63
        line_start: 61
        source_file: /src/mhd2/src/mhd2/mhd_digest_auth_data.h
      type_or_value: (mhd_AUTH_DIGEST_NONCE_RAND_BIN_SIZE * 2)
    - item_type: preproc_def
      name: mhd_AUTH_DIGEST_NONCE_VALD_BIN_SIZE
      pos:
        line_end: 68
        line_start: 67
        source_file: /src/mhd2/src/mhd2/mhd_digest_auth_data.h
      type_or_value: '4'
    - item_type: preproc_def
      name: mhd_AUTH_DIGEST_NONCE_VALD_LEN
      pos:
        line_end: 73
        line_start: 71
        source_file: /src/mhd2/src/mhd2/mhd_digest_auth_data.h
      type_or_value: (mhd_AUTH_DIGEST_NONCE_VALD_BIN_SIZE * 2)
    - item_type: preproc_def
      name: mhd_AUTH_DIGEST_NONCE_BIN_SIZE
      pos:
        line_end: 80
        line_start: 77
        source_file: /src/mhd2/src/mhd2/mhd_digest_auth_data.h
      type_or_value: "(mhd_AUTH_DIGEST_NONCE_RAND_BIN_SIZE \\\n         + mhd_AUTH_DIGEST_NONCE_VALD_BIN_SIZE)"
    - item_type: preproc_def
      name: mhd_AUTH_DIGEST_NONCE_LEN
      pos:
        line_end: 84
        line_start: 83
        source_file: /src/mhd2/src/mhd2/mhd_digest_auth_data.h
      type_or_value: (mhd_AUTH_DIGEST_NONCE_BIN_SIZE * 2)
    structs: []
    typedefs: []
    union: []
- function_names:
  - MHD_daemon_create
  source_file: /src/mhd2/src/mhd2/daemon_create.c
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: SIZE_MAX
      pos:
        line_end: 65
        line_start: 64
        source_file: /src/mhd2/src/mhd2/daemon_create.c
      type_or_value: ((size_t) (~((size_t) 0)))
    - item_type: preproc_def
      name: MHD_LIB_INIT_IMPL_H_IN_DAEMON_CREATE_C
      pos:
        line_end: 147
        line_start: 146
        source_file: /src/mhd2/src/mhd2/daemon_create.c
      type_or_value: '1'
    structs: []
    typedefs: []
    union: []
- function_names:
  - mhd_tls_open_global_re_init
  - mhd_tls_open_global_deinit
  - mhd_tls_open_is_edge_trigg_supported
  - mhd_tls_open_conn_get_tls_size
  - mhd_tls_open_conn_send
  - mhd_tls_open_conn_has_cstm_tr
  source_file: /src/mhd2/src/mhd2/tls_open_funcs.h
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: MHD_TLS_OPEN_FUNCS_H
      pos:
        line_end: 46
        line_start: 45
        source_file: /src/mhd2/src/mhd2/tls_open_funcs.h
      type_or_value: '1'
    structs: []
    typedefs: []
    union: []
- function_names:
  - mhd_kqueue
  - mhd_KQUEUE_HAS_CLOEXEC_SET
  - mhd_kqueue
  - mhd_KQUEUE_HAS_CLOEXEC_SET
  - mhd_kqueue
  - mhd_KQUEUE_HAS_CLOEXEC_SET
  - mhd_PTR_TO_KE_UDATA
  - mhd_KE_UDATA_TO_PTR
  - mhd_PTR_TO_KE_UDATA
  - mhd_KE_UDATA_TO_PTR
  - mhd_KE_GET_UDATA
  - mhd_KE_SET
  - mhd_kevent
  - mhd_kevent
  source_file: /src/mhd2/src/mhd2/sys_kqueue.h
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: MHD_SYS_KQUEUE_H
      pos:
        line_end: 49
        line_start: 48
        source_file: /src/mhd2/src/mhd2/sys_kqueue.h
      type_or_value: '1'
    - item_type: preproc_def
      name: mhd_KE_UDATA_IS_INTPTR
      pos:
        line_end: 99
        line_start: 98
        source_file: /src/mhd2/src/mhd2/sys_kqueue.h
      type_or_value: '1'
    - item_type: preproc_def
      name: mhd_EV_KEEPUDATA_OR_ZERO
      pos:
        line_end: 124
        line_start: 123
        source_file: /src/mhd2/src/mhd2/sys_kqueue.h
      type_or_value: EV_KEEPUDATA
    - item_type: preproc_def
      name: mhd_EV_KEEPUDATA_OR_ZERO
      pos:
        line_end: 126
        line_start: 125
        source_file: /src/mhd2/src/mhd2/sys_kqueue.h
      type_or_value: (0)
    structs: []
    typedefs:
    - item_type: typedef
      name: '*mhd_KE_UDATA_TYPE'
      pos:
        line_end: 103
        line_start: 103
        source_file: /src/mhd2/src/mhd2/sys_kqueue.h
      type: void
    - item_type: typedef
      name: mhd_KE_UDATA_TYPE
      pos:
        line_end: 107
        line_start: 107
        source_file: /src/mhd2/src/mhd2/sys_kqueue.h
      type: intptr_t
    union: []
- function_names:
  - mhd_HAS_BUILTIN
  - mhd_HAS_BUILTIN
  - mhd_BYTES_SWAP16
  - mhd_BYTES_SWAP16
  - mhd_BYTES_SWAP16
  - mhd_BYTES_SWAP32
  - mhd_BYTES_SWAP32
  - mhd_BYTES_SWAP32
  - mhd_BYTES_SWAP32
  - mhd_BYTES_SWAP64
  - mhd_BYTES_SWAP64
  - mhd_BYTES_SWAP64
  - mhd_BYTES_SWAP64
  - mhd_BYTES_SWAP128
  - mhd_PUT_64BIT_LE_SLOW
  - mhd_PUT_64BIT_LE
  - mhd_PUT_64BIT_LE
  - mhd_PUT_64BIT_LE
  - mhd_PUT_64BIT_LE_UNALIGN
  - mhd_PUT_64BIT_LE_UNALIGN
  - mhd_PUT_32BIT_LE_SLOW
  - mhd_PUT_32BIT_LE
  - mhd_PUT_32BIT_LE
  - mhd_PUT_32BIT_LE
  - mhd_PUT_32BIT_LE_UNALIGN
  - mhd_PUT_32BIT_LE_UNALIGN
  - mhd_GET_32BIT_LE_SLOW
  - mhd_GET_32BIT_LE
  - mhd_GET_32BIT_LE
  - mhd_GET_32BIT_LE
  - mhd_GET_32BIT_LE_UNALIGN
  - mhd_GET_32BIT_LE_UNALIGN
  - mhd_GET_64BIT_LE_SLOW
  - mhd_GET_64BIT_LE
  - mhd_GET_64BIT_LE
  - mhd_GET_64BIT_LE
  - mhd_GET_64BIT_LE_UNALIGN
  - mhd_GET_64BIT_LE_UNALIGN
  - mhd_GET_UINTFAST32_LE
  - mhd_GET_UINTFAST32_LE
  - uint_fast32_t::mhd_GET_UINTFAST32_LE
  - mhd_PUT_64BIT_BE_SLOW
  - mhd_PUT_64BIT_BE
  - mhd_PUT_64BIT_BE
  - mhd_PUT_64BIT_BE
  - mhd_PUT_64BIT_BE_UNALIGN
  - mhd_PUT_64BIT_BE_UNALIGN
  - mhd_GET_64BIT_BE
  - mhd_GET_64BIT_BE
  - mhd_GET_64BIT_BE
  - mhd_PUT_32BIT_BE
  - mhd_PUT_32BIT_BE
  - mhd_PUT_32BIT_BE
  - mhd_PUT_32BIT_BE_UNALIGN
  - mhd_PUT_32BIT_BE_UNALIGN
  - mhd_GET_32BIT_BE
  - mhd_GET_32BIT_BE
  - mhd_GET_32BIT_BE
  - mhd_GET_32BIT_BE_UNALIGN
  - mhd_GET_32BIT_BE_UNALIGN
  - mhd_PUT_UINTFAST32_BE
  - mhd_PUT_UINTFAST32_BE
  - mhd_PUT_UINTFAST32_BE
  - mhd_GET_UINTFAST32_BE
  - mhd_GET_UINTFAST32_BE
  - uint_fast32_t::mhd_GET_UINTFAST32_BE
  - mhd_PUT_16BIT_BE
  - mhd_PUT_16BIT_BE
  - mhd_PUT_16BIT_BE
  - mhd_PUT_16BIT_BE_UNALIGN
  - mhd_PUT_16BIT_BE_UNALIGN
  - mhd_GET_16BIT_BE
  - mhd_GET_16BIT_BE
  - mhd_GET_16BIT_BE
  - mhd_GET_16BIT_BE_UNALIGN
  - mhd_GET_16BIT_BE_UNALIGN
  - mhd_ROTR32
  - mhd_ROTR32
  - mhd_ROTR32
  - mhd_ROTR32
  - mhd_ROTL32
  - mhd_ROTL32
  - mhd_ROTL32
  - mhd_ROTL32
  - mhd_ROTR64
  - mhd_ROTR64
  - mhd_ROTR64
  - mhd_ROTR64
  - mhd_LEADING_ZEROS32NZ
  - mhd_LEADING_ZEROS32NZ
  - mhd_LEADING_ZEROS32NZ
  - mhd_LEADING_ZEROS32NZ
  - uint_least8_t::mhd_bh_func_bit_width32nz
  - mhd_BIT_WIDTH32NZ
  - mhd_LEADING_ZEROS32
  - mhd_LEADING_ZEROS32
  - mhd_LEADING_ZEROS32
  - mhd_LEADING_ZEROS32
  - mhd_LEADING_ZEROS32
  - uint_least8_t::mhd_bh_func_bit_width32
  - mhd_BIT_WIDTH32
  - mhd_BIT_WIDTH32
  - mhd_LEADING_ZEROS32NZ
  - mhd_BIT_WIDTH32NZ
  - mhd_LEADING_ZEROS32
  - mhd_BIT_WIDTH32
  - mhd_LEADING_ZEROS32NZ
  - mhd_BIT_WIDTH32NZ
  - uint_least8_t::mhd_bh_func_leading_zeros32
  - uint_least8_t::mhd_bh_func_bit_width32
  - mhd_LEADING_ZEROS32
  - mhd_BIT_WIDTH32
  - uint_least8_t::mhd_bh_func_bit_width32
  - mhd_LEADING_ZEROS32NZ
  - mhd_BIT_WIDTH32NZ
  - mhd_LEADING_ZEROS32
  - mhd_BIT_WIDTH32
  - mhd_LEADING_ONES32
  - mhd_LEADING_ONES32
  source_file: /src/mhd2/src/mhd2/mhd_bithelpers.h
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: MHD_BITHELPERS_H
      pos:
        line_end: 46
        line_start: 45
        source_file: /src/mhd2/src/mhd2/mhd_bithelpers.h
      type_or_value: '1'
    - item_type: preproc_def
      name: mhd_HAS_VC_INTRINSICS
      pos:
        line_end: 61
        line_start: 60
        source_file: /src/mhd2/src/mhd2/mhd_bithelpers.h
      type_or_value: '1'
    - item_type: preproc_def
      name: mhd_PUT_64BIT_LE_ALLOW_UNALIGNED
      pos:
        line_end: 220
        line_start: 219
        source_file: /src/mhd2/src/mhd2/mhd_bithelpers.h
      type_or_value: '1'
    - item_type: preproc_def
      name: mhd_PUT_32BIT_LE_ALLOW_UNALIGNED
      pos:
        line_end: 260
        line_start: 259
        source_file: /src/mhd2/src/mhd2/mhd_bithelpers.h
      type_or_value: '1'
    - item_type: preproc_def
      name: mhd_GET_32BIT_LE_ALLOW_UNALIGNED
      pos:
        line_end: 302
        line_start: 301
        source_file: /src/mhd2/src/mhd2/mhd_bithelpers.h
      type_or_value: '1'
    - item_type: preproc_def
      name: mhd_GET_64BIT_LE_ALLOW_UNALIGNED
      pos:
        line_end: 350
        line_start: 349
        source_file: /src/mhd2/src/mhd2/mhd_bithelpers.h
      type_or_value: '1'
    - item_type: preproc_def
      name: mhd_PUT_64BIT_BE_ALLOW_UNALIGNED
      pos:
        line_end: 416
        line_start: 415
        source_file: /src/mhd2/src/mhd2/mhd_bithelpers.h
      type_or_value: '1'
    - item_type: preproc_def
      name: mhd_GET_64BIT_BE_ALLOW_UNALIGNED
      pos:
        line_end: 459
        line_start: 458
        source_file: /src/mhd2/src/mhd2/mhd_bithelpers.h
      type_or_value: '1'
    - item_type: preproc_def
      name: mhd_PUT_32BIT_BE_ALLOW_UNALIGNED
      pos:
        line_end: 485
        line_start: 484
        source_file: /src/mhd2/src/mhd2/mhd_bithelpers.h
      type_or_value: '1'
    - item_type: preproc_def
      name: mhd_GET_32BIT_BE_ALLOW_UNALIGNED
      pos:
        line_end: 525
        line_start: 524
        source_file: /src/mhd2/src/mhd2/mhd_bithelpers.h
      type_or_value: '1'
    - item_type: preproc_def
      name: mhd_PUT_16BIT_BE_ALLOW_UNALIGNED
      pos:
        line_end: 612
        line_start: 611
        source_file: /src/mhd2/src/mhd2/mhd_bithelpers.h
      type_or_value: '1'
    - item_type: preproc_def
      name: mhd_GET_16BIT_BE_ALLOW_UNALIGNED
      pos:
        line_end: 646
        line_start: 645
        source_file: /src/mhd2/src/mhd2/mhd_bithelpers.h
      type_or_value: '1'
    structs: []
    typedefs: []
    union: []
- function_names:
  - mhd_upgrade_try_start_upgrading
  - mhd_upgrade_finish_switch_to_upgraded
  - MHD_upgraded_close
  - mhd_upgraded_deinit
  source_file: /src/mhd2/src/mhd2/upgrade_proc.c
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - mhd_SHA256_mtls_init
  - mhd_SHA256_mtls_reset
  - mhd_SHA256_mtls_update
  - mhd_SHA256_mtls_finish
  - mhd_SHA256_mtls_deinit
  source_file: /src/mhd2/src/mhd2/sha256_mbedtls.c
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - '(1) void

    response_full_deinit (struct MHD_Response *restrict r)'
  - mhd_response_dec_use_count
  - mhd_response_inc_use_count
  - MHD_response_destroy
  source_file: /src/mhd2/src/mhd2/response_destroy.c
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: mhd_RESPONSE_DESTOYED
      pos:
        line_end: 66
        line_start: 64
        source_file: /src/mhd2/src/mhd2/response_destroy.c
      type_or_value: "\"Attempt to use destroyed response, \" \\\n        \"re-use
        non-reusable response or wrong MHD_Response pointer\""
    structs: []
    typedefs: []
    union: []
- function_names:
  - mhd_ASSUME
  - mhd_ASSUME
  - mhd_ASSUME
  - mhd_ASSUME
  source_file: /src/mhd2/src/mhd2/mhd_assume.h
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: MHD_ASSUME_H
      pos:
        line_end: 46
        line_start: 45
        source_file: /src/mhd2/src/mhd2/mhd_assume.h
      type_or_value: '1'
    structs: []
    typedefs: []
    union: []
- function_names: []
  source_file: /src/mhd2/src/mhd2/mempool_types.h
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: MHD_MEMPOOL_TYPES_H
      pos:
        line_end: 46
        line_start: 45
        source_file: /src/mhd2/src/mhd2/mempool_types.h
      type_or_value: '1'
    structs: []
    typedefs: []
    union: []
- function_names: []
  source_file: /src/mhd2/src/mhd2/sys_errno.h
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: MHD_SYS_ERRNO_H
      pos:
        line_end: 46
        line_start: 45
        source_file: /src/mhd2/src/mhd2/sys_errno.h
      type_or_value: '1'
    - item_type: preproc_def
      name: mhd_EBADF_OR_ZERO
      pos:
        line_end: 52
        line_start: 51
        source_file: /src/mhd2/src/mhd2/sys_errno.h
      type_or_value: EBADF
    - item_type: preproc_def
      name: mhd_EBADF_OR_ZERO
      pos:
        line_end: 54
        line_start: 53
        source_file: /src/mhd2/src/mhd2/sys_errno.h
      type_or_value: (0)
    - item_type: preproc_def
      name: mhd_EFAULT_OR_ZERO
      pos:
        line_end: 58
        line_start: 57
        source_file: /src/mhd2/src/mhd2/sys_errno.h
      type_or_value: EFAULT
    - item_type: preproc_def
      name: mhd_EFAULT_OR_ZERO
      pos:
        line_end: 60
        line_start: 59
        source_file: /src/mhd2/src/mhd2/sys_errno.h
      type_or_value: (0)
    - item_type: preproc_def
      name: mhd_EINVAL_OR_ZERO
      pos:
        line_end: 64
        line_start: 63
        source_file: /src/mhd2/src/mhd2/sys_errno.h
      type_or_value: EINVAL
    - item_type: preproc_def
      name: mhd_EINVAL_OR_ZERO
      pos:
        line_end: 66
        line_start: 65
        source_file: /src/mhd2/src/mhd2/sys_errno.h
      type_or_value: (0)
    - item_type: preproc_def
      name: mhd_EINTR_OR_ZERO
      pos:
        line_end: 70
        line_start: 69
        source_file: /src/mhd2/src/mhd2/sys_errno.h
      type_or_value: EINTR
    - item_type: preproc_def
      name: mhd_EINTR_OR_ZERO
      pos:
        line_end: 72
        line_start: 71
        source_file: /src/mhd2/src/mhd2/sys_errno.h
      type_or_value: (0)
    - item_type: preproc_def
      name: mhd_ENOMEM_OR_ZERO
      pos:
        line_end: 76
        line_start: 75
        source_file: /src/mhd2/src/mhd2/sys_errno.h
      type_or_value: ENOMEM
    - item_type: preproc_def
      name: mhd_ENOMEM_OR_ZERO
      pos:
        line_end: 78
        line_start: 77
        source_file: /src/mhd2/src/mhd2/sys_errno.h
      type_or_value: (0)
    - item_type: preproc_def
      name: mhd_EMFILE_OR_ZERO
      pos:
        line_end: 82
        line_start: 81
        source_file: /src/mhd2/src/mhd2/sys_errno.h
      type_or_value: EMFILE
    - item_type: preproc_def
      name: mhd_EMFILE_OR_ZERO
      pos:
        line_end: 84
        line_start: 83
        source_file: /src/mhd2/src/mhd2/sys_errno.h
      type_or_value: (0)
    - item_type: preproc_def
      name: mhd_ENFILE_OR_ZERO
      pos:
        line_end: 88
        line_start: 87
        source_file: /src/mhd2/src/mhd2/sys_errno.h
      type_or_value: ENFILE
    - item_type: preproc_def
      name: mhd_ENFILE_OR_ZERO
      pos:
        line_end: 90
        line_start: 89
        source_file: /src/mhd2/src/mhd2/sys_errno.h
      type_or_value: (0)
    - item_type: preproc_def
      name: mhd_ENOBUFS_OR_ZERO
      pos:
        line_end: 94
        line_start: 93
        source_file: /src/mhd2/src/mhd2/sys_errno.h
      type_or_value: ENOBUFS
    - item_type: preproc_def
      name: mhd_ENOBUFS_OR_ZERO
      pos:
        line_end: 96
        line_start: 95
        source_file: /src/mhd2/src/mhd2/sys_errno.h
      type_or_value: (0)
    - item_type: preproc_def
      name: mhd_EHOSTUNREACH_OR_ZERO
      pos:
        line_end: 100
        line_start: 99
        source_file: /src/mhd2/src/mhd2/sys_errno.h
      type_or_value: EHOSTUNREACH
    - item_type: preproc_def
      name: mhd_EHOSTUNREACH_OR_ZERO
      pos:
        line_end: 102
        line_start: 101
        source_file: /src/mhd2/src/mhd2/sys_errno.h
      type_or_value: (0)
    - item_type: preproc_def
      name: mhd_ETIMEDOUT_OR_ZERO
      pos:
        line_end: 106
        line_start: 105
        source_file: /src/mhd2/src/mhd2/sys_errno.h
      type_or_value: ETIMEDOUT
    - item_type: preproc_def
      name: mhd_ETIMEDOUT_OR_ZERO
      pos:
        line_end: 108
        line_start: 107
        source_file: /src/mhd2/src/mhd2/sys_errno.h
      type_or_value: (0)
    - item_type: preproc_def
      name: mhd_ENETUNREACH_OR_ZERO
      pos:
        line_end: 112
        line_start: 111
        source_file: /src/mhd2/src/mhd2/sys_errno.h
      type_or_value: ENETUNREACH
    - item_type: preproc_def
      name: mhd_ENETUNREACH_OR_ZERO
      pos:
        line_end: 114
        line_start: 113
        source_file: /src/mhd2/src/mhd2/sys_errno.h
      type_or_value: (0)
    structs: []
    typedefs: []
    union: []
- function_names:
  - mhd_COND_PRED_TRUE_P
  - mhd_COND_PRED_FALSE_P
  - mhd_COND_PRED_TRUE_P
  - mhd_COND_PRED_FALSE_P
  - mhd_COND_PRED_TRUE_P
  - mhd_COND_PRED_FALSE_P
  - mhd_COND_VIRTUALLY_ALWAYS
  - mhd_COND_ALMOST_ALWAYS
  - mhd_COND_PREDOMINANTLY
  - mhd_COND_USUALLY
  - mhd_COND_RARELY
  - mhd_COND_VERY_RARELY
  - mhd_COND_ALMOST_NEVER
  - mhd_COND_HARDLY_EVER
  source_file: /src/mhd2/src/mhd2/mhd_predict.h
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: MHD_PREDICT_H
      pos:
        line_end: 47
        line_start: 46
        source_file: /src/mhd2/src/mhd2/mhd_predict.h
      type_or_value: '1'
    - item_type: preproc_def
      name: MHD_HAVE___BUILTIN_EXPECT_WITH_PROBABILITY
      pos:
        line_end: 86
        line_start: 85
        source_file: /src/mhd2/src/mhd2/mhd_predict.h
      type_or_value: '1'
    - item_type: preproc_def
      name: MHD_HAVE___BUILTIN_EXPECT
      pos:
        line_end: 89
        line_start: 88
        source_file: /src/mhd2/src/mhd2/mhd_predict.h
      type_or_value: '1'
    structs: []
    typedefs: []
    union: []
- function_names:
  - mhd_WM_INT_HAS_THREADS
  - mhd_WM_INT_IS_THREAD_PER_CONN
  - mhd_WM_INT_IS_THREAD_POOL
  - mhd_WM_INT_HAS_THREADS
  - mhd_WM_INT_IS_THREAD_PER_CONN
  - mhd_WM_INT_IS_THREAD_POOL
  - mhd_WM_INT_HAS_EXT_EVENTS
  - mhd_POLL_TYPE_INT_IS_EPOLL
  - mhd_POLL_TYPE_INT_IS_EPOLL
  - mhd_POLL_TYPE_INT_IS_KQUEUE
  - mhd_POLL_TYPE_INT_IS_KQUEUE
  - mhd_POLL_TYPE_INT_IS_EDGE_TRIG
  - mhd_D_TYPE_IS_VALID
  - mhd_D_TYPE_IS_INTERNAL_ONLY
  - mhd_D_TYPE_HAS_EVENTS_PROCESSING
  - mhd_D_TYPE_HAS_WORKERS
  - mhd_D_TYPE_HAS_MASTER_DAEMON
  - mhd_D_TYPE_IS_LISTEN_ONLY
  - mhd_D_TYPE_IS_VALID
  - mhd_D_TYPE_IS_INTERNAL_ONLY
  - mhd_D_TYPE_HAS_EVENTS_PROCESSING
  - mhd_D_TYPE_HAS_WORKERS
  - mhd_D_TYPE_HAS_MASTER_DAEMON
  - mhd_D_TYPE_IS_LISTEN_ONLY
  - mhd_ALLOW_BARE_LF_AS_CRLF
  - mhd_FD_FITS_DAEMON
  - mhd_FD_FITS_DAEMON
  - mhd_D_IS_USING_EPOLL
  - mhd_D_IS_USING_KQUEUE
  - mhd_D_POLL_IS_EDGE_TRIG
  - mhd_D_HAS_EDGE_TRIGG
  - mhd_D_HAS_THREADS
  - mhd_D_HAS_THREADS
  - mhd_D_HAS_THR_PER_CONN
  - mhd_D_HAS_THR_PER_CONN
  - mhd_D_HAS_STOP_REQ
  - mhd_D_HAS_STOP_REQ
  - mhd_D_HAS_WORKERS
  - mhd_D_HAS_MASTER
  - mhd_D_IS_INTERNAL_ONLY
  - mhd_D_HAS_TLS
  - mhd_D_HAS_TLS
  - mhd_D_HAS_AUTH_DIGEST
  - mhd_D_HAS_AUTH_DIGEST
  - mhd_D_IS_HTTP1_ENABLED
  - mhd_D_IS_HTTP2_ENABLED
  - mhd_D_IS_HTTP1_ENABLED
  - mhd_D_IS_HTTP2_ENABLED
  source_file: /src/mhd2/src/mhd2/mhd_daemon.h
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: MHD_DAEMON_H
      pos:
        line_end: 46
        line_start: 45
        source_file: /src/mhd2/src/mhd2/mhd_daemon.h
      type_or_value: '1'
    - item_type: preproc_def
      name: mhd_SOCKET_REL_MARKER_EMPTY
      pos:
        line_end: 293
        line_start: 292
        source_file: /src/mhd2/src/mhd2/mhd_daemon.h
      type_or_value: ((mhd_SockRelMarker) (0))
    - item_type: preproc_def
      name: mhd_SOCKET_REL_MARKER_ITC
      pos:
        line_end: 296
        line_start: 295
        source_file: /src/mhd2/src/mhd2/mhd_daemon.h
      type_or_value: ((mhd_SockRelMarker) (-1))
    - item_type: preproc_def
      name: mhd_SOCKET_REL_MARKER_LISTEN
      pos:
        line_end: 299
        line_start: 298
        source_file: /src/mhd2/src/mhd2/mhd_daemon.h
      type_or_value: (mhd_SOCKET_REL_MARKER_ITC - 1)
    - item_type: preproc_def
      name: mhd_SOCKET_REL_PTRMARKER_EMPTY
      pos:
        line_end: 304
        line_start: 303
        source_file: /src/mhd2/src/mhd2/mhd_daemon.h
      type_or_value: ((void*) mhd_SOCKET_REL_MARKER_EMPTY)
    - item_type: preproc_def
      name: mhd_SOCKET_REL_PTRMARKER_ITC
      pos:
        line_end: 307
        line_start: 306
        source_file: /src/mhd2/src/mhd2/mhd_daemon.h
      type_or_value: ((void*) mhd_SOCKET_REL_MARKER_ITC)
    - item_type: preproc_def
      name: mhd_SOCKET_REL_PTRMARKER_LISTEN
      pos:
        line_end: 310
        line_start: 309
        source_file: /src/mhd2/src/mhd2/mhd_daemon.h
      type_or_value: ((void*) mhd_SOCKET_REL_MARKER_LISTEN)
    structs:
    - fields:
      - name: '*rfds'
        type: fd_set
      - name: '*wfds'
        type: fd_set
      - name: '*efds'
        type: fd_set
      item_type: struct
      name: mhd_DaemonEventsSelectData
      pos:
        line_end: 349
        line_start: 335
        source_file: /src/mhd2/src/mhd2/mhd_daemon.h
    - fields:
      - name: '*fds'
        type: struct pollfd
      - name: '*rel'
        type: union mhd_SocketRelation
      item_type: struct
      name: mhd_DaemonEventsPollData
      pos:
        line_end: 378
        line_start: 359
        source_file: /src/mhd2/src/mhd2/mhd_daemon.h
    - fields:
      - name: e_fd
        type: int
      - name: '*events'
        type: struct epoll_event
      - name: num_elements
        type: size_t
      - name: early_fd
        type: int
      item_type: struct
      name: mhd_DaemonEventsEPollData
      pos:
        line_end: 408
        line_start: 387
        source_file: /src/mhd2/src/mhd2/mhd_daemon.h
    - fields:
      - name: kq_fd
        type: int
      - name: '*kes'
        type: struct kevent
      - name: num_elements
        type: unsigned int
      item_type: struct
      name: mhd_DaemonEventsKQueueData
      pos:
        line_end: 435
        line_start: 417
        source_file: /src/mhd2/src/mhd2/mhd_daemon.h
    - fields:
      - name: cb
        type: MHD_SocketRegistrationUpdateCallback
      - name: '*cls'
        type: void
      item_type: struct
      name: mhd_DaemonEventsExternalCallback
      pos:
        line_end: 453
        line_start: 443
        source_file: /src/mhd2/src/mhd2/mhd_daemon.h
    - fields:
      - name: '*app_cntx'
        type: void
      - name: is_active
        type: bool
      - name: is_broken
        type: bool
      item_type: struct
      name: mhd_DaemonEventsExternalDaemonItcData
      pos:
        line_end: 479
        line_start: 460
        source_file: /src/mhd2/src/mhd2/mhd_daemon.h
    - fields:
      - name: '*app_cntx'
        type: void
      item_type: struct
      name: mhd_DaemonEventsExternalDaemonListenData
      pos:
        line_end: 491
        line_start: 485
        source_file: /src/mhd2/src/mhd2/mhd_daemon.h
    - fields:
      - name: cb_data
        type: struct mhd_DaemonEventsExternalCallback
      - name: listen_data
        type: struct mhd_DaemonEventsExternalDaemonListenData
      - name: reg_all
        type: bool
      item_type: struct
      name: mhd_DaemonEventsExternal
      pos:
        line_end: 521
        line_start: 496
        source_file: /src/mhd2/src/mhd2/mhd_daemon.h
    - fields:
      - name: skt
        type: MHD_Socket
      - name: addr_size
        type: size_t
      - name: '*addr'
        type: struct sockaddr_storage
      - name: is_nonblock
        type: bool
      - name: has_spipe_suppr
        type: bool
      item_type: struct
      name: mhd_DaemonExtAddedConn
      pos:
        line_end: 607
        line_start: 573
        source_file: /src/mhd2/src/mhd2/mhd_daemon.h
    - fields:
      - name: q_lock
        type: mhd_mutex
      item_type: struct
      name: mhd_DaemonExtAddedConnectionsWorker
      pos:
        line_end: 624
        line_start: 613
        source_file: /src/mhd2/src/mhd2/mhd_daemon.h
    - fields:
      - name: next_d_idx
        type: struct mhd_AtomicCounter
      item_type: struct
      name: mhd_DaemonExtAddedConnectionsMaster
      pos:
        line_end: 637
        line_start: 630
        source_file: /src/mhd2/src/mhd2/mhd_daemon.h
    - fields:
      - name: resume
        type: bool
      - name: ext_added
        type: union mhd_DaemonExtAddedConnections
      item_type: struct
      name: mhd_DaemonEventActionRequired
      pos:
        line_end: 672
        line_start: 661
        source_file: /src/mhd2/src/mhd2/mhd_daemon.h
    - fields:
      - name: is_set
        type: bool
      - name: cur
        type: uint_fast64_t
      item_type: struct
      name: mhd_DaemonEventsCurTime
      pos:
        line_end: 689
        line_start: 677
        source_file: /src/mhd2/src/mhd2/mhd_daemon.h
    - fields:
      - name: poll_type
        type: enum mhd_IntPollType
      - name: data
        type: union mhd_DaemonEventMonitoringTypeSpecificData
      - name: act_req
        type: struct mhd_DaemonEventActionRequired
      - name: accept_pending
        type: bool
      - name: time
        type: struct mhd_DaemonEventsCurTime
      item_type: struct
      name: mhd_DaemonEventMonitoringData
      pos:
        line_end: 725
        line_start: 694
        source_file: /src/mhd2/src/mhd2/mhd_daemon.h
    - fields:
      - name: fd
        type: MHD_Socket
      - name: is_broken
        type: bool
      - name: type
        type: enum mhd_SocketType
      - name: non_block
        type: bool
      - name: port
        type: uint_least16_t
      item_type: struct
      name: mhd_ListenSocket
      pos:
        line_end: 783
        line_start: 757
        source_file: /src/mhd2/src/mhd2/mhd_daemon.h
    - fields: []
      item_type: struct
      name: mhd_DaemonNetworkSettings
      pos:
        line_end: 799
        line_start: 788
        source_file: /src/mhd2/src/mhd2/mhd_daemon.h
    - fields:
      - name: listen
        type: struct mhd_ListenSocket
      - name: cfg
        type: struct mhd_DaemonNetworkSettings
      item_type: struct
      name: mhd_DaemonNetwork
      pos:
        line_end: 820
        line_start: 810
        source_file: /src/mhd2/src/mhd2/mhd_daemon.h
    - fields:
      - name: nonce[mhd_AUTH_DIGEST_NONCE_RAND_BIN_SIZE]
        type: uint8_t
      - name: valid_time
        type: uint_fast32_t
      - name: max_recvd_nc
        type: uint_fast32_t
      - name: nmask
        type: uint_fast64_t
      item_type: struct
      name: mhd_DaemonAuthDigestNonceData
      pos:
        line_end: 852
        line_start: 827
        source_file: /src/mhd2/src/mhd2/mhd_daemon.h
    - fields:
      - name: nonces_num
        type: size_t
      - name: nonce_tmout
        type: unsigned int
      - name: def_max_nc
        type: uint_fast32_t
      item_type: struct
      name: mhd_DaemonAuthDigestCfg
      pos:
        line_end: 873
        line_start: 857
        source_file: /src/mhd2/src/mhd2/mhd_daemon.h
    - fields:
      - name: entropy
        type: struct mhd_Buffer
      - name: '*nonces'
        type: struct mhd_DaemonAuthDigestNonceData
      - name: num_gen_nonces
        type: struct mhd_AtomicCounter
      - name: cfg
        type: struct mhd_DaemonAuthDigestCfg
      item_type: struct
      name: mhd_DaemonAuthDigestData
      pos:
        line_end: 908
        line_start: 878
        source_file: /src/mhd2/src/mhd2/mhd_daemon.h
    - fields:
      - name: '*workers'
        type: struct MHD_Daemon
      - name: num
        type: unsigned int
      item_type: struct
      name: mhd_DaemonWorkerPoolData
      pos:
        line_end: 1043
        line_start: 1032
        source_file: /src/mhd2/src/mhd2/mhd_daemon.h
    - fields:
      - name: stack_size
        type: size_t
      item_type: struct
      name: mhd_DaemonThreadingDataSettings
      pos:
        line_end: 1073
        line_start: 1066
        source_file: /src/mhd2/src/mhd2/mhd_daemon.h
    - fields:
      - name: d_type
        type: enum mhd_DaemonType
      - name: itc
        type: struct mhd_itc
      - name: stop_requested
        type: bool
      - name: tid
        type: mhd_thread_handle_ID
      - name: hier
        type: union mhd_DaemonHierarchyData
      - name: cfg
        type: struct mhd_DaemonThreadingDataSettings
      item_type: struct
      name: mhd_DaemonThreadingData
      pos:
        line_end: 1114
        line_start: 1078
        source_file: /src/mhd2/src/mhd2/mhd_daemon.h
    - fields:
      - name: count_limit
        type: unsigned int
      - name: per_ip_limit
        type: unsigned int
      - name: timeout_milsec
        type: uint_fast32_t
      - name: mem_pool_size
        type: size_t
      - name: mem_pool_zeroing
        type: enum mhd_MemPoolZeroing
      item_type: struct
      name: mhd_DaemonConnectionsSettings
      pos:
        line_end: 1147
        line_start: 1121
        source_file: /src/mhd2/src/mhd2/mhd_daemon.h
    - fields: []
      item_type: struct
      name: mhd_DaemonConnectionsUpgraded
      pos:
        line_end: 1168
        line_start: 1154
        source_file: /src/mhd2/src/mhd2/mhd_daemon.h
    - fields:
      - name: count
        type: unsigned int
      - name: block_new
        type: bool
      - name: cfg
        type: struct mhd_DaemonConnectionsSettings
      item_type: struct
      name: mhd_DaemonConnections
      pos:
        line_end: 1219
        line_start: 1175
        source_file: /src/mhd2/src/mhd2/mhd_daemon.h
    - fields:
      - name: cb
        type: MHD_EarlyUriLogCallback
      - name: '*cls'
        type: void
      item_type: struct
      name: mhd_DaemonRequestUriCB
      pos:
        line_end: 1234
        line_start: 1224
        source_file: /src/mhd2/src/mhd2/mhd_daemon.h
    - fields:
      - name: space_left
        type: size_t
      item_type: struct
      name: mhd_DaemonLargeBuffer
      pos:
        line_end: 1252
        line_start: 1239
        source_file: /src/mhd2/src/mhd2/mhd_daemon.h
    - fields:
      - name: http1x
        type: bool
      - name: http2
        type: bool
      item_type: struct
      name: mhd_DaemonHttpSettings
      pos:
        line_end: 1271
        line_start: 1261
        source_file: /src/mhd2/src/mhd2/mhd_daemon.h
    - fields:
      - name: cb
        type: MHD_RequestCallback
      - name: '*cb_cls'
        type: void
      - name: strictness
        type: enum MHD_ProtocolStrictLevel
      - name: uri_cb
        type: struct mhd_DaemonRequestUriCB
      - name: large_buf
        type: struct mhd_DaemonLargeBuffer
      - name: suppress_date
        type: bool
      item_type: struct
      name: mhd_DaemonRequestProcessingSettings
      pos:
        line_end: 1317
        line_start: 1278
        source_file: /src/mhd2/src/mhd2/mhd_daemon.h
    - fields:
      - name: net_inited
        type: bool
      - name: net_deinited
        type: bool
      - name: master_only_inited
        type: bool
      - name: worker_only_inited
        type: bool
      - name: events_fd_inited
        type: bool
      - name: tls_inited
        type: bool
      - name: events_allocated
        type: bool
      - name: num_events_elements
        type: unsigned int
      - name: events_fully_inited
        type: bool
      - name: thread_pool_inited
        type: bool
      - name: threading_inited
        type: bool
      - name: connections_inited
        type: bool
      - name: avoid_accept4
        type: bool
      - name: initial_lbuf_size
        type: size_t
      item_type: struct
      name: mhd_daemon_debug
      pos:
        line_end: 1349
        line_start: 1333
        source_file: /src/mhd2/src/mhd2/mhd_daemon.h
    - fields:
      - name: state
        type: enum mhd_DaemonState
      - name: wmode_int
        type: enum mhd_WorkModeIntType
      - name: events
        type: struct mhd_DaemonEventMonitoringData
      - name: net
        type: struct mhd_DaemonNetwork
      - name: conns
        type: struct mhd_DaemonConnections
      - name: req_cfg
        type: struct mhd_DaemonRequestProcessingSettings
      - name: log_params
        type: struct MHD_DaemonOptionValueLog
      - name: '*settings'
        type: struct DaemonOptions
      item_type: struct
      name: MHD_Daemon
      pos:
        line_end: 1458
        line_start: 1353
        source_file: /src/mhd2/src/mhd2/mhd_daemon.h
    typedefs:
    - item_type: typedef
      name: mhd_SockRelMarker
      pos:
        line_end: 286
        line_start: 286
        source_file: /src/mhd2/src/mhd2/mhd_daemon.h
      type: uintptr_t
    - item_type: typedef
      name: '*mhd_SockRelMarker'
      pos:
        line_end: 288
        line_start: 288
        source_file: /src/mhd2/src/mhd2/mhd_daemon.h
      type: unsigned char
    union:
    - fields:
      - name: fd_id
        type: mhd_SockRelMarker
      - name: '*connection'
        type: struct MHD_Connection
      item_type: union
      name: mhd_SocketRelation
      pos:
        line_end: 327
        line_start: 314
        source_file: /src/mhd2/src/mhd2/mhd_daemon.h
    - fields:
      - name: extr
        type: struct mhd_DaemonEventsExternal
      item_type: union
      name: mhd_DaemonEventMonitoringTypeSpecificData
      pos:
        line_end: 564
        line_start: 526
        source_file: /src/mhd2/src/mhd2/mhd_daemon.h
    - fields:
      - name: worker
        type: struct mhd_DaemonExtAddedConnectionsWorker
      item_type: union
      name: mhd_DaemonExtAddedConnections
      pos:
        line_end: 655
        line_start: 643
        source_file: /src/mhd2/src/mhd2/mhd_daemon.h
    - fields:
      - name: '*master'
        type: struct MHD_Daemon
      - name: pool
        type: struct mhd_DaemonWorkerPoolData
      item_type: union
      name: mhd_DaemonHierarchyData
      pos:
        line_end: 1061
        line_start: 1048
        source_file: /src/mhd2/src/mhd2/mhd_daemon.h
- function_names:
  - mhd_SHA256_blti_reset
  - mhd_SHA256_blti_deinit
  source_file: /src/mhd2/src/mhd2/sha256_builtin.h
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: MHD_SHA256_BUILTIN_H
      pos:
        line_end: 46
        line_start: 45
        source_file: /src/mhd2/src/mhd2/sha256_builtin.h
      type_or_value: '1'
    - item_type: preproc_def
      name: mhd_SHA256_DIGEST_SIZE_WORDS
      pos:
        line_end: 56
        line_start: 55
        source_file: /src/mhd2/src/mhd2/sha256_builtin.h
      type_or_value: '8'
    - item_type: preproc_def
      name: mhd_SHA256_WORD_SIZE_BITS
      pos:
        line_end: 61
        line_start: 60
        source_file: /src/mhd2/src/mhd2/sha256_builtin.h
      type_or_value: '32'
    - item_type: preproc_def
      name: mhd_SHA256_BYTES_IN_WORD
      pos:
        line_end: 67
        line_start: 66
        source_file: /src/mhd2/src/mhd2/sha256_builtin.h
      type_or_value: (mhd_SHA256_WORD_SIZE_BITS / 8)
    - item_type: preproc_def
      name: mhd_SHA256_DIGEST_SIZE
      pos:
        line_end: 74
        line_start: 72
        source_file: /src/mhd2/src/mhd2/sha256_builtin.h
      type_or_value: (mhd_SHA256_DIGEST_SIZE_WORDS * mhd_SHA256_BYTES_IN_WORD)
    - item_type: preproc_def
      name: mhd_SHA256_BLOCK_SIZE_BITS
      pos:
        line_end: 80
        line_start: 79
        source_file: /src/mhd2/src/mhd2/sha256_builtin.h
      type_or_value: '512'
    - item_type: preproc_def
      name: mhd_SHA256_BLOCK_SIZE
      pos:
        line_end: 85
        line_start: 84
        source_file: /src/mhd2/src/mhd2/sha256_builtin.h
      type_or_value: (mhd_SHA256_BLOCK_SIZE_BITS / 8)
    - item_type: preproc_def
      name: mhd_SHA256_BLOCK_SIZE_WORDS
      pos:
        line_end: 91
        line_start: 89
        source_file: /src/mhd2/src/mhd2/sha256_builtin.h
      type_or_value: (mhd_SHA256_BLOCK_SIZE_BITS / mhd_SHA256_WORD_SIZE_BITS)
    - item_type: preproc_def
      name: mhd_SHA256_BLTI_EXT_ERROR_FLAG
      pos:
        line_end: 109
        line_start: 108
        source_file: /src/mhd2/src/mhd2/sha256_builtin.h
      type_or_value: '0'
    - item_type: preproc_def
      name: mhd_SHA256_BLTI_DEINIT_NOOP_FLAG
      pos:
        line_end: 174
        line_start: 173
        source_file: /src/mhd2/src/mhd2/sha256_builtin.h
      type_or_value: '1'
    structs:
    - fields:
      - name: H[mhd_SHA256_DIGEST_SIZE_WORDS]
        type: uint32_t
      - name: buffer[mhd_SHA256_BLOCK_SIZE_WORDS]
        type: uint32_t
      - name: count
        type: uint64_t
      item_type: struct
      name: mhd_Sha256CtxBlti
      pos:
        line_end: 101
        line_start: 96
        source_file: /src/mhd2/src/mhd2/sha256_builtin.h
    typedefs: []
    union: []
- function_names:
  - mhd_SHA256_blti_init
  - sha256_transform
  - Ch
  - Maj
  - SIG0
  - SIG1
  - sig0
  - sig1
  - SHA2STEP32
  - GET_W_FROM_DATA
  - Wgen
  - SHA2STEP32RV
  - mhd_SHA256_blti_update
  - mhd_SHA256_blti_finish
  source_file: /src/mhd2/src/mhd2/sha256_builtin.c
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: SHA256_SIZE_OF_LEN_ADD
      pos:
        line_end: 471
        line_start: 470
        source_file: /src/mhd2/src/mhd2/sha256_builtin.c
      type_or_value: (64 / 8)
    structs: []
    typedefs: []
    union: []
- function_names:
  - mhd_SHA256_ossl_init
  - mhd_SHA256_ossl_reset
  - mhd_SHA256_ossl_update
  - mhd_SHA256_ossl_finish
  - mhd_SHA256_ossl_deinit
  source_file: /src/mhd2/src/mhd2/sha256_openssl.c
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names: []
  source_file: /src/mhd2/src/mhd2/tls_dh_params.h
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: MHD_TLS_DH_PARAMS_H
      pos:
        line_end: 47
        line_start: 46
        source_file: /src/mhd2/src/mhd2/tls_dh_params.h
      type_or_value: '1'
    structs: []
    typedefs: []
    union: []
- function_names:
  - check_write_done
  - mhd_conn_data_send
  source_file: /src/mhd2/src/mhd2/conn_data_send.c
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - mhd_parse_http_method
  - parse_http_std_method
  - "(2, 1) MHD_FN_PAR_NONNULL_ALL_\nenum mhd_HTTP_ProtVerParse\nparse_http_version
    (size_t len,\n                    const char *restrict http_string)"
  - "(3, 2) MHD_FN_PAR_NONNULL_ALL_ bool\nprocess_http_version (struct MHD_Connection
    *restrict connection,\n                      size_t len,\n                      const
    char *restrict http_string)"
  - get_request_line_inner
  - "(2) MHD_FN_PAR_NONNULL_ (3) bool\nrequest_add_get_arg (void *restrict cls,\n
    \                    const struct MHD_String *restrict name,\n                     const
    struct MHD_StringNullable *restrict value)"
  - mhd_parse_uri_args
  - process_request_target
  - send_redirect_fixed_rq_target
  - mhd_stream_get_request_line
  - mhd_stream_switch_to_rq_headers_proc
  - handle_req_headers_no_space
  - handle_req_footers_no_space
  - get_req_header
  - mhd_stream_reset_rq_hdr_proc_state
  - mhd_stream_get_request_headers
  - parse_cookies_string
  - parse_cookie_header
  - handle_req_cookie_no_space
  - mhd_stream_parse_request_headers
  - need_100_continue
  - check_and_alloc_buf_for_upload_processing
  - mhd_stream_call_app_request_cb
  - mhd_stream_process_upload_action
  - process_request_chunked_body
  - process_request_nonchunked_body
  - mhd_stream_process_request_body
  - mhd_stream_call_app_final_upload_cb
  - mhd_stream_process_req_recv_finished
  - handle_req_chunk_size_line_no_space
  - handle_recv_no_space
  - try_grow_read_buffer
  - mhd_stream_check_and_grow_read_buffer_space
  source_file: /src/mhd2/src/mhd2/stream_process_request.c
  types:
    enum:
    - enumerators:
      - name: MHD_PARSE_COOKIE_OK_LAX
        value: '2'
      - name: MHD_PARSE_COOKIE_MALFORMED
        value: '-1'
      - name: MHD_PARSE_COOKIE_NO_MEMORY
        value: '0'
      - name: MHD_PARSE_COOKIE_OK
        value: '1'
      item_type: enum
      name: mhd_ParseCookie
      pos:
        line_end: 2388
        line_start: 2379
        source_file: /src/mhd2/src/mhd2/stream_process_request.c
    preproc_defs:
    - item_type: preproc_def
      name: ERR_RSP_REQUEST_MALFORMED
      pos:
        line_end: 100
        line_start: 97
        source_file: /src/mhd2/src/mhd2/stream_process_request.c
      type_or_value: "\"<html><head><title>Request malformed</title></head>\" \\\n
        \       \"<body>HTTP request is syntactically incorrect.</body></html>\""
    - item_type: preproc_def
      name: ERR_RSP_REQ_HTTP_VER_IS_TOO_OLD
      pos:
        line_end: 109
        line_start: 104
        source_file: /src/mhd2/src/mhd2/stream_process_request.c
      type_or_value: "\"<html>\" \\\n        \"<head><title>Requested HTTP version
        is not supported</title></head>\" \\\n        \"<body>Requested HTTP version
        is too old and not \" \\\n        \"supported.</body></html>\""
    - item_type: preproc_def
      name: ERR_RSP_REQ_HTTP_VER_IS_NOT_SUPPORTED
      pos:
        line_end: 116
        line_start: 112
        source_file: /src/mhd2/src/mhd2/stream_process_request.c
      type_or_value: "\"<html>\" \\\n        \"<head><title>Requested HTTP version
        is not supported</title></head>\" \\\n        \"<body>Requested HTTP version
        is not supported.</body></html>\""
    - item_type: preproc_def
      name: ERR_RSP_BARE_CR_IN_HEADER
      pos:
        line_end: 127
        line_start: 121
        source_file: /src/mhd2/src/mhd2/stream_process_request.c
      type_or_value: "\"<html>\" \\\n        \"<head><title>Request broken</title></head>\"
        \\\n        \"<body>Request HTTP header has bare CR character without \" \\\n
        \       \"following LF character.</body>\" \\\n        \"</html>\""
    - item_type: preproc_def
      name: ERR_RSP_BARE_CR_IN_FOOTER
      pos:
        line_end: 138
        line_start: 132
        source_file: /src/mhd2/src/mhd2/stream_process_request.c
      type_or_value: "\"<html>\" \\\n        \"<head><title>Request broken</title></head>\"
        \\\n        \"<body>Request HTTP footer has bare CR character without \" \\\n
        \       \"following LF character.</body>\" \\\n        \"</html>\""
    - item_type: preproc_def
      name: ERR_RSP_BARE_LF_IN_HEADER
      pos:
        line_end: 149
        line_start: 143
        source_file: /src/mhd2/src/mhd2/stream_process_request.c
      type_or_value: "\"<html>\" \\\n        \"<head><title>Request broken</title></head>\"
        \\\n        \"<body>Request HTTP header has bare LF character without \" \\\n
        \       \"preceding CR character.</body>\" \\\n        \"</html>\""
    - item_type: preproc_def
      name: ERR_RSP_BARE_LF_IN_FOOTER
      pos:
        line_end: 159
        line_start: 153
        source_file: /src/mhd2/src/mhd2/stream_process_request.c
      type_or_value: "\"<html>\" \\\n        \"<head><title>Request broken</title></head>\"
        \\\n        \"<body>Request HTTP footer has bare LF character without \" \\\n
        \       \"preceding CR character.</body>\" \\\n        \"</html>\""
    - item_type: preproc_def
      name: ERR_RSP_RQ_LINE_TOO_MANY_WSP
      pos:
        line_end: 168
        line_start: 163
        source_file: /src/mhd2/src/mhd2/stream_process_request.c
      type_or_value: "\"<html>\" \\\n        \"<head><title>Request broken</title></head>\"
        \\\n        \"<body>The request line has more then two whitespaces.</body>\"
        \\\n        \"</html>\""
    - item_type: preproc_def
      name: ERR_RSP_RQ_TARGET_INVALID_CHAR
      pos:
        line_end: 178
        line_start: 172
        source_file: /src/mhd2/src/mhd2/stream_process_request.c
      type_or_value: "\"<html>\" \\\n        \"<head><title>Request broken</title></head>\"
        \\\n        \"<body>HTTP request has invalid characters in \" \\\n        \"the
        request-target.</body>\" \\\n        \"</html>\""
    - item_type: preproc_def
      name: ERR_RSP_OBS_FOLD
      pos:
        line_end: 187
        line_start: 182
        source_file: /src/mhd2/src/mhd2/stream_process_request.c
      type_or_value: "\"<html>\" \\\n        \"<head><title>Request broken</title></head>\"
        \\\n        \"<body>Obsolete line folding is used in HTTP request header.</body>\"
        \\\n        \"</html>\""
    - item_type: preproc_def
      name: ERR_RSP_OBS_FOLD_FOOTER
      pos:
        line_end: 196
        line_start: 191
        source_file: /src/mhd2/src/mhd2/stream_process_request.c
      type_or_value: "\"<html>\" \\\n        \"<head><title>Request broken</title></head>\"
        \\\n        \"<body>Obsolete line folding is used in HTTP request footer.</body>\"
        \\\n        \"</html>\""
    - item_type: preproc_def
      name: ERR_RSP_HEADER_WITHOUT_COLON
      pos:
        line_end: 205
        line_start: 200
        source_file: /src/mhd2/src/mhd2/stream_process_request.c
      type_or_value: "\"<html>\" \\\n        \"<head><title>Request broken</title></head>\"
        \\\n        \"<body>HTTP request header line has no colon character.</body>\"
        \\\n        \"</html>\""
    - item_type: preproc_def
      name: ERR_RSP_FOOTER_WITHOUT_COLON
      pos:
        line_end: 214
        line_start: 209
        source_file: /src/mhd2/src/mhd2/stream_process_request.c
      type_or_value: "\"<html>\" \\\n        \"<head><title>Request broken</title></head>\"
        \\\n        \"<body>HTTP request footer line has no colon character.</body>\"
        \\\n        \"</html>\""
    - item_type: preproc_def
      name: ERR_RSP_WSP_BEFORE_HEADER
      pos:
        line_end: 224
        line_start: 218
        source_file: /src/mhd2/src/mhd2/stream_process_request.c
      type_or_value: "\"<html>\" \\\n        \"<head><title>Request broken</title></head>\"
        \\\n        \"<body>HTTP request has whitespace between the request line and
        \" \\\n        \"the first header.</body>\" \\\n        \"</html>\""
    - item_type: preproc_def
      name: ERR_RSP_WSP_BEFORE_FOOTER
      pos:
        line_end: 235
        line_start: 229
        source_file: /src/mhd2/src/mhd2/stream_process_request.c
      type_or_value: "\"<html>\" \\\n        \"<head><title>Request broken</title></head>\"
        \\\n        \"<body>First HTTP footer line has whitespace at the first \"
        \\\n        \"position.</body>\" \\\n        \"</html>\""
    - item_type: preproc_def
      name: ERR_RSP_WSP_IN_HEADER_NAME
      pos:
        line_end: 246
        line_start: 240
        source_file: /src/mhd2/src/mhd2/stream_process_request.c
      type_or_value: "\"<html>\" \\\n        \"<head><title>Request broken</title></head>\"
        \\\n        \"<body>HTTP request has whitespace before the first colon \"
        \\\n        \"in header line.</body>\" \\\n        \"</html>\""
    - item_type: preproc_def
      name: ERR_RSP_WSP_IN_FOOTER_NAME
      pos:
        line_end: 257
        line_start: 251
        source_file: /src/mhd2/src/mhd2/stream_process_request.c
      type_or_value: "\"<html>\" \\\n        \"<head><title>Request broken</title></head>\"
        \\\n        \"<body>HTTP request has whitespace before the first colon \"
        \\\n        \"in footer line.</body>\" \\\n        \"</html>\""
    - item_type: preproc_def
      name: ERR_RSP_INVALID_CHR_IN_HEADER
      pos:
        line_end: 265
        line_start: 260
        source_file: /src/mhd2/src/mhd2/stream_process_request.c
      type_or_value: "\"<html>\" \\\n        \"<head><title>Request broken</title></head>\"
        \\\n        \"<body>HTTP request has invalid character in header.</body>\"
        \\\n        \"</html>\""
    - item_type: preproc_def
      name: ERR_RSP_INVALID_CHR_IN_FOOTER
      pos:
        line_end: 274
        line_start: 269
        source_file: /src/mhd2/src/mhd2/stream_process_request.c
      type_or_value: "\"<html>\" \\\n        \"<head><title>Request broken</title></head>\"
        \\\n        \"<body>HTTP request has invalid character in footer.</body>\"
        \\\n        \"</html>\""
    - item_type: preproc_def
      name: ERR_RSP_EMPTY_HEADER_NAME
      pos:
        line_end: 283
        line_start: 278
        source_file: /src/mhd2/src/mhd2/stream_process_request.c
      type_or_value: "\"<html>\" \\\n        \"<head><title>Request broken</title></head>\"
        \\\n        \"<body>HTTP request header has empty header name.</body>\" \\\n
        \       \"</html>\""
    - item_type: preproc_def
      name: ERR_RSP_EMPTY_FOOTER_NAME
      pos:
        line_end: 292
        line_start: 287
        source_file: /src/mhd2/src/mhd2/stream_process_request.c
      type_or_value: "\"<html>\" \\\n        \"<head><title>Request broken</title></head>\"
        \\\n        \"<body>HTTP request footer has empty footer name.</body>\" \\\n
        \       \"</html>\""
    - item_type: preproc_def
      name: ERR_RSP_REQUEST_HEADER_TOO_BIG
      pos:
        line_end: 305
        line_start: 296
        source_file: /src/mhd2/src/mhd2/stream_process_request.c
      type_or_value: "\"<html>\" \\\n   \"<head><title>Request too big</title></head>\"
        \\\n   \"<body><p>The total size of the request headers, which includes the
        \" \\\n   \"request target and the request field lines, exceeds the memory
        \" \\\n   \"constraints of this web server.</p>\" \\\n   \"<p>The request
        could be re-tried with shorter field lines, a shorter \" \\\n   \"request
        target or a shorter request method token.</p></body>\" \\\n   \"</html>\""
    - item_type: preproc_def
      name: ERR_RSP_REQUEST_FOOTER_TOO_BIG
      pos:
        line_end: 319
        line_start: 309
        source_file: /src/mhd2/src/mhd2/stream_process_request.c
      type_or_value: "\"<html>\" \\\n        \"<head><title>Request too big</title></head>\"
        \\\n        \"<body><p>The total size of the request headers, which includes
        the \" \\\n        \"request target, the request field lines and the chunked
        trailer \" \\\n        \"section exceeds the memory constraints of this web
        server.</p>\" \\\n        \"<p>The request could be re-tried with a shorter
        chunked trailer \" \\\n        \"section, shorter field lines, a shorter request
        target or \" \\\n        \"a shorter request method token.</p></body>\" \\\n
        \       \"</html>\""
    - item_type: preproc_def
      name: ERR_RSP_MSG_REQUEST_TOO_BIG
      pos:
        line_end: 330
        line_start: 324
        source_file: /src/mhd2/src/mhd2/stream_process_request.c
      type_or_value: "\"<html>\" \\\n        \"<head><title>Request too big</title></head>\"
        \\\n        \"<body>Request HTTP header is too big for the memory constraints
        \" \\\n        \"of this webserver.</body>\" \\\n        \"</html>\""
    - item_type: preproc_def
      name: ERR_RSP_REQUEST_CHUNK_LINE_EXT_TOO_BIG
      pos:
        line_end: 344
        line_start: 334
        source_file: /src/mhd2/src/mhd2/stream_process_request.c
      type_or_value: "\"<html>\" \\\n  \"<head><title>Request too big</title></head>\"
        \\\n  \"<body><p>The total size of the request target, the request field lines
        \" \\\n  \"and the chunk size line exceeds the memory constraints of this
        web \" \\\n  \"server.</p>\" \\\n  \"<p>The request could be re-tried without
        chunk extensions, with a smaller \" \\\n  \"chunk size, shorter field lines,
        a shorter request target or a shorter \" \\\n  \"request method token.</p></body>\"
        \\\n  \"</html>\""
    - item_type: preproc_def
      name: ERR_RSP_REQUEST_CHUNK_LINE_TOO_BIG
      pos:
        line_end: 359
        line_start: 349
        source_file: /src/mhd2/src/mhd2/stream_process_request.c
      type_or_value: "\"<html>\" \\\n   \"<head><title>Request too big</title></head>\"
        \\\n   \"<body><p>The total size of the request target, the request field
        lines \" \\\n   \"and the chunk size line exceeds the memory constraints of
        this web \" \\\n   \"server.</p>\" \\\n   \"<p>The request could be re-tried
        with a smaller \" \\\n   \"chunk size, shorter field lines, a shorter request
        target or a shorter \" \\\n   \"request method token.</p></body>\" \\\n   \"</html>\""
    - item_type: preproc_def
      name: ERR_RSP_REQUEST_LACKS_HOST
      pos:
        line_end: 369
        line_start: 364
        source_file: /src/mhd2/src/mhd2/stream_process_request.c
      type_or_value: "\"<html>\" \\\n        \"<head><title>&quot;Host:&quot; header
        required</title></head>\" \\\n        \"<body>HTTP/1.1 request without <b>&quot;Host:&quot;</b>.</body>\"
        \\\n        \"</html>\""
    - item_type: preproc_def
      name: ERR_RSP_REQUEST_HAS_SEVERAL_HOSTS
      pos:
        line_end: 380
        line_start: 373
        source_file: /src/mhd2/src/mhd2/stream_process_request.c
      type_or_value: "\"<html>\" \\\n        \"<head>\" \\\n        \"<title>Several
        &quot;Host:&quot; headers used</title></head>\" \\\n        \"<body>\" \\\n
        \       \"Request with more than one <b>&quot;Host:&quot;</b> header.</body>\"
        \\\n        \"</html>\""
    - item_type: preproc_def
      name: ERR_RSP_REQUEST_HAS_MALFORMED_HOST
      pos:
        line_end: 391
        line_start: 384
        source_file: /src/mhd2/src/mhd2/stream_process_request.c
      type_or_value: "\"<html>\" \\\n        \"<head>\" \\\n        \"<title>Malformed
        &quot;Host:&quot; header</title></head>\" \\\n        \"<body>\" \\\n        \"Malformed
        <b>&quot;Host:&quot;</b> header in the request.</body>\" \\\n        \"</html>\""
    - item_type: preproc_def
      name: ERR_RSP_UNSUPPORTED_TR_ENCODING
      pos:
        line_end: 400
        line_start: 395
        source_file: /src/mhd2/src/mhd2/stream_process_request.c
      type_or_value: "\"<html>\" \\\n        \"<head><title>Unsupported Transfer-Encoding</title></head>\"
        \\\n        \"<body>The Transfer-Encoding used in request is not supported.</body>\"
        \\\n        \"</html>\""
    - item_type: preproc_def
      name: ERR_RSP_UNSUPPORTED_EXPECT_HDR_VALUE
      pos:
        line_end: 410
        line_start: 404
        source_file: /src/mhd2/src/mhd2/stream_process_request.c
      type_or_value: "\"<html>\" \\\n        \"<head><title>Unsupported 'Expect:'</title></head>\"
        \\\n        \"<body>The value of 'Expect:' header used in the request is \"
        \\\n        \"not supported.</body>\" \\\n        \"</html>\""
    - item_type: preproc_def
      name: ERR_RSP_REQUEST_CNTNLENGTH_WITH_TR_ENCODING
      pos:
        line_end: 421
        line_start: 415
        source_file: /src/mhd2/src/mhd2/stream_process_request.c
      type_or_value: "\"<html>\" \\\n   \"<head><title>Malformed request</title></head>\"
        \\\n   \"<body>Wrong combination of the request headers: both Transfer-Encoding
        \" \\\n   \"and Content-Length headers are used at the same time.</body>\"
        \\\n   \"</html>\""
    - item_type: preproc_def
      name: ERR_RSP_REQUEST_CONTENTLENGTH_TOOLARGE
      pos:
        line_end: 429
        line_start: 425
        source_file: /src/mhd2/src/mhd2/stream_process_request.c
      type_or_value: "\"<html><head><title>Request content too large</title></head>\"
        \\\n        \"<body>HTTP request has too large value for \" \\\n        \"<b>Content-Length</b>
        header.</body></html>\""
    - item_type: preproc_def
      name: ERR_RSP_REQUEST_CONTENTLENGTH_MALFORMED
      pos:
        line_end: 438
        line_start: 434
        source_file: /src/mhd2/src/mhd2/stream_process_request.c
      type_or_value: "\"<html><head><title>Request malformed</title></head>\" \\\n
        \       \"<body>HTTP request has wrong value for \" \\\n        \"<b>Content-Length</b>
        header.</body></html>\""
    - item_type: preproc_def
      name: ERR_RSP_REQUEST_CONTENTLENGTH_SEVERAL
      pos:
        line_end: 447
        line_start: 443
        source_file: /src/mhd2/src/mhd2/stream_process_request.c
      type_or_value: "\"<html><head><title>Request malformed</title></head>\" \\\n
        \       \"<body>HTTP request has several \" \\\n        \"<b>Content-Length</b>
        headers.</body></html>\""
    - item_type: preproc_def
      name: ERR_RSP_REQUEST_CHUNKED_MALFORMED
      pos:
        line_end: 455
        line_start: 452
        source_file: /src/mhd2/src/mhd2/stream_process_request.c
      type_or_value: "\"<html><head><title>Request malformed</title></head>\" \\\n
        \       \"<body>HTTP chunked encoding is syntactically incorrect.</body></html>\""
    - item_type: preproc_def
      name: ERR_RSP_REQUEST_CHUNK_TOO_LARGE
      pos:
        line_end: 463
        line_start: 459
        source_file: /src/mhd2/src/mhd2/stream_process_request.c
      type_or_value: "\"<html><head><title>Request content too large</title></head>\"
        \\\n        \"<body>The chunk size used in HTTP chunked encoded \" \\\n        \"request
        is too large.</body></html>\""
    - item_type: preproc_def
      name: MHD_CHUNK_HEADER_REASONABLE_LEN
      pos:
        line_end: 474
        line_start: 473
        source_file: /src/mhd2/src/mhd2/stream_process_request.c
      type_or_value: '24'
    - item_type: preproc_def
      name: HTTP_VER_LEN
      pos:
        line_end: 479
        line_start: 478
        source_file: /src/mhd2/src/mhd2/stream_process_request.c
      type_or_value: (mhd_SSTR_LEN (MHD_HTTP_VERSION_1_1_STR))
    - item_type: preproc_def
      name: MHD_MAX_EMPTY_LINES_SKIP
      pos:
        line_end: 713
        line_start: 712
        source_file: /src/mhd2/src/mhd2/stream_process_request.c
      type_or_value: '1024'
    - item_type: preproc_def
      name: MHD_MAX_FIXED_URI_LEN
      pos:
        line_end: 1463
        line_start: 1462
        source_file: /src/mhd2/src/mhd2/stream_process_request.c
      type_or_value: (64 * 1024)
    structs: []
    typedefs: []
    union: []
- function_names: []
  source_file: /src/mhd2/src/mhd2/mhd_buffer.h
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: MHD_BUFFER_H
      pos:
        line_end: 46
        line_start: 45
        source_file: /src/mhd2/src/mhd2/mhd_buffer.h
      type_or_value: '1'
    structs:
    - fields:
      - name: size
        type: size_t
      - name: '*data'
        type: char
      item_type: struct
      name: mhd_Buffer
      pos:
        line_end: 64
        line_start: 53
        source_file: /src/mhd2/src/mhd2/mhd_buffer.h
    - fields:
      - name: size
        type: size_t
      - name: '*data'
        type: char
      item_type: struct
      name: mhd_BufferConst
      pos:
        line_end: 80
        line_start: 69
        source_file: /src/mhd2/src/mhd2/mhd_buffer.h
    typedefs: []
    union: []
- function_names: []
  source_file: /src/mhd2/src/mhd2/mhd_post_result.h
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: MHD_POST_RESULT_H
      pos:
        line_end: 46
        line_start: 45
        source_file: /src/mhd2/src/mhd2/mhd_post_result.h
      type_or_value: '1'
    - item_type: preproc_def
      name: MHD_POST_PARSE_RESULT_DEFINED
      pos:
        line_end: 132
        line_start: 131
        source_file: /src/mhd2/src/mhd2/mhd_post_result.h
      type_or_value: '1'
    structs: []
    typedefs: []
    union: []
- function_names: []
  source_file: /src/mhd2/src/mhd2/sys_poll.h
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: MHD_SYS_POLL_H
      pos:
        line_end: 49
        line_start: 48
        source_file: /src/mhd2/src/mhd2/sys_poll.h
      type_or_value: '1'
    - item_type: preproc_def
      name: mhd_poll
      pos:
        line_end: 57
        line_start: 56
        source_file: /src/mhd2/src/mhd2/sys_poll.h
      type_or_value: poll
    - item_type: preproc_def
      name: mhd_poll
      pos:
        line_end: 60
        line_start: 59
        source_file: /src/mhd2/src/mhd2/sys_poll.h
      type_or_value: WSAPoll
    - item_type: preproc_def
      name: MHD_POLL_IN
      pos:
        line_end: 66
        line_start: 65
        source_file: /src/mhd2/src/mhd2/sys_poll.h
      type_or_value: POLLRDNORM
    - item_type: preproc_def
      name: MHD_POLL_IN
      pos:
        line_end: 68
        line_start: 67
        source_file: /src/mhd2/src/mhd2/sys_poll.h
      type_or_value: POLLIN
    - item_type: preproc_def
      name: MHD_POLL_OUT
      pos:
        line_end: 72
        line_start: 71
        source_file: /src/mhd2/src/mhd2/sys_poll.h
      type_or_value: POLLWRNORM
    - item_type: preproc_def
      name: MHD_POLL_OUT
      pos:
        line_end: 74
        line_start: 73
        source_file: /src/mhd2/src/mhd2/sys_poll.h
      type_or_value: POLLOUT
    - item_type: preproc_def
      name: MHD_POLLRDBAND
      pos:
        line_end: 78
        line_start: 77
        source_file: /src/mhd2/src/mhd2/sys_poll.h
      type_or_value: POLLRDBAND
    - item_type: preproc_def
      name: MHD_POLLRDBAND
      pos:
        line_end: 80
        line_start: 79
        source_file: /src/mhd2/src/mhd2/sys_poll.h
      type_or_value: (0)
    - item_type: preproc_def
      name: MHD_POLLWRBAND
      pos:
        line_end: 84
        line_start: 83
        source_file: /src/mhd2/src/mhd2/sys_poll.h
      type_or_value: POLLWRBAND
    - item_type: preproc_def
      name: MHD_POLLWRBAND
      pos:
        line_end: 86
        line_start: 85
        source_file: /src/mhd2/src/mhd2/sys_poll.h
      type_or_value: (0)
    - item_type: preproc_def
      name: MHD_POLLPRI
      pos:
        line_end: 90
        line_start: 89
        source_file: /src/mhd2/src/mhd2/sys_poll.h
      type_or_value: POLLPRI
    - item_type: preproc_def
      name: MHD_POLLPRI
      pos:
        line_end: 92
        line_start: 91
        source_file: /src/mhd2/src/mhd2/sys_poll.h
      type_or_value: (0)
    - item_type: preproc_def
      name: MHD_POLLHUP_ON_REM_SHUT_WR
      pos:
        line_end: 99
        line_start: 98
        source_file: /src/mhd2/src/mhd2/sys_poll.h
      type_or_value: '1'
    structs: []
    typedefs: []
    union: []
- function_names: []
  source_file: /src/mhd2/src/mhd2/sha512_256_mbedtls.h
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: MHD_SHA512_256_MBEDTLS_H
      pos:
        line_end: 45
        line_start: 44
        source_file: /src/mhd2/src/mhd2/sha512_256_mbedtls.h
      type_or_value: '1'
    - item_type: preproc_def
      name: mhd_SHA512_256_DIGEST_SIZE
      pos:
        line_end: 59
        line_start: 58
        source_file: /src/mhd2/src/mhd2/sha512_256_mbedtls.h
      type_or_value: (32)
    - item_type: preproc_def
      name: mhd_SHA512_256_MTLS_EXT_ERROR_FLAG
      pos:
        line_end: 76
        line_start: 75
        source_file: /src/mhd2/src/mhd2/sha512_256_mbedtls.h
      type_or_value: '1'
    - item_type: preproc_def
      name: mhd_SHA512_256_MTLS_DEINIT_NOOP_FLAG
      pos:
        line_end: 165
        line_start: 164
        source_file: /src/mhd2/src/mhd2/sha512_256_mbedtls.h
      type_or_value: '0'
    structs:
    - fields:
      - name: mbed_ctx
        type: struct mbedtls_sha512_context
      - name: ext_error
        type: bool
      item_type: struct
      name: mhd_Sha512_256CtxMtls
      pos:
        line_end: 68
        line_start: 64
        source_file: /src/mhd2/src/mhd2/sha512_256_mbedtls.h
    typedefs: []
    union: []
- function_names:
  - freebsd_sendfile_init_
  - freebsd_sendfile_init_
  - iov_max_init_
  - iov_max_init_
  - mhd_send_init_once
  - mhd_connection_set_nodelay_state
  - mhd_connection_set_cork_state
  - pre_send_setopt
  - zero_send
  - post_send_setopt
  - mhd_sckt_send
  - mhd_send_tls
  - mhd_send_data
  - mhd_send_sendfile
  - send_iov_nontls
  - send_iov_emu
  - mhd_send_iovec
  source_file: /src/mhd2/src/mhd2/mhd_send.c
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: mhd_USE_VECT_SEND
      pos:
        line_end: 100
        line_start: 99
        source_file: /src/mhd2/src/mhd2/mhd_send.c
      type_or_value: '1'
    - item_type: preproc_def
      name: mhd_VECT_SEND_NEEDS_SPIPE_SUPPRESSED
      pos:
        line_end: 108
        line_start: 107
        source_file: /src/mhd2/src/mhd2/mhd_send.c
      type_or_value: '1'
    - item_type: preproc_def
      name: mhd_SENFILE_CHUNK_SIZE
      pos:
        line_end: 116
        line_start: 115
        source_file: /src/mhd2/src/mhd2/mhd_send.c
      type_or_value: (0x20000)
    - item_type: preproc_def
      name: mhd_SENFILE_CHUNK_SIZE_FOR_THR_P_C
      pos:
        line_end: 121
        line_start: 120
        source_file: /src/mhd2/src/mhd2/mhd_send.c
      type_or_value: (0x200000)
    - item_type: preproc_def
      name: mhd_IOV_MAX
      pos:
        line_end: 192
        line_start: 191
        source_file: /src/mhd2/src/mhd2/mhd_send.c
      type_or_value: mhd_iov_max_
    - item_type: preproc_def
      name: mhd_IOV_MAX
      pos:
        line_end: 200
        line_start: 199
        source_file: /src/mhd2/src/mhd2/mhd_send.c
      type_or_value: IOV_MAX
    - item_type: preproc_def
      name: mhd_off_t
      pos:
        line_end: 1218
        line_start: 1217
        source_file: /src/mhd2/src/mhd2/mhd_send.c
      type_or_value: off64_t
    - item_type: preproc_def
      name: mhd_off_t
      pos:
        line_end: 1220
        line_start: 1219
        source_file: /src/mhd2/src/mhd2/mhd_send.c
      type_or_value: off_t
    structs: []
    typedefs: []
    union: []
- function_names:
  - mhd_logger_default
  source_file: /src/mhd2/src/mhd2/daemon_logger_default.c
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names: []
  source_file: /src/mhd2/src/mhd2/mhd_iovec.h
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: MHD_IOVEC_H
      pos:
        line_end: 46
        line_start: 45
        source_file: /src/mhd2/src/mhd2/mhd_iovec.h
      type_or_value: '1'
    - item_type: preproc_def
      name: mhd_IOV_ELMN_MAX_SIZE
      pos:
        line_end: 82
        line_start: 81
        source_file: /src/mhd2/src/mhd2/mhd_iovec.h
      type_or_value: ULONG_MAX
    - item_type: preproc_def
      name: mhd_IOV_ELMN_PTR_TYPE
      pos:
        line_end: 83
        line_start: 82
        source_file: /src/mhd2/src/mhd2/mhd_iovec.h
      type_or_value: char *
    - item_type: preproc_def
      name: mhd_IOV_RET_MAX_SIZE
      pos:
        line_end: 85
        line_start: 84
        source_file: /src/mhd2/src/mhd2/mhd_iovec.h
      type_or_value: LONG_MAX
    - item_type: preproc_def
      name: mhd_IOV_ELMN_MAX_SIZE
      pos:
        line_end: 93
        line_start: 92
        source_file: /src/mhd2/src/mhd2/mhd_iovec.h
      type_or_value: SIZE_MAX
    - item_type: preproc_def
      name: mhd_IOV_ELMN_PTR_TYPE
      pos:
        line_end: 94
        line_start: 93
        source_file: /src/mhd2/src/mhd2/mhd_iovec.h
      type_or_value: void *
    - item_type: preproc_def
      name: mhd_IOV_RET_MAX_SIZE
      pos:
        line_end: 96
        line_start: 95
        source_file: /src/mhd2/src/mhd2/mhd_iovec.h
      type_or_value: SSIZE_MAX
    - item_type: preproc_def
      name: mhd_IOV_ELMN_MAX_SIZE
      pos:
        line_end: 104
        line_start: 103
        source_file: /src/mhd2/src/mhd2/mhd_iovec.h
      type_or_value: SIZE_MAX
    - item_type: preproc_def
      name: mhd_IOV_ELMN_PTR_TYPE
      pos:
        line_end: 105
        line_start: 104
        source_file: /src/mhd2/src/mhd2/mhd_iovec.h
      type_or_value: void *
    - item_type: preproc_def
      name: mhd_IOV_RET_MAX_SIZE
      pos:
        line_end: 107
        line_start: 106
        source_file: /src/mhd2/src/mhd2/mhd_iovec.h
      type_or_value: SSIZE_MAX
    structs:
    - fields:
      - name: iov_len
        type: unsigned long
      - name: '*iov_base'
        type: char
      item_type: struct
      name: mhd_w32_iovec
      pos:
        line_end: 79
        line_start: 75
        source_file: /src/mhd2/src/mhd2/mhd_iovec.h
    - fields:
      - name: '*iov'
        type: mhd_iovec
      - name: cnt
        type: size_t
      - name: sent
        type: size_t
      item_type: struct
      name: mhd_iovec_track
      pos:
        line_end: 132
        line_start: 111
        source_file: /src/mhd2/src/mhd2/mhd_iovec.h
    typedefs:
    - item_type: typedef
      name: mhd_iovec
      pos:
        line_end: 80
        line_start: 80
        source_file: /src/mhd2/src/mhd2/mhd_iovec.h
      type: mhd_w32_iovec
    - item_type: typedef
      name: mhd_iov_elmn_size
      pos:
        line_end: 83
        line_start: 83
        source_file: /src/mhd2/src/mhd2/mhd_iovec.h
      type: unsigned long
    - item_type: typedef
      name: mhd_iov_ret_type
      pos:
        line_end: 85
        line_start: 85
        source_file: /src/mhd2/src/mhd2/mhd_iovec.h
      type: long
    - item_type: typedef
      name: mhd_iovec
      pos:
        line_end: 91
        line_start: 91
        source_file: /src/mhd2/src/mhd2/mhd_iovec.h
      type: iovec
    - item_type: typedef
      name: mhd_iov_elmn_size
      pos:
        line_end: 94
        line_start: 94
        source_file: /src/mhd2/src/mhd2/mhd_iovec.h
      type: size_t
    - item_type: typedef
      name: mhd_iov_ret_type
      pos:
        line_end: 96
        line_start: 96
        source_file: /src/mhd2/src/mhd2/mhd_iovec.h
      type: ssize_t
    - item_type: typedef
      name: mhd_iovec
      pos:
        line_end: 102
        line_start: 102
        source_file: /src/mhd2/src/mhd2/mhd_iovec.h
      type: MHD_IoVec
    - item_type: typedef
      name: mhd_iov_elmn_size
      pos:
        line_end: 105
        line_start: 105
        source_file: /src/mhd2/src/mhd2/mhd_iovec.h
      type: size_t
    - item_type: typedef
      name: mhd_iov_ret_type
      pos:
        line_end: 107
        line_start: 107
        source_file: /src/mhd2/src/mhd2/mhd_iovec.h
      type: ssize_t
    union: []
- function_names: []
  source_file: /src/mhd2/src/mhd2/mhd_public_api.h
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: MHD_PUBLIC_API_H
      pos:
        line_end: 49
        line_start: 48
        source_file: /src/mhd2/src/mhd2/mhd_public_api.h
      type_or_value: '1'
    structs: []
    typedefs: []
    union: []
- function_names:
  - mhd_daemon_trigger_itc
  source_file: /src/mhd2/src/mhd2/daemon_funcs.h
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: MHD_DAEMON_FUNCS_H
      pos:
        line_end: 46
        line_start: 45
        source_file: /src/mhd2/src/mhd2/daemon_funcs.h
      type_or_value: '1'
    structs: []
    typedefs: []
    union: []
- function_names:
  - MHD_PANIC
  - MHD_PANIC
  - MHD_PANIC
  - MHD_PANIC
  source_file: /src/mhd2/src/mhd2/mhd_panic.h
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: MHD_PANIC_H
      pos:
        line_end: 46
        line_start: 45
        source_file: /src/mhd2/src/mhd2/mhd_panic.h
      type_or_value: '1'
    structs: []
    typedefs: []
    union: []
- function_names:
  - response_create_basic
  - mhd_response_deinit_content_data
  - MHD_response_from_callback_2cls
  - MHD_response_from_buffer
  - response_cntn_free_buf
  - MHD_response_from_buffer_copy
  - response_from_iovec_inner
  - MHD_response_from_iovec
  - response_from_fd_inner
  - MHD_response_from_fd
  - MHD_response_from_pipe
  - mhd_response_special_for_error
  source_file: /src/mhd2/src/mhd2/response_from.c
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - mhd_mutex_init
  - mhd_mutex_init
  - mhd_mutex_init
  - mhd_mutex_init
  - mhd_mutex_init_short
  - mhd_mutex_init_short
  - mhd_mutex_init_short
  - mhd_MUTEX_STATIC_DEFN_INIT
  - mhd_mutex_destroy
  - mhd_mutex_destroy
  - mhd_mutex_destroy
  - mhd_mutex_lock
  - mhd_mutex_lock
  - mhd_mutex_lock
  - mhd_mutex_unlock
  - mhd_mutex_unlock
  - mhd_mutex_unlock
  - mhd_mutex_destroy_chk
  - mhd_mutex_lock_chk
  - mhd_mutex_unlock_chk
  - mhd_mutex_init
  - mhd_mutex_init_short
  - mhd_mutex_destroy
  - mhd_mutex_destroy_chk
  - mhd_mutex_lock
  - mhd_mutex_lock_chk
  - mhd_mutex_unlock
  - mhd_mutex_unlock_chk
  source_file: /src/mhd2/src/mhd2/mhd_locks.h
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: MHD_LOCKS_H
      pos:
        line_end: 56
        line_start: 55
        source_file: /src/mhd2/src/mhd2/mhd_locks.h
      type_or_value: '1'
    - item_type: preproc_def
      name: mhd_MUTEX_KIND_PTHREAD
      pos:
        line_end: 66
        line_start: 65
        source_file: /src/mhd2/src/mhd2/mhd_locks.h
      type_or_value: '1'
    - item_type: preproc_def
      name: mhd_MUTEX_KIND_W32_SRW
      pos:
        line_end: 76
        line_start: 75
        source_file: /src/mhd2/src/mhd2/mhd_locks.h
      type_or_value: '1'
    - item_type: preproc_def
      name: mhd_MUTEX_KIND_W32_CS
      pos:
        line_end: 81
        line_start: 80
        source_file: /src/mhd2/src/mhd2/mhd_locks.h
      type_or_value: '1'
    - item_type: preproc_def
      name: mhd_MUTEX_INITIALISER_STAT
      pos:
        line_end: 181
        line_start: 180
        source_file: /src/mhd2/src/mhd2/mhd_locks.h
      type_or_value: PTHREAD_MUTEX_INITIALIZER
    - item_type: preproc_def
      name: mhd_MUTEX_INITIALISER_STAT
      pos:
        line_end: 188
        line_start: 187
        source_file: /src/mhd2/src/mhd2/mhd_locks.h
      type_or_value: SRWLOCK_INIT
    structs: []
    typedefs:
    - item_type: typedef
      name: mhd_mutex
      pos:
        line_end: 96
        line_start: 96
        source_file: /src/mhd2/src/mhd2/mhd_locks.h
      type: pthread_mutex_t
    - item_type: typedef
      name: mhd_mutex
      pos:
        line_end: 98
        line_start: 98
        source_file: /src/mhd2/src/mhd2/mhd_locks.h
      type: SRWLOCK
    - item_type: typedef
      name: mhd_mutex
      pos:
        line_end: 100
        line_start: 100
        source_file: /src/mhd2/src/mhd2/mhd_locks.h
      type: CRITICAL_SECTION
    union: []
- function_names:
  - mhd_SHA512_256_blti_reset
  - mhd_SHA512_256_blti_deinit
  source_file: /src/mhd2/src/mhd2/sha512_256_builtin.h
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: MHD_SHA512_256_BUILTIN_H
      pos:
        line_end: 46
        line_start: 45
        source_file: /src/mhd2/src/mhd2/sha512_256_builtin.h
      type_or_value: '1'
    - item_type: preproc_def
      name: mhd_SHA512_256_WORD_SIZE_BITS
      pos:
        line_end: 56
        line_start: 55
        source_file: /src/mhd2/src/mhd2/sha512_256_builtin.h
      type_or_value: '64'
    - item_type: preproc_def
      name: mhd_SHA512_256_BYTES_IN_WORD
      pos:
        line_end: 61
        line_start: 60
        source_file: /src/mhd2/src/mhd2/sha512_256_builtin.h
      type_or_value: (mhd_SHA512_256_WORD_SIZE_BITS / 8)
    - item_type: preproc_def
      name: mhd_SHA512_256_HASH_SIZE_WORDS
      pos:
        line_end: 67
        line_start: 66
        source_file: /src/mhd2/src/mhd2/sha512_256_builtin.h
      type_or_value: '8'
    - item_type: preproc_def
      name: mhd_SHA512_256_DIGEST_SIZE_WORDS
      pos:
        line_end: 73
        line_start: 72
        source_file: /src/mhd2/src/mhd2/sha512_256_builtin.h
      type_or_value: (mhd_SHA512_256_HASH_SIZE_WORDS  / 2)
    - item_type: preproc_def
      name: mhd_SHA512_256_DIGEST_SIZE
      pos:
        line_end: 81
        line_start: 79
        source_file: /src/mhd2/src/mhd2/sha512_256_builtin.h
      type_or_value: (mhd_SHA512_256_DIGEST_SIZE_WORDS * mhd_SHA512_256_BYTES_IN_WORD)
    - item_type: preproc_def
      name: mhd_SHA512_256_BLOCK_SIZE_BITS
      pos:
        line_end: 87
        line_start: 86
        source_file: /src/mhd2/src/mhd2/sha512_256_builtin.h
      type_or_value: '1024'
    - item_type: preproc_def
      name: mhd_SHA512_256_BLOCK_SIZE
      pos:
        line_end: 92
        line_start: 91
        source_file: /src/mhd2/src/mhd2/sha512_256_builtin.h
      type_or_value: (mhd_SHA512_256_BLOCK_SIZE_BITS / 8)
    - item_type: preproc_def
      name: mhd_SHA512_256_BLOCK_SIZE_WORDS
      pos:
        line_end: 98
        line_start: 96
        source_file: /src/mhd2/src/mhd2/sha512_256_builtin.h
      type_or_value: (mhd_SHA512_256_BLOCK_SIZE_BITS / mhd_SHA512_256_WORD_SIZE_BITS)
    - item_type: preproc_def
      name: mhd_SHA512_256_BLTI_EXT_ERROR_FLAG
      pos:
        line_end: 124
        line_start: 123
        source_file: /src/mhd2/src/mhd2/sha512_256_builtin.h
      type_or_value: '0'
    - item_type: preproc_def
      name: mhd_SHA512_256_BLTI_DEINIT_NOOP_FLAG
      pos:
        line_end: 190
        line_start: 189
        source_file: /src/mhd2/src/mhd2/sha512_256_builtin.h
      type_or_value: '1'
    structs:
    - fields:
      - name: H[mhd_SHA512_256_HASH_SIZE_WORDS]
        type: uint64_t
      - name: buffer[mhd_SHA512_256_BLOCK_SIZE_WORDS]
        type: uint64_t
      - name: count
        type: uint64_t
      - name: count_bits_hi
        type: uint64_t
      item_type: struct
      name: mhd_Sha512_256CtxBlti
      pos:
        line_end: 116
        line_start: 103
        source_file: /src/mhd2/src/mhd2/sha512_256_builtin.h
    typedefs: []
    union: []
- function_names: []
  source_file: /src/mhd2/src/mhd2/mhd_lib_init.h
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: MHD_LIB_INIT_H
      pos:
        line_end: 46
        line_start: 45
        source_file: /src/mhd2/src/mhd2/mhd_lib_init.h
      type_or_value: '1'
    structs: []
    typedefs: []
    union: []
- function_names: []
  source_file: /src/mhd2/src/mhd2/tls_open_conn_data.h
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: MHD_TLS_OPEN_CONN_DATA_H
      pos:
        line_end: 46
        line_start: 45
        source_file: /src/mhd2/src/mhd2/tls_open_conn_data.h
      type_or_value: '1'
    structs:
    - fields:
      - name: is_inited
        type: bool
      - name: is_tls_handshake_completed
        type: bool
      - name: is_failed
        type: bool
      item_type: struct
      name: mhd_TlsOpenConnDebug
      pos:
        line_end: 63
        line_start: 58
        source_file: /src/mhd2/src/mhd2/tls_open_conn_data.h
    - fields:
      - name: '*sess'
        type: SSL
      - name: shut_tls_wr_sent
        type: bool
      - name: shut_tls_wr_received
        type: bool
      item_type: struct
      name: mhd_TlsOpenConnData
      pos:
        line_end: 91
        line_start: 69
        source_file: /src/mhd2/src/mhd2/tls_open_conn_data.h
    typedefs: []
    union: []
- function_names:
  - mhd_calloc
  source_file: /src/mhd2/src/mhd2/compat_calloc.c
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: MHD_HAVE_MUL_OVERFLOW
      pos:
        line_end: 55
        line_start: 54
        source_file: /src/mhd2/src/mhd2/compat_calloc.c
      type_or_value: '1'
    - item_type: preproc_def
      name: MHD_HAVE_MUL_OVERFLOW
      pos:
        line_end: 58
        line_start: 57
        source_file: /src/mhd2/src/mhd2/compat_calloc.c
      type_or_value: '1'
    structs: []
    typedefs: []
    union: []
- function_names:
  - mhd_ATOMIC_COUNTER_TYPE::mhd_atomic_counter_get_inc_wrap
  - mhd_ATOMIC_COUNTER_TYPE::mhd_atomic_counter_get_inc
  - mhd_ATOMIC_COUNTER_TYPE::mhd_atomic_counter_get_dec
  - mhd_ATOMIC_COUNTER_TYPE::mhd_atomic_counter_get
  source_file: /src/mhd2/src/mhd2/mhd_atomic_counter.c
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names: []
  source_file: /src/mhd2/src/mhd2/mhd_comm_layer_state.h
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: MHD_COMM_LAYER_STATE_H
      pos:
        line_end: 46
        line_start: 45
        source_file: /src/mhd2/src/mhd2/mhd_comm_layer_state.h
      type_or_value: '1'
    structs: []
    typedefs: []
    union: []
- function_names:
  - mhd_socket_pair
  - mhd_socket_pair_nblk
  source_file: /src/mhd2/src/mhd2/mhd_sockets_funcs.h
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: MHD_SOCKETS_FUNCS_H
      pos:
        line_end: 46
        line_start: 45
        source_file: /src/mhd2/src/mhd2/mhd_sockets_funcs.h
      type_or_value: '1'
    structs: []
    typedefs: []
    union: []
- function_names:
  - mhd_MD5_FUNC
  - mhd_MD5_MACRO
  - mhd_MD5_has_err
  - mhd_MD5_get_err
  - mhd_MD5_has_err
  - mhd_MD5_get_err
  - mhd_MD5_init
  - mhd_MD5_update
  - mhd_MD5_finish
  - mhd_MD5_reset
  - mhd_MD5_finish_reset
  - mhd_MD5_deinit
  - mhd_MD5_finish_deinit
  source_file: /src/mhd2/src/mhd2/mhd_md5.h
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: MHD_MD5_H
      pos:
        line_end: 53
        line_start: 52
        source_file: /src/mhd2/src/mhd2/mhd_md5.h
      type_or_value: '1'
    - item_type: preproc_def
      name: mhd_MD5_FUNC_NAME_ID
      pos:
        line_end: 69
        line_start: 68
        source_file: /src/mhd2/src/mhd2/mhd_md5.h
      type_or_value: gtls
    - item_type: preproc_def
      name: mhd_MD5_DATA_NAME_ID
      pos:
        line_end: 73
        line_start: 72
        source_file: /src/mhd2/src/mhd2/mhd_md5.h
      type_or_value: Gtls
    - item_type: preproc_def
      name: mhd_MD5_MACRO_NAME_ID
      pos:
        line_end: 77
        line_start: 76
        source_file: /src/mhd2/src/mhd2/mhd_md5.h
      type_or_value: GTLS
    - item_type: preproc_def
      name: mhd_MD5_FUNC_NAME_ID
      pos:
        line_end: 85
        line_start: 84
        source_file: /src/mhd2/src/mhd2/mhd_md5.h
      type_or_value: ossl
    - item_type: preproc_def
      name: mhd_MD5_DATA_NAME_ID
      pos:
        line_end: 89
        line_start: 88
        source_file: /src/mhd2/src/mhd2/mhd_md5.h
      type_or_value: Ossl
    - item_type: preproc_def
      name: mhd_MD5_MACRO_NAME_ID
      pos:
        line_end: 93
        line_start: 92
        source_file: /src/mhd2/src/mhd2/mhd_md5.h
      type_or_value: OSSL
    - item_type: preproc_def
      name: mhd_MD5_FUNC_NAME_ID
      pos:
        line_end: 101
        line_start: 100
        source_file: /src/mhd2/src/mhd2/mhd_md5.h
      type_or_value: mtls
    - item_type: preproc_def
      name: mhd_MD5_DATA_NAME_ID
      pos:
        line_end: 105
        line_start: 104
        source_file: /src/mhd2/src/mhd2/mhd_md5.h
      type_or_value: Mtls
    - item_type: preproc_def
      name: mhd_MD5_MACRO_NAME_ID
      pos:
        line_end: 109
        line_start: 108
        source_file: /src/mhd2/src/mhd2/mhd_md5.h
      type_or_value: MTLS
    - item_type: preproc_def
      name: mhd_MD5_FUNC_NAME_ID
      pos:
        line_end: 116
        line_start: 115
        source_file: /src/mhd2/src/mhd2/mhd_md5.h
      type_or_value: blti
    - item_type: preproc_def
      name: mhd_MD5_DATA_NAME_ID
      pos:
        line_end: 120
        line_start: 119
        source_file: /src/mhd2/src/mhd2/mhd_md5.h
      type_or_value: Blti
    - item_type: preproc_def
      name: mhd_MD5_MACRO_NAME_ID
      pos:
        line_end: 124
        line_start: 123
        source_file: /src/mhd2/src/mhd2/mhd_md5.h
      type_or_value: BLTI
    - item_type: preproc_def
      name: mhd_Md5Ctx
      pos:
        line_end: 148
        line_start: 147
        source_file: /src/mhd2/src/mhd2/mhd_md5.h
      type_or_value: mhd_MACRO_CONCAT(mhd_Md5Ctx,mhd_MD5_DATA_NAME_ID)
    - item_type: preproc_def
      name: mhd_MD5_HAS_EXT_ERROR
      pos:
        line_end: 155
        line_start: 154
        source_file: /src/mhd2/src/mhd2/mhd_md5.h
      type_or_value: '1'
    structs: []
    typedefs: []
    union: []
- function_names:
  - mhd_T_IS_YES
  - mhd_T_IS_NO
  - mhd_T_IS_MAYBE
  - mhd_T_IS_NOT_YES
  - mhd_T_IS_NOT_NO
  - mhd_T_IS_NOT_MAYBE
  source_file: /src/mhd2/src/mhd2/mhd_tristate.h
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: MHD_TRISTATE_H
      pos:
        line_end: 46
        line_start: 45
        source_file: /src/mhd2/src/mhd2/mhd_tristate.h
      type_or_value: '1'
    structs: []
    typedefs: []
    union: []
- function_names: []
  source_file: /src/mhd2/src/mhd2/daemon_add_conn.h
  types:
    enum:
    - enumerators:
      - name: mhd_DAEMON_ACCEPT_SUCCESS
        value: '0'
      - name: mhd_DAEMON_ACCEPT_NO_MORE_PENDING
        value: 1 << 1
      - name: mhd_DAEMON_ACCEPT_SKIPPED
        value: 1 << 0
      - name: mhd_DAEMON_ACCEPT_FAILED
        value: 1 << 2
      item_type: enum
      name: mhd_DaemonAcceptResult
      pos:
        line_end: 84
        line_start: 60
        source_file: /src/mhd2/src/mhd2/daemon_add_conn.h
    preproc_defs:
    - item_type: preproc_def
      name: MHD_DAEMON_ADD_CONN
      pos:
        line_end: 49
        line_start: 48
        source_file: /src/mhd2/src/mhd2/daemon_add_conn.h
      type_or_value: '1'
    structs: []
    typedefs: []
    union: []
- function_names:
  - mhd_response_remove_auth_digest_headers
  - response_add_auth_digest_challenge_alg
  - "(1)\nMHD_FN_PAR_NONNULL_ (2) MHD_FN_PAR_CSTR_ (2)\nMHD_FN_PAR_CSTR_ (3) MHD_FN_PAR_CSTR_
    (4) enum MHD_StatusCode\nresponse_add_auth_digest_challenge_int (struct MHD_Response
    *restrict response,\n                                        const char *restrict
    realm,\n                                        const char *restrict opaque,\n
    \                                       const char *restrict domain,\n                                        enum
    MHD_Bool indicate_stale,\n                                        enum MHD_DigestAuthMultiQOP
    mqop,\n                                        enum MHD_DigestAuthMultiAlgo malgo,\n
    \                                       enum MHD_Bool userhash_support,\n                                        enum
    MHD_Bool prefer_utf8)"
  - MHD_response_add_auth_digest_challenge
  source_file: /src/mhd2/src/mhd2/response_auth_digest.c
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - mhd_conn_tls_check
  source_file: /src/mhd2/src/mhd2/conn_tls_check.c
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names: []
  source_file: /src/mhd2/src/mhd2/mhd_tls_ver_stct.h
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: MHD_TLS_VER_STCT_H
      pos:
        line_end: 46
        line_start: 45
        source_file: /src/mhd2/src/mhd2/mhd_tls_ver_stct.h
      type_or_value: '1'
    structs:
    - fields:
      - name: tls_ver
        type: enum MHD_TlsVersion
      item_type: struct
      name: mhd_StctTlsVersion
      pos:
        line_end: 67
        line_start: 61
        source_file: /src/mhd2/src/mhd2/mhd_tls_ver_stct.h
    typedefs: []
    union: []
- function_names: []
  source_file: /src/mhd2/src/mhd2/mhd_http_layer_state.h
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: MHD_HTTP_LAYER_STATE_H
      pos:
        line_end: 46
        line_start: 45
        source_file: /src/mhd2/src/mhd2/mhd_http_layer_state.h
      type_or_value: '1'
    structs: []
    typedefs: []
    union: []
- function_names:
  - mhd_conn_mark_ready
  - mhd_conn_mark_unready
  - mhd_conn_mark_ready_update3
  - mhd_conn_mark_ready_update2
  - mhd_conn_mark_ready_update
  source_file: /src/mhd2/src/mhd2/conn_mark_ready.h
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: MHD_CONN_MARK_READY_H
      pos:
        line_end: 47
        line_start: 46
        source_file: /src/mhd2/src/mhd2/conn_mark_ready.h
      type_or_value: '1'
    structs: []
    typedefs: []
    union: []
- function_names: []
  source_file: /src/mhd2/src/mhd2/http_post_enc.h
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: MHD_HTTP_POST_ENC_H
      pos:
        line_end: 46
        line_start: 45
        source_file: /src/mhd2/src/mhd2/http_post_enc.h
      type_or_value: '1'
    - item_type: preproc_def
      name: MHD_HTTP_POSTENCODING_DEFINED
      pos:
        line_end: 94
        line_start: 93
        source_file: /src/mhd2/src/mhd2/http_post_enc.h
      type_or_value: '1'
    structs: []
    typedefs: []
    union: []
- function_names: []
  source_file: /src/mhd2/src/mhd2/mhd_bool.h
  types:
    enum:
    - enumerators:
      - name: MHD_NO
        value: '0'
      - name: MHD_YES
        value: '1'
      item_type: enum
      name: MHD_Bool
      pos:
        line_end: 65
        line_start: 52
        source_file: /src/mhd2/src/mhd2/mhd_bool.h
    preproc_defs:
    - item_type: preproc_def
      name: MHD_BOOL_H
      pos:
        line_end: 47
        line_start: 46
        source_file: /src/mhd2/src/mhd2/mhd_bool.h
      type_or_value: '1'
    - item_type: preproc_def
      name: MHD_BOOL_DEFINED
      pos:
        line_end: 69
        line_start: 68
        source_file: /src/mhd2/src/mhd2/mhd_bool.h
      type_or_value: '1'
    structs: []
    typedefs: []
    union: []
- function_names:
  - MHD_response_set_options
  source_file: /src/mhd2/src/mhd2/response_set_options.c
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - mhd_tls_gnu_debug_print
  - mhd_DBG_PRINT_TLS_INFO_MSG
  - mhd_DBG_PRINT_TLS_INFO_PARAM1
  - mhd_DBG_PRINT_TLS_ERRS
  - mhd_DBG_PRINT_TLS_INFO_MSG
  - mhd_DBG_PRINT_TLS_INFO_PARAM1
  - mhd_tls_gnu_global_init
  - mhd_tls_gnu_global_deinit
  - mhd_tls_gnu_is_inited_fine
  - check_app_tls_settings
  - daemon_init_dh_data
  - daemon_deinit_dh_data
  - daemon_init_credentials
  - daemon_deinit_credentials
  - "(1) MHD_FN_PAR_NONNULL_ (2) MHD_FN_PAR_INOUT_ (2) int\ntry_prio_string (const
    char *restrict prio_string,\n                 struct mhd_TlsGnuDaemonData *restrict
    d_tls)"
  - daemon_init_priorities_cache
  - daemon_deinit_priorities_cache
  - mhd_tls_gnu_daemon_init3
  - mhd_tls_gnu_daemon_deinit
  - mhd_tls_gnu_conn_get_tls_size_v
  - mhd_tls_gnu_conn_init
  - mhd_tls_gnu_conn_deinit
  - mhd_tls_gnu_conn_handshake
  - mhd_tls_gnu_conn_shutdown
  - mhd_tls_gnu_conn_recv
  - mhd_tls_gnu_conn_has_data_in
  - mhd_tls_gnu_conn_send4
  - mhd_tls_gnu_conn_get_tls_sess
  - mhd_tls_gnu_conn_get_tls_ver
  - mhd_tls_gnu_conn_get_alpn_prot
  source_file: /src/mhd2/src/mhd2/tls_gnu_funcs.c
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - mhd_join_thread
  - mhd_join_thread
  - mhd_thread_handle_set_invalid
  - mhd_thread_handle_set_native
  - mhd_thread_handle_is_valid
  - mhd_thread_handle_get_native
  - mhd_thread_handle_set_invalid
  - mhd_thread_handle_set_native
  - mhd_thread_handle_is_valid
  - mhd_thread_handle_get_native
  - mhd_thread_handle_get_native_ptr
  - mhd_thread_ID_native_equal
  - mhd_thread_ID_native_equal
  - mhd_thread_ID_native_is_current_thread
  - mhd_thread_ID_set_invalid
  - mhd_thread_ID_set_native
  - mhd_thread_ID_is_valid
  - mhd_thread_ID_get_native
  - mhd_thread_ID_is_current_thread
  - mhd_thread_ID_set_invalid
  - mhd_thread_ID_set_native
  - mhd_thread_ID_is_valid
  - mhd_thread_ID_get_native
  - mhd_thread_ID_is_current_thread
  - mhd_thread_ID_set_current_thread
  - mhd_thread_handle_ID_set_invalid
  - mhd_thread_handle_ID_is_valid_handle
  - mhd_thread_handle_ID_set_native_handle
  - mhd_thread_handle_ID_get_native_handle_ptr
  - mhd_thread_handle_ID_get_native_handle
  - mhd_thread_handle_ID_is_valid_ID
  - mhd_thread_handle_ID_set_current_thread_ID
  - mhd_thread_handle_ID_set_current_thread_ID
  - mhd_thread_handle_ID_is_current_thread
  - mhd_thread_handle_ID_join_thread
  - mhd_create_named_thread
  - mhd_thread_block_sigpipe
  source_file: /src/mhd2/src/mhd2/mhd_threads.h
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: MHD_THREADS_H
      pos:
        line_end: 55
        line_start: 54
        source_file: /src/mhd2/src/mhd2/mhd_threads.h
      type_or_value: '1'
    - item_type: preproc_def
      name: MHD_SUPPORT_THREADS
      pos:
        line_end: 66
        line_start: 65
        source_file: /src/mhd2/src/mhd2/mhd_threads.h
      type_or_value: '1'
    - item_type: preproc_def
      name: MHD_SUPPORT_THREADS
      pos:
        line_end: 71
        line_start: 70
        source_file: /src/mhd2/src/mhd2/mhd_threads.h
      type_or_value: '1'
    - item_type: preproc_def
      name: mhd_THREAD_HANDLE_NATIVE_VALUE_INVALID
      pos:
        line_end: 129
        line_start: 127
        source_file: /src/mhd2/src/mhd2/mhd_threads.h
      type_or_value: ((mhd_thread_handle_native) 0)
    - item_type: preproc_def
      name: mhd_THREAD_HANDLE_NATIVE_VALUE_INVALID
      pos:
        line_end: 139
        line_start: 137
        source_file: /src/mhd2/src/mhd2/mhd_threads.h
      type_or_value: ((mhd_thread_handle_native) NULL)
    - item_type: preproc_def
      name: mhd_thread_ID_native_current
      pos:
        line_end: 246
        line_start: 245
        source_file: /src/mhd2/src/mhd2/mhd_threads.h
      type_or_value: pthread_self
    - item_type: preproc_def
      name: mhd_thread_ID_native_current
      pos:
        line_end: 264
        line_start: 263
        source_file: /src/mhd2/src/mhd2/mhd_threads.h
      type_or_value: GetCurrentThreadId
    - item_type: preproc_def
      name: MHD_THREAD_ID_NATIVE_VALUE_INVALID_
      pos:
        line_end: 289
        line_start: 287
        source_file: /src/mhd2/src/mhd2/mhd_threads.h
      type_or_value: mhd_THREAD_HANDLE_NATIVE_VALUE_INVALID
    - item_type: preproc_def
      name: MHD_THREAD_ID_NATIVE_VALUE_INVALID_
      pos:
        line_end: 296
        line_start: 294
        source_file: /src/mhd2/src/mhd2/mhd_threads.h
      type_or_value: ((mhd_thread_ID_native) 0)
    - item_type: preproc_def
      name: MHD_THREAD_HANDLE_ID_IS_UNION
      pos:
        line_end: 432
        line_start: 431
        source_file: /src/mhd2/src/mhd2/mhd_threads.h
      type_or_value: '1'
    - item_type: preproc_def
      name: mhd_HAVE_MHD_THREAD_BLOCK_SIGPIPE
      pos:
        line_end: 584
        line_start: 583
        source_file: /src/mhd2/src/mhd2/mhd_threads.h
      type_or_value: '1'
    structs:
    - fields:
      - name: valid
        type: bool
      - name: native
        type: mhd_thread_handle_native
      item_type: struct
      name: mhd_thread_handle_struct
      pos:
        line_end: 168
        line_start: 164
        source_file: /src/mhd2/src/mhd2/mhd_threads.h
    - fields:
      - name: valid
        type: bool
      - name: native
        type: mhd_thread_ID_native
      item_type: struct
      name: mhd_thread_ID_struct
      pos:
        line_end: 306
        line_start: 302
        source_file: /src/mhd2/src/mhd2/mhd_threads.h
    - fields:
      - name: handle
        type: mhd_thread_handle
      - name: ID
        type: mhd_thread_ID
      item_type: struct
      name: mhd_thread_handle_ID_
      pos:
        line_end: 441
        line_start: 437
        source_file: /src/mhd2/src/mhd2/mhd_threads.h
    typedefs:
    - item_type: typedef
      name: mhd_thread_handle_native
      pos:
        line_end: 108
        line_start: 108
        source_file: /src/mhd2/src/mhd2/mhd_threads.h
      type: pthread_t
    - item_type: typedef
      name: mhd_thread_handle_native
      pos:
        line_end: 113
        line_start: 113
        source_file: /src/mhd2/src/mhd2/mhd_threads.h
      type: HANDLE
    - item_type: typedef
      name: mhd_thread_handle
      pos:
        line_end: 172
        line_start: 172
        source_file: /src/mhd2/src/mhd2/mhd_threads.h
      type: mhd_thread_handle_struct
    - item_type: typedef
      name: mhd_thread_handle
      pos:
        line_end: 199
        line_start: 199
        source_file: /src/mhd2/src/mhd2/mhd_threads.h
      type: mhd_thread_handle_native
    - item_type: typedef
      name: mhd_thread_ID_native
      pos:
        line_end: 240
        line_start: 240
        source_file: /src/mhd2/src/mhd2/mhd_threads.h
      type: pthread_t
    - item_type: typedef
      name: mhd_thread_ID_native
      pos:
        line_end: 258
        line_start: 258
        source_file: /src/mhd2/src/mhd2/mhd_threads.h
      type: DWORD
    - item_type: typedef
      name: mhd_thread_ID
      pos:
        line_end: 310
        line_start: 310
        source_file: /src/mhd2/src/mhd2/mhd_threads.h
      type: mhd_thread_ID_struct
    - item_type: typedef
      name: mhd_thread_ID
      pos:
        line_end: 343
        line_start: 343
        source_file: /src/mhd2/src/mhd2/mhd_threads.h
      type: mhd_thread_ID_native
    - item_type: typedef
      name: mhd_thread_handle_ID
      pos:
        line_end: 430
        line_start: 430
        source_file: /src/mhd2/src/mhd2/mhd_threads.h
      type: mhd_thread_handle_ID_
    - item_type: typedef
      name: mhd_thread_handle_ID
      pos:
        line_end: 442
        line_start: 442
        source_file: /src/mhd2/src/mhd2/mhd_threads.h
      type: mhd_thread_handle_ID_
    union:
    - fields:
      - name: handle
        type: mhd_thread_handle
      - name: ID
        type: mhd_thread_ID
      item_type: union
      name: mhd_thread_handle_ID_
      pos:
        line_end: 429
        line_start: 425
        source_file: /src/mhd2/src/mhd2/mhd_threads.h
- function_names:
  - mhd_SHA512_256_blti_init
  - sha512_256_transform
  - Ch
  - Maj
  - SIG0
  - SIG1
  - sig0
  - sig1
  - SHA2STEP64
  - GET_W_FROM_DATA
  - Wgen
  - SHA2STEP64RV
  - mhd_SHA512_256_blti_update
  - mhd_SHA512_256_blti_finish
  source_file: /src/mhd2/src/mhd2/sha512_256_builtin.c
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: SHA512_256_SIZE_OF_LEN_ADD_BITS
      pos:
        line_end: 540
        line_start: 539
        source_file: /src/mhd2/src/mhd2/sha512_256_builtin.c
      type_or_value: '128'
    - item_type: preproc_def
      name: SHA512_256_SIZE_OF_LEN_ADD
      pos:
        line_end: 545
        line_start: 544
        source_file: /src/mhd2/src/mhd2/sha512_256_builtin.c
      type_or_value: (SHA512_256_SIZE_OF_LEN_ADD_BITS / 8)
    structs: []
    typedefs: []
    union: []
- function_names: []
  source_file: /src/mhd2/src/mhd2/md5_mbedtls.h
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: MHD_MD5_MBEDTLS_H
      pos:
        line_end: 44
        line_start: 43
        source_file: /src/mhd2/src/mhd2/md5_mbedtls.h
      type_or_value: '1'
    - item_type: preproc_def
      name: mhd_MD5_DIGEST_SIZE
      pos:
        line_end: 59
        line_start: 58
        source_file: /src/mhd2/src/mhd2/md5_mbedtls.h
      type_or_value: (16)
    - item_type: preproc_def
      name: mhd_MD5_MTLS_EXT_ERROR_FLAG
      pos:
        line_end: 76
        line_start: 75
        source_file: /src/mhd2/src/mhd2/md5_mbedtls.h
      type_or_value: '1'
    - item_type: preproc_def
      name: mhd_MD5_MTLS_DEINIT_NOOP_FLAG
      pos:
        line_end: 164
        line_start: 163
        source_file: /src/mhd2/src/mhd2/md5_mbedtls.h
      type_or_value: '0'
    structs:
    - fields:
      - name: mbed_ctx
        type: struct mbedtls_md5_context
      - name: ext_error
        type: bool
      item_type: struct
      name: mhd_Md5CtxMtls
      pos:
        line_end: 68
        line_start: 64
        source_file: /src/mhd2/src/mhd2/md5_mbedtls.h
    typedefs: []
    union: []
- function_names: []
  source_file: /src/mhd2/src/mhd2/conn_tls_check.h
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: MHD_CONN_TLS_CHECK_H
      pos:
        line_end: 46
        line_start: 45
        source_file: /src/mhd2/src/mhd2/conn_tls_check.h
      type_or_value: '1'
    structs: []
    typedefs: []
    union: []
- function_names:
  - mhd_request_get_value_st
  - mhd_stream_has_header_token_st
  source_file: /src/mhd2/src/mhd2/request_get_value.h
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: MHD_REQUEST_GET_VALUE_H
      pos:
        line_end: 46
        line_start: 45
        source_file: /src/mhd2/src/mhd2/request_get_value.h
      type_or_value: '1'
    structs: []
    typedefs: []
    union: []
- function_names: []
  source_file: /src/mhd2/src/mhd2/tls_open_tls_lib.h
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: MHD_TLS_OPEN_TLS_LIB_H
      pos:
        line_end: 46
        line_start: 45
        source_file: /src/mhd2/src/mhd2/tls_open_tls_lib.h
      type_or_value: '1'
    - item_type: preproc_def
      name: OPENSSL_API_COMPAT
      pos:
        line_end: 55
        line_start: 54
        source_file: /src/mhd2/src/mhd2/tls_open_tls_lib.h
      type_or_value: '30000'
    - item_type: preproc_def
      name: OPENSSL_NO_DEPRECATED
      pos:
        line_end: 57
        line_start: 56
        source_file: /src/mhd2/src/mhd2/tls_open_tls_lib.h
      type_or_value: '1'
    - item_type: preproc_def
      name: mhd_TLS_OPEN_HAS_CONF_DIAG
      pos:
        line_end: 81
        line_start: 80
        source_file: /src/mhd2/src/mhd2/tls_open_tls_lib.h
      type_or_value: '1'
    structs: []
    typedefs: []
    union: []
- function_names:
  - response_make_reusable
  - mhd_response_deinit_reusable
  - response_set_properties
  - mhd_response_check_frozen_freeze
  source_file: /src/mhd2/src/mhd2/response_funcs.c
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - mhd_M_DEBUG_PRINT
  - mhd_M_DEBUG_PRINT1
  - mhd_M_DEBUG_PRINT
  - mhd_M_DEBUG_PRINT1
  - mhd_tls_multi_global_init_once
  - mhd_tls_multi_global_deinit
  - mhd_tls_multi_global_re_init
  - mhd_tls_multi_is_edge_trigg_supported
  - tls_daemon_init_try
  - mhd_tls_multi_daemon_init
  - mhd_tls_multi_daemon_deinit
  - mhd_tls_multi_thread_cleanup
  - mhd_tls_multi_conn_get_tls_size
  - mhd_tls_multi_conn_init
  - mhd_tls_multi_conn_deinit
  - mhd_tls_multi_conn_handshake
  - mhd_tls_multi_conn_shutdown
  - mhd_tls_multi_conn_recv
  - mhd_tls_multi_conn_has_cstm_tr
  - mhd_tls_multi_conn_has_data_in
  - mhd_tls_multi_conn_send
  - mhd_tls_multi_conn_get_tls_sess
  - mhd_tls_multi_conn_get_tls_ver
  - mhd_tls_multi_conn_get_alpn_prot
  source_file: /src/mhd2/src/mhd2/tls_multi_funcs.c
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - mhd_conn_data_recv
  source_file: /src/mhd2/src/mhd2/conn_data_recv.c
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names: []
  source_file: /src/mhd2/src/mhd2/http_status_str.h
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: MHD_HTTP_STATUS_STR_H
      pos:
        line_end: 46
        line_start: 45
        source_file: /src/mhd2/src/mhd2/http_status_str.h
      type_or_value: '1'
    structs: []
    typedefs: []
    union: []
- function_names:
  - process_mpart_header
  - '(1) bool

    detect_post_enc (struct MHD_Connection *restrict c)'
  - detect_mpart_boundary_from_the_header
  - "(1) void\nreset_parse_field_data_mpart_cont (struct mhd_PostParserData *pdata,\n
    \                                  bool final)"
  - '(1) void

    init_post_parse_data (struct MHD_Connection *restrict c)'
  - mhd_stream_prepare_for_post_parse
  - get_lbuf_fixed_size
  - grow_lbuf_fixed_size
  - extend_lbuf_up_to
  - report_low_lbuf_mem
  - report_invalid_termination
  - is_value_streaming_needed
  - add_parsed_post_field
  - make_post_strings_from_buf_and_indices
  - process_complete_field_all
  - process_complete_field
  - process_partial_value_all
  - process_partial_value
  - parse_post_urlenc
  - parse_post_mpart
  - parse_post_text
  - mhd_stream_post_parse
  - check_post_leftovers_urlenc
  - check_post_leftovers_mpart
  - check_post_leftovers_text
  - check_post_leftovers
  - mhd_stream_process_post_finish
  source_file: /src/mhd2/src/mhd2/post_parser_funcs.c
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - mtls_set_sha512_256_iv
  - mhd_SHA512_256_mtls_init
  - mhd_SHA512_256_mtls_reset
  - mhd_SHA512_256_mtls_update
  - mhd_SHA512_256_mtls_finish
  - mhd_SHA512_256_mtls_deinit
  source_file: /src/mhd2/src/mhd2/sha512_256_mbedtls.c
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: MBEDTLS_ALLOW_PRIVATE_ACCESS
      pos:
        line_end: 54
        line_start: 53
        source_file: /src/mhd2/src/mhd2/sha512_256_mbedtls.c
      type_or_value: '1'
    structs: []
    typedefs: []
    union: []
- function_names:
  - mhd_UNSIGNED_TYPE_MAX
  - mhd_SIGNED_TYPE_MAX
  - mhd_SIGNED_TYPE_MAX2
  - mhd_IS_TYPE_SIGNED
  source_file: /src/mhd2/src/mhd2/mhd_limits.h
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: INT_MAX
      pos:
        line_end: 82
        line_start: 81
        source_file: /src/mhd2/src/mhd2/mhd_limits.h
      type_or_value: __INT_MAX__
    - item_type: preproc_def
      name: INT_MAX
      pos:
        line_end: 84
        line_start: 83
        source_file: /src/mhd2/src/mhd2/mhd_limits.h
      type_or_value: mhd_SIGNED_TYPE_MAX2 (int, unsigned int)
    - item_type: preproc_def
      name: UINT_MAX
      pos:
        line_end: 90
        line_start: 89
        source_file: /src/mhd2/src/mhd2/mhd_limits.h
      type_or_value: __UINT_MAX__
    - item_type: preproc_def
      name: UINT_MAX
      pos:
        line_end: 92
        line_start: 91
        source_file: /src/mhd2/src/mhd2/mhd_limits.h
      type_or_value: mhd_UNSIGNED_TYPE_MAX (unsigned int)
    - item_type: preproc_def
      name: LONG_MAX
      pos:
        line_end: 98
        line_start: 97
        source_file: /src/mhd2/src/mhd2/mhd_limits.h
      type_or_value: __LONG_MAX__
    - item_type: preproc_def
      name: LONG_MAX
      pos:
        line_end: 100
        line_start: 99
        source_file: /src/mhd2/src/mhd2/mhd_limits.h
      type_or_value: mhd_SIGNED_TYPE_MAX2 (long, unsigned long)
    - item_type: preproc_def
      name: ULONG_MAX
      pos:
        line_end: 106
        line_start: 105
        source_file: /src/mhd2/src/mhd2/mhd_limits.h
      type_or_value: __ULONG_MAX__
    - item_type: preproc_def
      name: ULONG_MAX
      pos:
        line_end: 108
        line_start: 107
        source_file: /src/mhd2/src/mhd2/mhd_limits.h
      type_or_value: mhd_UNSIGNED_TYPE_MAX (unsigned long)
    - item_type: preproc_def
      name: ULLONG_MAX
      pos:
        line_end: 114
        line_start: 113
        source_file: /src/mhd2/src/mhd2/mhd_limits.h
      type_or_value: ULONGLONG_MAX
    - item_type: preproc_def
      name: ULLONG_MAX
      pos:
        line_end: 116
        line_start: 115
        source_file: /src/mhd2/src/mhd2/mhd_limits.h
      type_or_value: mhd_UNSIGNED_TYPE_MAX (unsigned long long)
    - item_type: preproc_def
      name: INT32_MAX
      pos:
        line_end: 122
        line_start: 121
        source_file: /src/mhd2/src/mhd2/mhd_limits.h
      type_or_value: __INT32_MAX__
    - item_type: preproc_def
      name: INT32_MAX
      pos:
        line_end: 124
        line_start: 123
        source_file: /src/mhd2/src/mhd2/mhd_limits.h
      type_or_value: ((int32_t) 0x7FFFFFFF)
    - item_type: preproc_def
      name: UINT32_MAX
      pos:
        line_end: 130
        line_start: 129
        source_file: /src/mhd2/src/mhd2/mhd_limits.h
      type_or_value: __UINT32_MAX__
    - item_type: preproc_def
      name: UINT32_MAX
      pos:
        line_end: 132
        line_start: 131
        source_file: /src/mhd2/src/mhd2/mhd_limits.h
      type_or_value: ((uint32_t) 0xFFFFFFFFU)
    - item_type: preproc_def
      name: INT64_MAX
      pos:
        line_end: 138
        line_start: 137
        source_file: /src/mhd2/src/mhd2/mhd_limits.h
      type_or_value: __INT64_MAX__
    - item_type: preproc_def
      name: INT64_MAX
      pos:
        line_end: 140
        line_start: 139
        source_file: /src/mhd2/src/mhd2/mhd_limits.h
      type_or_value: ((int64_t) 0x7FFFFFFFFFFFFFFF)
    - item_type: preproc_def
      name: UINT64_MAX
      pos:
        line_end: 146
        line_start: 145
        source_file: /src/mhd2/src/mhd2/mhd_limits.h
      type_or_value: __UINT64_MAX__
    - item_type: preproc_def
      name: UINT64_MAX
      pos:
        line_end: 148
        line_start: 147
        source_file: /src/mhd2/src/mhd2/mhd_limits.h
      type_or_value: ((uint64_t) 0xFFFFFFFFFFFFFFFFU)
    - item_type: preproc_def
      name: SIZE_MAX
      pos:
        line_end: 154
        line_start: 153
        source_file: /src/mhd2/src/mhd2/mhd_limits.h
      type_or_value: __SIZE_MAX__
    - item_type: preproc_def
      name: SIZE_MAX
      pos:
        line_end: 156
        line_start: 155
        source_file: /src/mhd2/src/mhd2/mhd_limits.h
      type_or_value: mhd_UNSIGNED_TYPE_MAX (size_t)
    - item_type: preproc_def
      name: SSIZE_MAX
      pos:
        line_end: 162
        line_start: 161
        source_file: /src/mhd2/src/mhd2/mhd_limits.h
      type_or_value: __SSIZE_MAX__
    - item_type: preproc_def
      name: SSIZE_MAX
      pos:
        line_end: 164
        line_start: 163
        source_file: /src/mhd2/src/mhd2/mhd_limits.h
      type_or_value: mhd_SIGNED_TYPE_MAX2 (ssize_t, size_t)
    - item_type: preproc_def
      name: OFF_T_MAX
      pos:
        line_end: 170
        line_start: 169
        source_file: /src/mhd2/src/mhd2/mhd_limits.h
      type_or_value: OFF_MAX
    - item_type: preproc_def
      name: OFF_T_MAX
      pos:
        line_end: 172
        line_start: 171
        source_file: /src/mhd2/src/mhd2/mhd_limits.h
      type_or_value: OFFT_MAX
    - item_type: preproc_def
      name: OFF_T_MAX
      pos:
        line_end: 174
        line_start: 173
        source_file: /src/mhd2/src/mhd2/mhd_limits.h
      type_or_value: INT64_MAX
    - item_type: preproc_def
      name: OFF_T_MAX
      pos:
        line_end: 176
        line_start: 175
        source_file: /src/mhd2/src/mhd2/mhd_limits.h
      type_or_value: mhd_SIGNED_TYPE_MAX (off_t)
    - item_type: preproc_def
      name: OFF64_T_MAX
      pos:
        line_end: 181
        line_start: 180
        source_file: /src/mhd2/src/mhd2/mhd_limits.h
      type_or_value: mhd_SIGNED_TYPE_MAX (off64_t)
    - item_type: preproc_def
      name: TIME_T_MAX
      pos:
        line_end: 188
        line_start: 184
        source_file: /src/mhd2/src/mhd2/mhd_limits.h
      type_or_value: "((time_t)            \\\n          (mhd_IS_TYPE_SIGNED (time_t)
        ?  \\\n           mhd_SIGNED_TYPE_MAX (time_t) : \\\n           mhd_UNSIGNED_TYPE_MAX
        (time_t)))"
    - item_type: preproc_def
      name: mhd_TIMEVAL_TV_SEC_MAX
      pos:
        line_end: 193
        line_start: 192
        source_file: /src/mhd2/src/mhd2/mhd_limits.h
      type_or_value: TIME_T_MAX
    - item_type: preproc_def
      name: mhd_TIMEVAL_TV_SEC_MAX
      pos:
        line_end: 195
        line_start: 194
        source_file: /src/mhd2/src/mhd2/mhd_limits.h
      type_or_value: LONG_MAX
    structs: []
    typedefs: []
    union: []
- function_names:
  - mhd_panic_init_default
  - MHD_lib_set_panic_func
  - mhd_panic
  source_file: /src/mhd2/src/mhd2/mhd_panic.c
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - mhd_STRM_IS_HTTP2
  - mhd_STRM_IS_HTTP2
  source_file: /src/mhd2/src/mhd2/mhd_stream.h
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: MHD_STREAM_H
      pos:
        line_end: 46
        line_start: 45
        source_file: /src/mhd2/src/mhd2/mhd_stream.h
      type_or_value: '1'
    structs:
    - fields:
      - name: is_http2
        type: bool
      item_type: struct
      name: MHD_Stream
      pos:
        line_end: 61
        line_start: 55
        source_file: /src/mhd2/src/mhd2/mhd_stream.h
    typedefs: []
    union: []
- function_names: []
  source_file: /src/mhd2/src/mhd2/upgrade_prep.h
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: MHD_UPGRADE_PREP_H
      pos:
        line_end: 47
        line_start: 46
        source_file: /src/mhd2/src/mhd2/upgrade_prep.h
      type_or_value: '1'
    structs: []
    typedefs: []
    union: []
- function_names:
  - mhd_read_file
  source_file: /src/mhd2/src/mhd2/mhd_read_file.c
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names: []
  source_file: /src/mhd2/src/mhd2/tls_mbed_daemon_data.h
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: MHD_TLS_MBED_DAEMON_DATA_H
      pos:
        line_end: 46
        line_start: 45
        source_file: /src/mhd2/src/mhd2/tls_mbed_daemon_data.h
      type_or_value: '1'
    structs:
    - fields:
      - name: tls_conf
        type: mbedtls_ssl_config
      - name: cert_chain
        type: mbedtls_x509_crt
      - name: prv_key
        type: mbedtls_pk_context
      item_type: struct
      name: mhd_TlsMbedDaemonData
      pos:
        line_end: 84
        line_start: 61
        source_file: /src/mhd2/src/mhd2/tls_mbed_daemon_data.h
    typedefs: []
    union: []
- function_names:
  - mhd_logger
  source_file: /src/mhd2/src/mhd2/daemon_logger.c
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - MHD_protocol_version_to_string
  - MHD_http_method_to_string
  source_file: /src/mhd2/src/mhd2/mhd_enum_to_str.c
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - MHD_lib_get_info_fixed_sz
  - MHD_lib_get_info_dynamic_sz
  source_file: /src/mhd2/src/mhd2/lib_get_info.c
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names: []
  source_file: /src/mhd2/src/mhd2/mhd_status_code_int.h
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: MHD_STATUS_CODE_INT_H
      pos:
        line_end: 46
        line_start: 45
        source_file: /src/mhd2/src/mhd2/mhd_status_code_int.h
      type_or_value: '1'
    structs: []
    typedefs:
    - item_type: typedef
      name: mhd_StatusCodeInt
      pos:
        line_end: 57
        line_start: 57
        source_file: /src/mhd2/src/mhd2/mhd_status_code_int.h
      type: uint_fast16_t
    union: []
- function_names: []
  source_file: /src/mhd2/src/mhd2/tls_gnu_conn_data.h
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: MHD_TLS_GNU_CONN_DATA_H
      pos:
        line_end: 46
        line_start: 45
        source_file: /src/mhd2/src/mhd2/tls_gnu_conn_data.h
      type_or_value: '1'
    structs:
    - fields:
      - name: is_inited
        type: bool
      - name: is_tls_handshake_completed
        type: bool
      - name: is_finished
        type: bool
      - name: is_failed
        type: bool
      item_type: struct
      name: mhd_TlsGnuConnDebug
      pos:
        line_end: 64
        line_start: 58
        source_file: /src/mhd2/src/mhd2/tls_gnu_conn_data.h
    - fields:
      - name: sess
        type: gnutls_session_t
      - name: rmt_shut_tls_wr
        type: bool
      item_type: struct
      name: mhd_TlsGnuConnData
      pos:
        line_end: 87
        line_start: 70
        source_file: /src/mhd2/src/mhd2/tls_gnu_conn_data.h
    typedefs: []
    union: []
- function_names: []
  source_file: /src/mhd2/src/mhd2/tls_mbed_conn_data.h
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: MHD_TLS_MBED_CONN_DATA_H
      pos:
        line_end: 46
        line_start: 45
        source_file: /src/mhd2/src/mhd2/tls_mbed_conn_data.h
      type_or_value: '1'
    structs:
    - fields:
      - name: is_inited
        type: bool
      - name: is_tls_handshake_completed
        type: bool
      - name: is_failed
        type: bool
      item_type: struct
      name: mhd_TlsMbedConnDebug
      pos:
        line_end: 68
        line_start: 63
        source_file: /src/mhd2/src/mhd2/tls_mbed_conn_data.h
    - fields:
      - name: recv_called
        type: bool
      - name: recv_res
        type: enum mhd_SocketError
      - name: send_called
        type: bool
      - name: send_res
        type: enum mhd_SocketError
      - name: send_unenc_size
        type: size_t
      item_type: struct
      name: mhd_TlsMbedConnCstmTrtState
      pos:
        line_end: 99
        line_start: 74
        source_file: /src/mhd2/src/mhd2/tls_mbed_conn_data.h
    - fields:
      - name: '*sk'
        type: struct mhd_ConnSocket
      - name: state
        type: struct mhd_TlsMbedConnCstmTrtState
      item_type: struct
      name: mhd_TlsMbedConnCstmTrtData
      pos:
        line_end: 114
        line_start: 104
        source_file: /src/mhd2/src/mhd2/tls_mbed_conn_data.h
    - fields:
      - name: sess
        type: mbedtls_ssl_context
      - name: tr
        type: struct mhd_TlsMbedConnCstmTrtData
      - name: recv_data_in_buff
        type: bool
      - name: shut_tls_wr_sent
        type: bool
      - name: shut_tls_wr_received
        type: bool
      item_type: struct
      name: mhd_TlsMbedConnData
      pos:
        line_end: 152
        line_start: 122
        source_file: /src/mhd2/src/mhd2/tls_mbed_conn_data.h
    typedefs: []
    union: []
- function_names:
  - MHD_daemon_set_options
  source_file: /src/mhd2/src/mhd2/daemon_set_options.c
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - mhd_ACTION_IS_VALID
  - mhd_UPLOAD_ACTION_IS_VALID
  source_file: /src/mhd2/src/mhd2/mhd_action.h
  types:
    enum:
    - enumerators:
      - name: mhd_ACTION_NO_ACTION
        value: '0'
      - name: mhd_ACTION_RESPONSE
      - name: MHD_SUPPORT_POST_PARSER
      - name: MHD_SUPPORT_UPGRADE
      - name: mhd_ACTION_ABORT
      - name: mhd_ACTION_POST_PARSE
      - name: mhd_ACTION_UPGRADE
      item_type: enum
      name: mhd_ActionType
      pos:
        line_end: 105
        line_start: 65
        source_file: /src/mhd2/src/mhd2/mhd_action.h
    - enumerators:
      - name: mhd_UPLOAD_ACTION_NO_ACTION
        value: '0'
      - name: MHD_SUPPORT_UPGRADE
      - name: mhd_UPLOAD_ACTION_RESPONSE
      - name: mhd_UPLOAD_ACTION_CONTINUE
      - name: mhd_UPLOAD_ACTION_ABORT
      - name: mhd_UPLOAD_ACTION_UPGRADE
      item_type: enum
      name: mhd_UploadActionType
      pos:
        line_end: 347
        line_start: 314
        source_file: /src/mhd2/src/mhd2/mhd_action.h
    preproc_defs:
    - item_type: preproc_def
      name: MHD_ACTION_H
      pos:
        line_end: 46
        line_start: 45
        source_file: /src/mhd2/src/mhd2/mhd_action.h
      type_or_value: '1'
    - item_type: preproc_def
      name: MHD_UPLOADCALLBACK_DEFINED
      pos:
        line_end: 124
        line_start: 123
        source_file: /src/mhd2/src/mhd2/mhd_action.h
      type_or_value: '1'
    - item_type: preproc_def
      name: MHD_POST_DATA_READER_DEFINED
      pos:
        line_end: 187
        line_start: 186
        source_file: /src/mhd2/src/mhd2/mhd_action.h
      type_or_value: '1'
    - item_type: preproc_def
      name: MHD_UPGRADEHANDLER_DEFINED
      pos:
        line_end: 243
        line_start: 242
        source_file: /src/mhd2/src/mhd2/mhd_action.h
      type_or_value: '1'
    structs:
    - fields:
      - name: cb
        type: MHD_UploadCallback
      - name: '*cls'
        type: void
      item_type: struct
      name: mhd_UploadCallbackData
      pos:
        line_end: 140
        line_start: 129
        source_file: /src/mhd2/src/mhd2/mhd_action.h
    - fields:
      - name: large_buffer_size
        type: size_t
      - name: full
        type: struct mhd_UploadCallbackData
      - name: inc
        type: struct mhd_UploadCallbackData
      item_type: struct
      name: mhd_UploadCallbacks
      pos:
        line_end: 161
        line_start: 145
        source_file: /src/mhd2/src/mhd2/mhd_action.h
    - fields:
      - name: buffer_size
        type: size_t
      - name: max_nonstream_size
        type: size_t
      - name: enc
        type: enum MHD_HTTP_PostEncoding
      - name: stream_reader
        type: MHD_PostDataReader
      - name: '*reader_cls'
        type: void
      - name: done_cb
        type: MHD_PostDataFinished
      - name: '*done_cb_cls'
        type: void
      item_type: struct
      name: mhd_PostParseActionData
      pos:
        line_end: 226
        line_start: 193
        source_file: /src/mhd2/src/mhd2/mhd_action.h
    - fields:
      - name: cb
        type: MHD_UpgradeHandler
      - name: '*cb_cls'
        type: void
      item_type: struct
      name: mhd_UpgradeActionData
      pos:
        line_end: 260
        line_start: 249
        source_file: /src/mhd2/src/mhd2/mhd_action.h
    - fields:
      - name: act
        type: enum mhd_ActionType
      - name: data
        type: union mhd_ActionData
      item_type: struct
      name: MHD_Action
      pos:
        line_end: 309
        line_start: 298
        source_file: /src/mhd2/src/mhd2/mhd_action.h
    - fields:
      - name: act
        type: enum mhd_UploadActionType
      - name: data
        type: union mhd_UploadActionData
      item_type: struct
      name: MHD_UploadAction
      pos:
        line_end: 388
        line_start: 377
        source_file: /src/mhd2/src/mhd2/mhd_action.h
    - fields:
      - name: head_act
        type: struct MHD_Action
      - name: upl_act
        type: struct MHD_UploadAction
      item_type: struct
      name: mhd_ApplicationAction
      pos:
        line_end: 404
        line_start: 394
        source_file: /src/mhd2/src/mhd2/mhd_action.h
    typedefs:
    - item_type: typedef
      name: "*\n(MHD_FN_PAR_NONNULL_ (2)  MHD_FN_PAR_INOUT_SIZE_ (4, 3)\n *MHD_UploadCallback)(void
        *upload_cls,\n                      struct MHD_Request *request,\n                      size_t
        content_data_size,\n                      void *content_data)"
      pos:
        line_end: 121
        line_start: 116
        source_file: /src/mhd2/src/mhd2/mhd_action.h
      type: MHD_UploadAction
    - item_type: typedef
      name: "*\n(MHD_FN_PAR_NONNULL_ (1) MHD_FN_PAR_NONNULL_ (3) MHD_FN_PAR_NONNULL_
        (4)\n MHD_FN_PAR_NONNULL_ (5) MHD_FN_PAR_NONNULL_ (6)\n *MHD_PostDataReader)
        (struct MHD_Request *req,\n                       void *cls,\n                       const
        struct MHD_String *name,\n                       const struct MHD_StringNullable
        *filename,\n                       const struct MHD_StringNullable *content_type,\n
        \                      const struct MHD_StringNullable *encoding,\n                       size_t
        size,\n                       const void *data,\n                       uint_fast64_t
        off,\n                       enum MHD_Bool final_data)"
      pos:
        line_end: 178
        line_start: 166
        source_file: /src/mhd2/src/mhd2/mhd_action.h
      type: MHD_UploadAction
    - item_type: typedef
      name: "*\n(MHD_FN_PAR_NONNULL_ (1)\n *MHD_PostDataFinished) (struct MHD_Request
        *req,\n                         void *cls,\n                         enum
        MHD_PostParseResult parsing_result)"
      pos:
        line_end: 184
        line_start: 180
        source_file: /src/mhd2/src/mhd2/mhd_action.h
      type: MHD_UploadAction
    - item_type: typedef
      name: "(*MHD_UpgradeHandler)(void *cls,\n                      struct MHD_Request
        *MHD_RESTRICT request,\n                      struct MHD_UpgradedHandle *MHD_RESTRICT
        urh)"
      pos:
        line_end: 240
        line_start: 237
        source_file: /src/mhd2/src/mhd2/mhd_action.h
      type: void
    union:
    - fields:
      - name: '*response'
        type: struct MHD_Response
      - name: upload
        type: struct mhd_UploadCallbacks
      item_type: union
      name: mhd_ActionData
      pos:
        line_end: 292
        line_start: 268
        source_file: /src/mhd2/src/mhd2/mhd_action.h
    - fields:
      - name: '*response'
        type: struct MHD_Response
      item_type: union
      name: mhd_UploadActionData
      pos:
        line_end: 372
        line_start: 360
        source_file: /src/mhd2/src/mhd2/mhd_action.h
- function_names: []
  source_file: /src/mhd2/src/mhd2/sys_null_macro.h
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: MHD_SYS_NULL_MACRO_H
      pos:
        line_end: 48
        line_start: 47
        source_file: /src/mhd2/src/mhd2/sys_null_macro.h
      type_or_value: '1'
    - item_type: preproc_def
      name: 'NULL'
      pos:
        line_end: 57
        line_start: 56
        source_file: /src/mhd2/src/mhd2/sys_null_macro.h
      type_or_value: nullptr
    - item_type: preproc_def
      name: 'NULL'
      pos:
        line_end: 59
        line_start: 58
        source_file: /src/mhd2/src/mhd2/sys_null_macro.h
      type_or_value: ((void *) 0)
    - item_type: preproc_def
      name: 'NULL'
      pos:
        line_end: 63
        line_start: 62
        source_file: /src/mhd2/src/mhd2/sys_null_macro.h
      type_or_value: nullptr
    - item_type: preproc_def
      name: 'NULL'
      pos:
        line_end: 65
        line_start: 64
        source_file: /src/mhd2/src/mhd2/sys_null_macro.h
      type_or_value: '0'
    structs: []
    typedefs: []
    union: []
- function_names:
  - mclock_deinit_clock_get_time
  - mclock_init_clock_get_time
  - mclock_deinit_clock_get_time
  - uint_fast32_t
  - mclock_init_mach_time
  - mclock_init_mach_time
  - mhd_mclock_init_once
  - mhd_mclock_deinit
  - mhd_mclock_re_init
  - uint_fast64_t::mhd_monotonic_msec_counter
  source_file: /src/mhd2/src/mhd2/mhd_mono_clock.c
  types:
    enum:
    - enumerators:
      - name: mhd_MCLOCK_SOUCE_NO_SOURCE
        value: HAVE_CLOCK_GETTIME
      - name: mhd_MCLOCK_SOUCE_GETHRTIME
        value: '0x0600'
      - name: mhd_MCLOCK_SOUCE_GET_TIME
      - name: mhd_MCLOCK_SOUCE_MACH_TIME
      - name: mhd_MCLOCK_SOUCE_GETTICKCOUNT64
      item_type: enum
      name: mhd_mono_clock_source
      pos:
        line_end: 334
        line_start: 272
        source_file: /src/mhd2/src/mhd2/mhd_mono_clock.c
    preproc_defs:
    - item_type: preproc_def
      name: mhd_USE_MACH_TIME
      pos:
        line_end: 62
        line_start: 61
        source_file: /src/mhd2/src/mhd2/mhd_mono_clock.c
      type_or_value: '1'
    - item_type: preproc_def
      name: mhd_CLOCK_ID_UNWANTED
      pos:
        line_end: 98
        line_start: 97
        source_file: /src/mhd2/src/mhd2/mhd_mono_clock.c
      type_or_value: CLOCK_REALTIME
    - item_type: preproc_def
      name: mhd_CLOCK_ID_UNWANTED
      pos:
        line_end: 100
        line_start: 99
        source_file: /src/mhd2/src/mhd2/mhd_mono_clock.c
      type_or_value: ((clockid_t) -2)
    - item_type: preproc_def
      name: SYSTEM_CLOCK
      pos:
        line_end: 114
        line_start: 113
        source_file: /src/mhd2/src/mhd2/mhd_mono_clock.c
      type_or_value: REALTIME_CLOCK
    - item_type: preproc_def
      name: mhd_CLOCK_SERV_INVALID
      pos:
        line_end: 116
        line_start: 115
        source_file: /src/mhd2/src/mhd2/mhd_mono_clock.c
      type_or_value: ((clock_serv_t) -2)
    - item_type: preproc_def
      name: mhd_HAVE_GETTIME_START_VAR
      pos:
        line_end: 148
        line_start: 147
        source_file: /src/mhd2/src/mhd2/mhd_mono_clock.c
      type_or_value: '1'
    structs: []
    typedefs: []
    union: []
- function_names:
  - mhd_DCC_ACTION_IS_VALID
  source_file: /src/mhd2/src/mhd2/mhd_dcc_action.h
  types:
    enum:
    - enumerators:
      - name: mhd_DCC_ACTION_NO_ACTION
        value: '0'
      - name: mhd_DCC_ACTION_FINISH
      - name: mhd_DCC_ACTION_SUSPEND
      - name: mhd_DCC_ACTION_ABORT
      - name: mhd_DCC_ACTION_CONTINUE
      item_type: enum
      name: mhd_DccActionType
      pos:
        line_end: 90
        line_start: 64
        source_file: /src/mhd2/src/mhd2/mhd_dcc_action.h
    preproc_defs:
    - item_type: preproc_def
      name: MHD_DCC_ACTION_H
      pos:
        line_end: 46
        line_start: 45
        source_file: /src/mhd2/src/mhd2/mhd_dcc_action.h
      type_or_value: '1'
    - item_type: preproc_def
      name: MHD_FREECALLBACK_DEFINED
      pos:
        line_end: 113
        line_start: 112
        source_file: /src/mhd2/src/mhd2/mhd_dcc_action.h
      type_or_value: '1'
    - item_type: preproc_def
      name: MHD_DYNCONTENTZCIOVEC_DEFINED
      pos:
        line_end: 144
        line_start: 143
        source_file: /src/mhd2/src/mhd2/mhd_dcc_action.h
      type_or_value: '1'
    structs:
    - fields:
      - name: '*connection'
        type: struct MHD_Connection
      item_type: struct
      name: MHD_DynamicContentCreatorContext
      pos:
        line_end: 59
        line_start: 56
        source_file: /src/mhd2/src/mhd2/mhd_dcc_action.h
    - fields:
      - name: iov_count
        type: unsigned int
      - name: '*iov'
        type: struct MHD_IoVec
      - name: iov_fcb
        type: MHD_FreeCallback
      - name: '*iov_fcb_cls'
        type: void
      item_type: struct
      name: MHD_DynContentZCIoVec
      pos:
        line_end: 141
        line_start: 121
        source_file: /src/mhd2/src/mhd2/mhd_dcc_action.h
    - fields:
      - name: buf_data_size
        type: size_t
      - name: '*iov_data'
        type: struct MHD_DynContentZCIoVec
      item_type: struct
      name: mhd_DccActionContinueData
      pos:
        line_end: 159
        line_start: 149
        source_file: /src/mhd2/src/mhd2/mhd_dcc_action.h
    - fields:
      - name: act
        type: enum mhd_DccActionType
      - name: data
        type: union mhd_DccActionData
      item_type: struct
      name: MHD_DynamicContentCreatorAction
      pos:
        line_end: 188
        line_start: 177
        source_file: /src/mhd2/src/mhd2/mhd_dcc_action.h
    typedefs:
    - item_type: typedef
      name: (*MHD_FreeCallback)(void *free_cls)
      pos:
        line_end: 110
        line_start: 109
        source_file: /src/mhd2/src/mhd2/mhd_dcc_action.h
      type: void
    union:
    - fields:
      - name: cntnue
        type: struct mhd_DccActionContinueData
      item_type: union
      name: mhd_DccActionData
      pos:
        line_end: 171
        line_start: 165
        source_file: /src/mhd2/src/mhd2/mhd_dcc_action.h
- function_names: []
  source_file: /src/mhd2/src/mhd2/auth_digest.h
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: MHD_AUTH_DIGEST_H
      pos:
        line_end: 46
        line_start: 45
        source_file: /src/mhd2/src/mhd2/auth_digest.h
      type_or_value: '1'
    structs: []
    typedefs: []
    union: []
- function_names:
  - mhd_ROUND_TO_ALIGN
  - mhd_ROUND_TO_ALIGN_PLUS_RED_ZONE
  - mhd_POISON_MEMORY
  - mhd_UNPOISON_MEMORY
  - mp_ptr_le_
  - mp_ptr_diff_
  - mhd_ROUND_TO_ALIGN_PLUS_RED_ZONE
  - mhd_POISON_MEMORY
  - mhd_UNPOISON_MEMORY
  - mp_ptr_le_
  - mp_ptr_diff_
  - mp_ptr_le_
  - mp_ptr_diff_
  - mp_ptr_le_
  - mp_ptr_diff_
  - mhd_init_mem_pools
  - mhd_pool_create
  - mhd_pool_destroy
  - mhd_pool_get_size
  - mhd_pool_get_free
  - mhd_pool_allocate
  - mhd_pool_is_resizable_inplace
  - mhd_pool_try_alloc
  - mhd_pool_reallocate
  - mhd_pool_deallocate
  - mhd_pool_reset
  source_file: /src/mhd2/src/mhd2/mempool_funcs.c
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: MHD_SC_PAGESIZE
      pos:
        line_end: 67
        line_start: 66
        source_file: /src/mhd2/src/mhd2/mempool_funcs.c
      type_or_value: _SC_PAGE_SIZE
    - item_type: preproc_def
      name: MHD_SC_PAGESIZE
      pos:
        line_end: 69
        line_start: 68
        source_file: /src/mhd2/src/mhd2/mempool_funcs.c
      type_or_value: _SC_PAGESIZE
    - item_type: preproc_def
      name: mhd_FALLBACK_PAGE_SIZE
      pos:
        line_end: 91
        line_start: 90
        source_file: /src/mhd2/src/mhd2/mempool_funcs.c
      type_or_value: (4096)
    - item_type: preproc_def
      name: mhd_DEF_PAGE_SIZE
      pos:
        line_end: 95
        line_start: 94
        source_file: /src/mhd2/src/mhd2/mempool_funcs.c
      type_or_value: PAGESIZE
    - item_type: preproc_def
      name: mhd_DEF_PAGE_SIZE
      pos:
        line_end: 97
        line_start: 96
        source_file: /src/mhd2/src/mhd2/mempool_funcs.c
      type_or_value: PAGE_SIZE
    - item_type: preproc_def
      name: mhd_DEF_PAGE_SIZE
      pos:
        line_end: 99
        line_start: 98
        source_file: /src/mhd2/src/mhd2/mempool_funcs.c
      type_or_value: mhd_FALLBACK_PAGE_SIZE
    - item_type: preproc_def
      name: mhd_MAP_ANONYMOUS
      pos:
        line_end: 108
        line_start: 107
        source_file: /src/mhd2/src/mhd2/mempool_funcs.c
      type_or_value: MAP_ANONYMOUS
    - item_type: preproc_def
      name: mhd_MAP_ANONYMOUS
      pos:
        line_end: 112
        line_start: 111
        source_file: /src/mhd2/src/mhd2/mempool_funcs.c
      type_or_value: MAP_ANON
    - item_type: preproc_def
      name: mhd_USE_LARGE_ALLOCS
      pos:
        line_end: 116
        line_start: 115
        source_file: /src/mhd2/src/mhd2/mempool_funcs.c
      type_or_value: '1'
    - item_type: preproc_def
      name: mhd_MAP_FAILED
      pos:
        line_end: 121
        line_start: 120
        source_file: /src/mhd2/src/mhd2/mempool_funcs.c
      type_or_value: 'NULL'
    - item_type: preproc_def
      name: mhd_MAP_FAILED
      pos:
        line_end: 123
        line_start: 122
        source_file: /src/mhd2/src/mhd2/mempool_funcs.c
      type_or_value: MAP_FAILED
    - item_type: preproc_def
      name: mhd_MAP_FAILED
      pos:
        line_end: 125
        line_start: 124
        source_file: /src/mhd2/src/mhd2/mempool_funcs.c
      type_or_value: ((void*) -1)
    - item_type: preproc_def
      name: mhd_RED_ZONE_SIZE
      pos:
        line_end: 139
        line_start: 138
        source_file: /src/mhd2/src/mhd2/mempool_funcs.c
      type_or_value: (0)
    - item_type: preproc_def
      name: mhd_RED_ZONE_SIZE
      pos:
        line_end: 155
        line_start: 154
        source_file: /src/mhd2/src/mhd2/mempool_funcs.c
      type_or_value: (mhd_MEMPOOL_ALIGN_SIZE)
    structs:
    - fields:
      - name: '*memory'
        type: uint8_t
      - name: size
        type: size_t
      - name: pos
        type: size_t
      - name: end
        type: size_t
      - name: zeroing
        type: enum mhd_MemPoolZeroing
      item_type: struct
      name: mhd_MemoryPool
      pos:
        line_end: 308
        line_start: 274
        source_file: /src/mhd2/src/mhd2/mempool_funcs.c
    typedefs: []
    union: []
- function_names: []
  source_file: /src/mhd2/src/mhd2/sys_ip_headers.h
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: MHD_SYS_IP_HEADERS_H
      pos:
        line_end: 46
        line_start: 45
        source_file: /src/mhd2/src/mhd2/sys_ip_headers.h
      type_or_value: '1'
    - item_type: preproc_def
      name: HAVE_DCLR_IPV6_V6ONLY
      pos:
        line_end: 76
        line_start: 75
        source_file: /src/mhd2/src/mhd2/sys_ip_headers.h
      type_or_value: '1'
    - item_type: preproc_def
      name: HAVE_DCLR_TCP_NODELAY
      pos:
        line_end: 81
        line_start: 80
        source_file: /src/mhd2/src/mhd2/sys_ip_headers.h
      type_or_value: '1'
    - item_type: preproc_def
      name: HAVE_DCLR_TCP_FASTOPEN
      pos:
        line_end: 86
        line_start: 85
        source_file: /src/mhd2/src/mhd2/sys_ip_headers.h
      type_or_value: '1'
    - item_type: preproc_def
      name: mhd_TCP_CORK_NOPUSH
      pos:
        line_end: 94
        line_start: 93
        source_file: /src/mhd2/src/mhd2/sys_ip_headers.h
      type_or_value: TCP_CORK
    - item_type: preproc_def
      name: mhd_TCP_CORK_NOPUSH
      pos:
        line_end: 99
        line_start: 98
        source_file: /src/mhd2/src/mhd2/sys_ip_headers.h
      type_or_value: TCP_NOPUSH
    - item_type: preproc_def
      name: mhd_CORK_RESET_PUSH_DATA
      pos:
        line_end: 108
        line_start: 107
        source_file: /src/mhd2/src/mhd2/sys_ip_headers.h
      type_or_value: '1'
    - item_type: preproc_def
      name: mhd_CORK_RESET_PUSH_DATA_ALWAYS
      pos:
        line_end: 113
        line_start: 112
        source_file: /src/mhd2/src/mhd2/sys_ip_headers.h
      type_or_value: '1'
    - item_type: preproc_def
      name: mhd_CORK_RESET_PUSH_DATA
      pos:
        line_end: 124
        line_start: 123
        source_file: /src/mhd2/src/mhd2/sys_ip_headers.h
      type_or_value: '1'
    - item_type: preproc_def
      name: mhd_CORK_RESET_PUSH_DATA
      pos:
        line_end: 131
        line_start: 130
        source_file: /src/mhd2/src/mhd2/sys_ip_headers.h
      type_or_value: '1'
    - item_type: preproc_def
      name: mhd_NODELAY_SET_PUSH_DATA
      pos:
        line_end: 139
        line_start: 138
        source_file: /src/mhd2/src/mhd2/sys_ip_headers.h
      type_or_value: '1'
    - item_type: preproc_def
      name: mhd_NODELAY_SET_PUSH_DATA_ALWAYS
      pos:
        line_end: 144
        line_start: 143
        source_file: /src/mhd2/src/mhd2/sys_ip_headers.h
      type_or_value: '1'
    structs: []
    typedefs: []
    union: []
- function_names:
  - mhd_daemon_get_master_daemon
  - mhd_daemon_trigger_itc
  - MHD_FN_PAR_NONNULL_ALL_
  - mhd_daemon_claim_lbuf_up_to
  - mhd_daemon_reclaim_lbuf
  - mhd_daemon_get_lbuf
  - mhd_daemon_grow_lbuf
  - mhd_daemon_extend_lbuf_up_to
  - mhd_daemon_free_lbuf
  - mhd_daemon_get_milsec_counter
  source_file: /src/mhd2/src/mhd2/daemon_funcs.c
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - find_and_parse_auth_basic
  - mhd_request_get_auth_basic_creds
  source_file: /src/mhd2/src/mhd2/auth_basic.c
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - mhd_stream_call_dcc_cleanup_if_needed
  - get_conn_reuse
  - is_reply_body_needed
  - setup_reply_properties
  - check_connection_reply
  - mhd_build_date_str
  - get_date_header
  - buffer_append
  - buffer_append_crlf
  - add_user_headers
  - buffer_append_s
  - buffer_append_mstr
  - build_header_response_inn
  - mhd_stream_build_header_response
  - "(1) bool\npreprocess_dcc_action (struct MHD_Connection *restrict c,\n                       const
    struct MHD_DynamicContentCreatorAction *act)"
  - read_response_file
  - mhd_stream_prep_unchunked_body
  - mhd_stream_prep_chunked_body
  - prep_chunked_footer_inn
  - mhd_stream_prep_chunked_footer
  source_file: /src/mhd2/src/mhd2/stream_process_reply.c
  types:
    enum:
    - enumerators:
      - name: RP_BODY_NONE
        value: '0'
      - name: RP_BODY_HEADERS_ONLY
        value: '1'
      - name: RP_BODY_SEND
        value: '2'
      item_type: enum
      name: replyBodyUse
      pos:
        line_end: 131
        line_start: 109
        source_file: /src/mhd2/src/mhd2/stream_process_reply.c
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - mhd_socket_close
  - mhd_socket_close
  - mhd_sys_send4
  - mhd_sys_send4
  - mhd_sys_send
  - mhd_sys_recv
  - mhd_sys_recv
  - mhd_SCKT_GET_LERR
  - mhd_SCKT_GET_LERR
  - mhd_SCKT_SET_LERR
  - mhd_SCKT_SET_LERR
  - mhd_SCKT_ERR_IS_EAGAIN
  - mhd_SCKT_ERR_IS_EAGAIN
  - mhd_SCKT_ERR_IS_EAGAIN
  - mhd_SCKT_ERR_IS_EAGAIN
  - mhd_SCKT_ERR_IS_EAGAIN
  - mhd_SCKT_LERR_IS_EAGAIN
  - mhd_SCKT_ERR_IS_AF
  - mhd_SCKT_ERR_IS_AF
  - mhd_SCKT_ERR_IS_AF
  - mhd_SCKT_LERR_IS_AF
  - mhd_SCKT_ERR_IS_EINVAL
  - mhd_SCKT_ERR_IS_EINVAL
  - mhd_SCKT_ERR_IS_EINVAL
  - mhd_SCKT_ERR_IS_EINTR
  - mhd_SCKT_ERR_IS_EINTR
  - mhd_SCKT_ERR_IS_EINTR
  - mhd_SCKT_ERR_IS_CONNRESET
  - mhd_SCKT_ERR_IS_CONNRESET
  - mhd_SCKT_ERR_IS_CONNRESET
  - mhd_SCKT_ERR_IS_NOTCONN
  - mhd_SCKT_ERR_IS_NOTCONNT
  - mhd_SCKT_ERR_IS_NOTCONN
  - mhd_SCKT_ERR_IS_OPNOTSUPP
  - mhd_SCKT_ERR_IS_OPNOTSUPP
  - mhd_SCKT_ERR_IS_OPNOTSUPP
  - mhd_SCKT_ERR_IS_NOPROTOOPT
  - mhd_SCKT_ERR_IS_NOPROTOOPT
  - mhd_SCKT_ERR_IS_NOPROTOOPT
  - mhd_SCKT_ERR_IS_BADF
  - mhd_SCKT_ERR_IS_BADF
  - mhd_SCKT_ERR_IS_BADF
  - mhd_SCKT_ERR_IS_NOTSOCK
  - mhd_SCKT_ERR_IS_NOTSOCK
  - mhd_SCKT_ERR_IS_NOTSOCK
  - mhd_SCKT_ERR_IS_PIPE
  - mhd_SCKT_ERR_IS_PIPE
  - mhd_SCKT_ERR_IS_PIPE
  - mhd_SCKT_ERR_IS_INPROGRESS
  - mhd_SCKT_ERR_IS_INPROGRESS
  - mhd_SCKT_ERR_IS_INPROGRESS
  - mhd_SCKT_ERR_IS_DISCNN_BEFORE_ACCEPT
  - mhd_SCKT_ERR_IS_DISCNN_BEFORE_ACCEPT
  - mhd_SCKT_ERR_IS_DISCNN_BEFORE_ACCEPT
  - mhd_SCKT_ERR_IS_CONN_BROKEN
  - mhd_SCKT_ERR_IS_CONN_BROKEN
  - mhd_SCKT_ERR_IS_LOW_RESOURCES
  - mhd_SCKT_ERR_IS_LOW_RESOURCES
  - mhd_SCKT_ERR_IS_LOW_MEM
  - mhd_SCKT_ERR_IS_LOW_MEM
  - mhd_socket_pair
  - mhd_socket_pair
  - mhd_socket_pair_nblk
  - mhd_socket_pair_nblk
  source_file: /src/mhd2/src/mhd2/mhd_sockets_macros.h
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: MHD_SOCKETS_MACROS_H
      pos:
        line_end: 46
        line_start: 45
        source_file: /src/mhd2/src/mhd2/mhd_sockets_macros.h
      type_or_value: '1'
    structs: []
    typedefs: []
    union: []
- function_names:
  - mhd_rng
  source_file: /src/mhd2/src/mhd2/mhd_rng.c
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - mhd_MD5_blti_init
  - md5_transform
  - F_FUNC
  - G_FUNC_1
  - G_FUNC_2
  - G_FUNC_1
  - G_FUNC_2
  - H_FUNC
  - I_FUNC
  - MD5STEP_R1
  - GET_X_FROM_DATA
  - MD5STEP_R2
  - MD5STEP_R3
  - MD5STEP_R4
  - mhd_MD5_blti_update
  - mhd_MD5_blti_finish
  source_file: /src/mhd2/src/mhd2/md5_builtin.c
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: MD5_SIZE_OF_LEN_ADD_BITS
      pos:
        line_end: 460
        line_start: 459
        source_file: /src/mhd2/src/mhd2/md5_builtin.c
      type_or_value: '64'
    - item_type: preproc_def
      name: MD5_SIZE_OF_LEN_ADD
      pos:
        line_end: 465
        line_start: 464
        source_file: /src/mhd2/src/mhd2/md5_builtin.c
      type_or_value: (MD5_SIZE_OF_LEN_ADD_BITS / 8)
    structs: []
    typedefs: []
    union: []
- function_names:
  - mhd_SSTR_LEN
  - mhd_MSTR_INIT
  source_file: /src/mhd2/src/mhd2/mhd_str_macros.h
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: MHD_STR_MACROS_H
      pos:
        line_end: 46
        line_start: 45
        source_file: /src/mhd2/src/mhd2/mhd_str_macros.h
      type_or_value: '1'
    structs: []
    typedefs: []
    union: []
- function_names: []
  source_file: /src/mhd2/src/mhd2/sha256_mbedtls.h
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: MHD_SHA256_MBEDTLS_H
      pos:
        line_end: 45
        line_start: 44
        source_file: /src/mhd2/src/mhd2/sha256_mbedtls.h
      type_or_value: '1'
    - item_type: preproc_def
      name: mhd_SHA256_DIGEST_SIZE
      pos:
        line_end: 60
        line_start: 59
        source_file: /src/mhd2/src/mhd2/sha256_mbedtls.h
      type_or_value: (32)
    - item_type: preproc_def
      name: mhd_SHA256_MTLS_EXT_ERROR_FLAG
      pos:
        line_end: 77
        line_start: 76
        source_file: /src/mhd2/src/mhd2/sha256_mbedtls.h
      type_or_value: '1'
    - item_type: preproc_def
      name: mhd_SHA256_MTLS_DEINIT_NOOP_FLAG
      pos:
        line_end: 165
        line_start: 164
        source_file: /src/mhd2/src/mhd2/sha256_mbedtls.h
      type_or_value: '0'
    structs:
    - fields:
      - name: mbed_ctx
        type: struct mbedtls_sha256_context
      - name: ext_error
        type: bool
      item_type: struct
      name: mhd_Sha256CtxMtls
      pos:
        line_end: 69
        line_start: 65
        source_file: /src/mhd2/src/mhd2/sha256_mbedtls.h
    typedefs: []
    union: []
- function_names: []
  source_file: /src/mhd2/src/mhd2/response_add_header.h
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: MHD_RESPONSE_ADD_HEADER_H
      pos:
        line_end: 47
        line_start: 46
        source_file: /src/mhd2/src/mhd2/response_add_header.h
      type_or_value: '1'
    structs: []
    typedefs: []
    union: []
- function_names: []
  source_file: /src/mhd2/src/mhd2/stream_process_reply.h
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: MHD_STREAM_PROCESS_REPLY_H
      pos:
        line_end: 47
        line_start: 46
        source_file: /src/mhd2/src/mhd2/stream_process_reply.h
      type_or_value: '1'
    structs: []
    typedefs: []
    union: []
- function_names: []
  source_file: /src/mhd2/src/mhd2/daemon_logger_default.h
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: MHD_DAEMON_LOGGER_DEFAULT_H
      pos:
        line_end: 46
        line_start: 45
        source_file: /src/mhd2/src/mhd2/daemon_logger_default.h
      type_or_value: '1'
    - item_type: preproc_def
      name: mhd_logger_default
      pos:
        line_end: 74
        line_start: 73
        source_file: /src/mhd2/src/mhd2/daemon_logger_default.h
      type_or_value: 'NULL'
    structs: []
    typedefs: []
    union: []
- function_names: []
  source_file: /src/mhd2/src/mhd2/upgrade_proc.h
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: MHD_UPGRADE_PROC_H
      pos:
        line_end: 46
        line_start: 45
        source_file: /src/mhd2/src/mhd2/upgrade_proc.h
      type_or_value: '1'
    structs: []
    typedefs: []
    union: []
- function_names: []
  source_file: /src/mhd2/src/mhd2/mhd_reply.h
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: MHD_REPLY_H
      pos:
        line_end: 53
        line_start: 52
        source_file: /src/mhd2/src/mhd2/mhd_reply.h
      type_or_value: '1'
    structs:
    - fields:
      - name: use_reply_body_headers
        type: bool
      - name: send_reply_body
        type: bool
      - name: chunked
        type: bool
      - name: end_by_closing
        type: bool
      item_type: struct
      name: MHD_Reply_Properties
      pos:
        line_end: 76
        line_start: 67
        source_file: /src/mhd2/src/mhd2/mhd_reply.h
    - fields:
      - name: app_act
        type: struct MHD_DynamicContentCreatorAction
      - name: app_act_ctx
        type: struct MHD_DynamicContentCreatorContext
      - name: '*response'
        type: struct MHD_Response
      - name: responseIcy
        type: bool
      - name: rsp_cntn_read_pos
        type: uint_fast64_t
      - name: resp_iov
        type: struct mhd_iovec_track
      - name: cntn_loc
        type: enum mhd_ReplyContentLocation
      - name: props
        type: struct MHD_Reply_Properties
      item_type: struct
      name: MHD_Reply
      pos:
        line_end: 173
        line_start: 115
        source_file: /src/mhd2/src/mhd2/mhd_reply.h
    typedefs: []
    union: []
- function_names: []
  source_file: /src/mhd2/src/mhd2/response_auth_digest.h
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: MHD_RESPONSE_AUTH_DIGEST_H
      pos:
        line_end: 46
        line_start: 45
        source_file: /src/mhd2/src/mhd2/response_auth_digest.h
      type_or_value: '1'
    structs: []
    typedefs: []
    union: []
- function_names:
  - mhd_tls_is_backend_available
  source_file: /src/mhd2/src/mhd2/mhd_tls_common.c
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names: []
  source_file: /src/mhd2/src/mhd2/post_parser_funcs.h
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: MHD_POST_PARSER_FUNCS_H
      pos:
        line_end: 46
        line_start: 45
        source_file: /src/mhd2/src/mhd2/post_parser_funcs.h
      type_or_value: '1'
    structs: []
    typedefs: []
    union: []
- function_names:
  - mhd_dbg_print_fd_mon_req
  - mhd_dbg_print_kevent
  - mhd_dbg_print_kevent_change
  - mhd_dbg_print_kevent_report
  source_file: /src/mhd2/src/mhd2/mhd_dbg_print.h
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: MHD_DBG_PRINT_H
      pos:
        line_end: 46
        line_start: 45
        source_file: /src/mhd2/src/mhd2/mhd_dbg_print.h
      type_or_value: '1'
    structs: []
    typedefs: []
    union: []
- function_names: []
  source_file: /src/mhd2/src/mhd2/sys_bool_type.h
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: MHD_SYS_BOOL_TYPE_H
      pos:
        line_end: 48
        line_start: 47
        source_file: /src/mhd2/src/mhd2/sys_bool_type.h
      type_or_value: '1'
    structs: []
    typedefs: []
    union: []
- function_names: []
  source_file: /src/mhd2/src/mhd2/response_set_options.h
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: MHD_RESPONSE_SET_OPTIONS_H
      pos:
        line_end: 46
        line_start: 45
        source_file: /src/mhd2/src/mhd2/response_set_options.h
      type_or_value: '1'
    structs: []
    typedefs: []
    union: []
- function_names:
  - mhd_UNREACHABLE
  - mhd_UNREACHABLE_D
  - mhd_UNREACHABLE
  - mhd_UNREACHABLE_D
  - mhd_UNREACHABLE
  - mhd_UNREACHABLE_D
  source_file: /src/mhd2/src/mhd2/mhd_unreachable.h
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: MHD_UNREACHABLE_H
      pos:
        line_end: 46
        line_start: 45
        source_file: /src/mhd2/src/mhd2/mhd_unreachable.h
      type_or_value: '1'
    structs: []
    typedefs: []
    union: []
- function_names: []
  source_file: /src/mhd2/src/mhd2/mhd_lib_init_impl.h
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: MHD_LIB_INIT_IMPL_H
      pos:
        line_end: 51
        line_start: 50
        source_file: /src/mhd2/src/mhd2/mhd_lib_init_impl.h
      type_or_value: '1'
    structs: []
    typedefs: []
    union: []
- function_names:
  - mhd_stream_alloc_memory
  - mhd_stream_shrink_read_buffer
  - mhd_stream_maximize_write_buffer
  - mhd_stream_release_write_buffer
  - mhd_stream_get_no_space_err_status_code
  - mhd_stream_switch_from_recv_to_send
  - mhd_stream_finish_req_serving
  - conn_start_socket_closing
  - conn_h2_start_closing
  - mhd_conn_start_closing
  - mhd_conn_pre_clean_part1
  - mhd_conn_pre_clean
  source_file: /src/mhd2/src/mhd2/stream_funcs.c
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: MHD_MAX_REASONABLE_HEADERS_SIZE_
      pos:
        line_end: 260
        line_start: 259
        source_file: /src/mhd2/src/mhd2/stream_funcs.c
      type_or_value: (6 * 1024)
    - item_type: preproc_def
      name: MHD_MAX_REASONABLE_REQ_TARGET_SIZE_
      pos:
        line_end: 274
        line_start: 273
        source_file: /src/mhd2/src/mhd2/stream_funcs.c
      type_or_value: '8000'
    - item_type: preproc_def
      name: MHD_MIN_REASONABLE_HEADERS_SIZE_
      pos:
        line_end: 285
        line_start: 284
        source_file: /src/mhd2/src/mhd2/stream_funcs.c
      type_or_value: '26'
    - item_type: preproc_def
      name: MHD_MIN_REASONABLE_REQ_TARGET_SIZE_
      pos:
        line_end: 296
        line_start: 295
        source_file: /src/mhd2/src/mhd2/stream_funcs.c
      type_or_value: '40'
    - item_type: preproc_def
      name: MHD_MIN_REASONABLE_REQ_METHOD_SIZE_
      pos:
        line_end: 307
        line_start: 306
        source_file: /src/mhd2/src/mhd2/stream_funcs.c
      type_or_value: '16'
    - item_type: preproc_def
      name: MHD_MIN_REASONABLE_REQ_CHUNK_LINE_LENGTH_
      pos:
        line_end: 316
        line_start: 315
        source_file: /src/mhd2/src/mhd2/stream_funcs.c
      type_or_value: '4'
    structs: []
    typedefs: []
    union: []
- function_names: []
  source_file: /src/mhd2/src/mhd2/mhd_post_parser.h
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: MHD_POST_PARSER_H
      pos:
        line_end: 46
        line_start: 45
        source_file: /src/mhd2/src/mhd2/mhd_post_parser.h
      type_or_value: '1'
    - item_type: preproc_def
      name: mhd_POST_INVALID_POS
      pos:
        line_end: 58
        line_start: 57
        source_file: /src/mhd2/src/mhd2/mhd_post_parser.h
      type_or_value: SIZE_MAX
    - item_type: preproc_def
      name: mhd_POST_INVALID_POS
      pos:
        line_end: 60
        line_start: 59
        source_file: /src/mhd2/src/mhd2/mhd_post_parser.h
      type_or_value: ((size_t) (~((size_t) (0))))
    structs:
    - fields:
      - name: st
        type: enum mhd_PostUrlEncState
      - name: name_idx
        type: size_t
      - name: name_len
        type: size_t
      - name: value_idx
        type: size_t
      - name: value_len
        type: size_t
      - name: last_pct_idx
        type: size_t
      item_type: struct
      name: mhd_PostParserUrlEncData
      pos:
        line_end: 162
        line_start: 117
        source_file: /src/mhd2/src/mhd2/mhd_post_parser.h
    - fields:
      - name: name_idx
        type: size_t
      - name: name_len
        type: size_t
      - name: value_idx
        type: size_t
      - name: value_len
        type: size_t
      - name: filename_idx
        type: size_t
      - name: filename_len
        type: size_t
      - name: cntn_type_idx
        type: size_t
      - name: cntn_type_len
        type: size_t
      - name: enc_idx
        type: size_t
      - name: enc_len
        type: size_t
      item_type: struct
      name: mhd_PostParserMPartFieldData
      pos:
        line_end: 396
        line_start: 334
        source_file: /src/mhd2/src/mhd2/mhd_post_parser.h
    - fields:
      - name: st
        type: enum mhd_PostMPartState
      - name: f
        type: struct mhd_PostParserMPartFieldData
      - name: line_start
        type: size_t
      - name: delim_check_start
        type: size_t
      - name: delim
        type: struct mhd_BufferConst
      item_type: struct
      name: mhd_PostParserMPartFormData
      pos:
        line_end: 434
        line_start: 401
        source_file: /src/mhd2/src/mhd2/mhd_post_parser.h
    - fields:
      - name: st
        type: enum mhd_PostTextState
      - name: name_idx
        type: size_t
      - name: name_len
        type: size_t
      - name: value_idx
        type: size_t
      - name: value_len
        type: size_t
      item_type: struct
      name: mhd_PostParserTextData
      pos:
        line_end: 536
        line_start: 504
        source_file: /src/mhd2/src/mhd2/mhd_post_parser.h
    - fields:
      - name: data
        type: struct mhd_Buffer
      - name: d_type
        type: enum mhd_PostParserPartProcType
      item_type: struct
      name: mhd_PostParserPartProcessedData
      pos:
        line_end: 597
        line_start: 586
        source_file: /src/mhd2/src/mhd2/mhd_post_parser.h
    - fields:
      - name: parse_result
        type: enum MHD_PostParseResult
      - name: enc
        type: enum MHD_HTTP_PostEncoding
      - name: e_d
        type: union mhd_PostParserDetailedData
      - name: lbuf_used
        type: size_t
      - name: lbuf_limit
        type: size_t
      - name: some_data_provided
        type: bool
      - name: field_start
        type: size_t
      - name: force_streamed
        type: bool
      - name: value_off
        type: size_t
      - name: next_parse_pos
        type: size_t
      item_type: struct
      name: mhd_PostParserData
      pos:
        line_end: 657
        line_start: 602
        source_file: /src/mhd2/src/mhd2/mhd_post_parser.h
    typedefs: []
    union:
    - fields:
      - name: u_enc
        type: struct mhd_PostParserUrlEncData
      - name: m_form
        type: struct mhd_PostParserMPartFormData
      - name: text
        type: struct mhd_PostParserTextData
      item_type: union
      name: mhd_PostParserDetailedData
      pos:
        line_end: 558
        line_start: 542
        source_file: /src/mhd2/src/mhd2/mhd_post_parser.h
- function_names:
  - mhd_tls_multi_thread_cleanup
  source_file: /src/mhd2/src/mhd2/tls_multi_funcs.h
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: MHD_TLS_MULTI_FUNCS_H
      pos:
        line_end: 46
        line_start: 45
        source_file: /src/mhd2/src/mhd2/tls_multi_funcs.h
      type_or_value: '1'
    structs: []
    typedefs: []
    union: []
- function_names: []
  source_file: /src/mhd2/src/mhd2/mhd_rng.h
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: MHD_RNG_H
      pos:
        line_end: 46
        line_start: 45
        source_file: /src/mhd2/src/mhd2/mhd_rng.h
      type_or_value: '1'
    structs: []
    typedefs: []
    union: []
- function_names:
  - mhd_sckt_recv
  source_file: /src/mhd2/src/mhd2/sckt_recv.c
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - buf_append
  - "(1) MHD_FN_PAR_NONNULL_ (3)\nMHD_FN_PAR_OUT_SIZE_ (3, 2) MHD_FN_PAR_OUT_ (4)
    MHD_FN_PAR_CSTR_ (5)\nMHD_FN_PAR_IN_SIZE_ (7, 6) enum mhd_UpgradeHeaderBuildRes\nbuild_reply_header
    (struct MHD_Connection *restrict c,\n                    const size_t buf_size,\n
    \                   char buf[MHD_FN_PAR_DYN_ARR_SIZE_ (buf_size)],\n                    size_t
    *pbuf_used,\n                    const char *restrict upgrade_hdr_value,\n                    size_t
    num_headers,\n                    const struct MHD_NameValueCStr *restrict headers)"
  - "(1)\nMHD_FN_PAR_NONNULL_ (2) MHD_FN_PAR_CSTR_ (2)\nMHD_FN_PAR_IN_SIZE_ (4, 3)
    bool\nconnection_prepare_for_upgrade (\n  struct MHD_Connection *restrict c,\n
    \ const char *restrict upgrade_hdr_value,\n  size_t num_headers,\n  const struct
    MHD_NameValueCStr *restrict headers)"
  - mhd_upgrade_prep_for_action
  source_file: /src/mhd2/src/mhd2/upgrade_prep.c
  types:
    enum:
    - enumerators:
      - name: MHD_UPGRADE_HDR_BUILD_OK
        value: '0'
      - name: MHD_UPGRADE_HDR_BUILD_OTHER_ERR
      - name: MHD_UPGRADE_HDR_BUILD_NO_MEM
      item_type: enum
      name: mhd_UpgradeHeaderBuildRes
      pos:
        line_end: 124
        line_start: 108
        source_file: /src/mhd2/src/mhd2/upgrade_prep.c
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - mhd_recv_tls
  - mhd_recv
  source_file: /src/mhd2/src/mhd2/mhd_recv.c
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - response_add_auth_basic_challenge_int
  - MHD_response_add_auth_basic_challenge
  source_file: /src/mhd2/src/mhd2/response_auth_basic.c
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - mhd_TLS_GNU_IS_SUPPORTED
  - mhd_TLS_OPEN_IS_SUPPORTED
  - mhd_TLS_MBED_IS_SUPPORTED
  - mhd_TLS_MULTI_IS_SUPPORTED
  - mhd_tls_gnu_is_inited_fine
  - mhd_tls_open_is_inited_fine
  - mhd_tls_mbed_is_inited_fine
  - mhd_TLS_DATA
  - mhd_TLS_FUNC
  source_file: /src/mhd2/src/mhd2/mhd_tls_choice.h
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: MHD_TLS_CHOICE_H
      pos:
        line_end: 46
        line_start: 45
        source_file: /src/mhd2/src/mhd2/mhd_tls_choice.h
      type_or_value: '1'
    - item_type: preproc_def
      name: mhd_TLS_GNU_ENABLED
      pos:
        line_end: 65
        line_start: 64
        source_file: /src/mhd2/src/mhd2/mhd_tls_choice.h
      type_or_value: (1)
    - item_type: preproc_def
      name: mhd_TLS_GNU_ENABLED
      pos:
        line_end: 70
        line_start: 69
        source_file: /src/mhd2/src/mhd2/mhd_tls_choice.h
      type_or_value: (0)
    - item_type: preproc_def
      name: mhd_TLS_OPEN_ENABLED
      pos:
        line_end: 84
        line_start: 83
        source_file: /src/mhd2/src/mhd2/mhd_tls_choice.h
      type_or_value: (1)
    - item_type: preproc_def
      name: mhd_TLS_OPEN_ENABLED
      pos:
        line_end: 89
        line_start: 88
        source_file: /src/mhd2/src/mhd2/mhd_tls_choice.h
      type_or_value: (0)
    - item_type: preproc_def
      name: mhd_TLS_MBED_ENABLED
      pos:
        line_end: 103
        line_start: 102
        source_file: /src/mhd2/src/mhd2/mhd_tls_choice.h
      type_or_value: (1)
    - item_type: preproc_def
      name: mhd_TLS_MBED_ENABLED
      pos:
        line_end: 108
        line_start: 107
        source_file: /src/mhd2/src/mhd2/mhd_tls_choice.h
      type_or_value: (0)
    - item_type: preproc_def
      name: mhd_TLS_NUM_BACKENDS
      pos:
        line_end: 120
        line_start: 118
        source_file: /src/mhd2/src/mhd2/mhd_tls_choice.h
      type_or_value: (mhd_TLS_GNU_ENABLED + mhd_TLS_OPEN_ENABLED + mhd_TLS_MBED_ENABLED)
    - item_type: preproc_def
      name: mhd_TLS_MULTI_ENABLED
      pos:
        line_end: 146
        line_start: 145
        source_file: /src/mhd2/src/mhd2/mhd_tls_choice.h
      type_or_value: (1)
    - item_type: preproc_def
      name: mhd_TLS_MULTI_ENABLED
      pos:
        line_end: 152
        line_start: 151
        source_file: /src/mhd2/src/mhd2/mhd_tls_choice.h
      type_or_value: (0)
    - item_type: preproc_def
      name: mhd_TLS_FUNC_NAME_ID
      pos:
        line_end: 164
        line_start: 163
        source_file: /src/mhd2/src/mhd2/mhd_tls_choice.h
      type_or_value: multi
    - item_type: preproc_def
      name: mhd_TLS_DATA_NAME_ID
      pos:
        line_end: 168
        line_start: 167
        source_file: /src/mhd2/src/mhd2/mhd_tls_choice.h
      type_or_value: Multi
    - item_type: preproc_def
      name: mhd_TLS_MACRO_NAME_ID
      pos:
        line_end: 172
        line_start: 171
        source_file: /src/mhd2/src/mhd2/mhd_tls_choice.h
      type_or_value: MULTI
    - item_type: preproc_def
      name: mhd_TLS_FUNC_NAME_ID
      pos:
        line_end: 177
        line_start: 176
        source_file: /src/mhd2/src/mhd2/mhd_tls_choice.h
      type_or_value: gnu
    - item_type: preproc_def
      name: mhd_TLS_DATA_NAME_ID
      pos:
        line_end: 181
        line_start: 180
        source_file: /src/mhd2/src/mhd2/mhd_tls_choice.h
      type_or_value: Gnu
    - item_type: preproc_def
      name: mhd_TLS_MACRO_NAME_ID
      pos:
        line_end: 185
        line_start: 184
        source_file: /src/mhd2/src/mhd2/mhd_tls_choice.h
      type_or_value: GNU
    - item_type: preproc_def
      name: mhd_TLS_FUNC_NAME_ID
      pos:
        line_end: 190
        line_start: 189
        source_file: /src/mhd2/src/mhd2/mhd_tls_choice.h
      type_or_value: open
    - item_type: preproc_def
      name: mhd_TLS_DATA_NAME_ID
      pos:
        line_end: 194
        line_start: 193
        source_file: /src/mhd2/src/mhd2/mhd_tls_choice.h
      type_or_value: Open
    - item_type: preproc_def
      name: mhd_TLS_MACRO_NAME_ID
      pos:
        line_end: 198
        line_start: 197
        source_file: /src/mhd2/src/mhd2/mhd_tls_choice.h
      type_or_value: OPEN
    - item_type: preproc_def
      name: mhd_TLS_FUNC_NAME_ID
      pos:
        line_end: 203
        line_start: 202
        source_file: /src/mhd2/src/mhd2/mhd_tls_choice.h
      type_or_value: mbed
    - item_type: preproc_def
      name: mhd_TLS_DATA_NAME_ID
      pos:
        line_end: 207
        line_start: 206
        source_file: /src/mhd2/src/mhd2/mhd_tls_choice.h
      type_or_value: Mbed
    - item_type: preproc_def
      name: mhd_TLS_MACRO_NAME_ID
      pos:
        line_end: 211
        line_start: 210
        source_file: /src/mhd2/src/mhd2/mhd_tls_choice.h
      type_or_value: MBED
    - item_type: preproc_def
      name: mhd_TlsDaemonData
      pos:
        line_end: 256
        line_start: 255
        source_file: /src/mhd2/src/mhd2/mhd_tls_choice.h
      type_or_value: mhd_TLS_DATA (DaemonData)
    - item_type: preproc_def
      name: mhd_TlsConnData
      pos:
        line_end: 260
        line_start: 259
        source_file: /src/mhd2/src/mhd2/mhd_tls_choice.h
      type_or_value: mhd_TLS_DATA (ConnData)
    structs: []
    typedefs: []
    union: []
- function_names:
  - MHD_DCC_action_continue_zc
  - MHD_DCC_action_finish_with_footer
  - MHD_DCC_action_suspend
  source_file: /src/mhd2/src/mhd2/dcc_action.c
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - mhd_MACRO_CONCAT_
  - mhd_MACRO_CONCAT
  - mhd_MACRO_CONCAT3_
  - mhd_MACRO_CONCAT3
  source_file: /src/mhd2/src/mhd2/mhd_macro_concat.h
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: MHD_MACRO_CONCAT_H
      pos:
        line_end: 46
        line_start: 45
        source_file: /src/mhd2/src/mhd2/mhd_macro_concat.h
      type_or_value: '1'
    structs: []
    typedefs: []
    union: []
- function_names:
  - is_name_h2_allowed
  - "(1)\nMHD_FN_PAR_NONNULL_ (3) MHD_FN_PAR_CSTR_ (3)\nMHD_FN_PAR_NONNULL_ (5) MHD_FN_PAR_CSTR_
    (5) bool\nresponse_add_header_no_check (\n  struct MHD_Response *restrict response,\n
    \ size_t name_len,\n  const char *restrict name,\n  size_t value_len,\n  const
    char *restrict value)"
  - mhd_response_remove_all_headers
  - response_add_header_int
  - MHD_response_add_header
  - MHD_response_add_predef_header
  source_file: /src/mhd2/src/mhd2/response_add_header.c
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names: []
  source_file: /src/mhd2/src/mhd2/sys_sizet_type.h
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: MHD_SYS_SIZET_TYPE_H
      pos:
        line_end: 49
        line_start: 48
        source_file: /src/mhd2/src/mhd2/sys_sizet_type.h
      type_or_value: '1'
    structs: []
    typedefs: []
    union: []
- function_names:
  - MHD_request_get_info_fixed_sz
  - MHD_request_get_info_dynamic_sz
  source_file: /src/mhd2/src/mhd2/request_get_info.c
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - mhd_sleep
  - MHD_upgraded_recv
  - MHD_upgraded_send
  source_file: /src/mhd2/src/mhd2/upgraded_net.c
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: mhd_HAVE_MHD_SLEEP
      pos:
        line_end: 78
        line_start: 77
        source_file: /src/mhd2/src/mhd2/upgraded_net.c
      type_or_value: '1'
    structs: []
    typedefs: []
    union: []
- function_names: []
  source_file: /src/mhd2/src/mhd2/sys_file_fd.h
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: SYS_FILE_FD_H
      pos:
        line_end: 46
        line_start: 45
        source_file: /src/mhd2/src/mhd2/sys_file_fd.h
      type_or_value: '1'
    structs: []
    typedefs: []
    union: []
- function_names: []
  source_file: /src/mhd2/src/mhd2/sckt_recv.h
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: MHD_SCKT_RECV_H
      pos:
        line_end: 46
        line_start: 45
        source_file: /src/mhd2/src/mhd2/sckt_recv.h
      type_or_value: '1'
    structs: []
    typedefs: []
    union: []
- function_names:
  - mhd_stream_add_field_nullable
  - mhd_stream_add_field
  source_file: /src/mhd2/src/mhd2/request_funcs.c
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - mhd_log_extr_event_dereg_failed
  - mhd_daemon_extr_event_reg
  - mhd_daemon_extr_event_reg
  source_file: /src/mhd2/src/mhd2/extr_events_funcs.h
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: MHD_EXTR_EVENTS_FUNCS_H
      pos:
        line_end: 46
        line_start: 45
        source_file: /src/mhd2/src/mhd2/extr_events_funcs.h
      type_or_value: '1'
    structs: []
    typedefs: []
    union: []
- function_names:
  - mhd_itc_set_invalid
  - mhd_ITC_IS_VALID
  - mhd_itc_init
  - mhd_itc_activate
  - mhd_itc_r_fd
  - mhd_itc_clear
  - mhd_itc_destroy
  - mhd_itc_set_invalid
  - mhd_ITC_IS_VALID
  - mhd_itc_init
  - mhd_itc_init
  - mhd_itc_activate
  - mhd_itc_r_fd
  - mhd_itc_clear
  - mhd_itc_destroy
  - mhd_itc_set_invalid
  - mhd_ITC_IS_VALID
  - mhd_itc_init
  - mhd_itc_init
  - mhd_itc_nonblocking
  - mhd_itc_activate
  - mhd_itc_r_fd
  - mhd_itc_clear
  - mhd_itc_destroy
  - mhd_itc_destroy_chk
  - mhd_ITC_IS_INVALID
  source_file: /src/mhd2/src/mhd2/mhd_itc.h
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: MHD_ITC_H
      pos:
        line_end: 52
        line_start: 51
        source_file: /src/mhd2/src/mhd2/mhd_itc.h
      type_or_value: '1'
    - item_type: preproc_def
      name: mhd_ITC_NUM_FDS
      pos:
        line_end: 74
        line_start: 73
        source_file: /src/mhd2/src/mhd2/mhd_itc.h
      type_or_value: (1)
    - item_type: preproc_def
      name: mhd_ITC_WR_DATA
      pos:
        line_end: 105
        line_start: 104
        source_file: /src/mhd2/src/mhd2/mhd_itc.h
      type_or_value: ((uint_fast64_t){1})
    - item_type: preproc_def
      name: MHD_USE_PIPE2
      pos:
        line_end: 162
        line_start: 161
        source_file: /src/mhd2/src/mhd2/mhd_itc.h
      type_or_value: '1'
    - item_type: preproc_def
      name: mhd_ITC_NUM_FDS
      pos:
        line_end: 171
        line_start: 170
        source_file: /src/mhd2/src/mhd2/mhd_itc.h
      type_or_value: (2)
    - item_type: preproc_def
      name: MHD_HAVE_MHD_ITC_NONBLOCKING
      pos:
        line_end: 205
        line_start: 204
        source_file: /src/mhd2/src/mhd2/mhd_itc.h
      type_or_value: '1'
    - item_type: preproc_def
      name: mhd_ITC_NUM_FDS
      pos:
        line_end: 262
        line_start: 261
        source_file: /src/mhd2/src/mhd2/mhd_itc.h
      type_or_value: (2)
    structs: []
    typedefs: []
    union: []
- function_names:
  - mhd_request_get_auth_header_value
  source_file: /src/mhd2/src/mhd2/request_auth_get.c
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - dsettings_release
  - "(1) MHD_FN_PAR_NONNULL_ (2)\nMHD_FN_MUST_CHECK_RESULT_ enum MHD_StatusCode\ndaemon_set_basic_settings
    (struct MHD_Daemon *restrict d,\n                           struct DaemonOptions
    *restrict s)"
  - "(1) MHD_FN_PAR_NONNULL_ (2)\nMHD_FN_MUST_CHECK_RESULT_ enum MHD_StatusCode\ndaemon_set_work_mode
    (struct MHD_Daemon *restrict d,\n                      struct DaemonOptions *restrict
    s)"
  - create_bind_listen_stream_socket_inner
  - create_bind_listen_stream_socket
  - '(1) void

    detect_listen_type_and_port (struct MHD_Daemon *restrict d)'
  - detect_listen_type_and_port
  - init_epoll_fd
  - deinit_epoll_fd
  - "(1) MHD_FN_PAR_NONNULL_ (2) \\\n  MHD_FN_MUST_CHECK_RESULT_ enum MHD_StatusCode\ndaemon_choose_and_preinit_events
    (struct MHD_Daemon *restrict d,\n                                  struct DaemonOptions
    *restrict s)"
  - "(1) MHD_FN_PAR_NONNULL_ (2) \\\n  MHD_FN_MUST_CHECK_RESULT_ enum MHD_StatusCode\ndaemon_init_net
    (struct MHD_Daemon *restrict d,\n                 struct DaemonOptions *restrict
    s)"
  - daemon_deinit_net
  - dauth_init
  - "(1) MHD_FN_PAR_NONNULL_ (2) \\\n  MHD_FN_MUST_CHECK_RESULT_ enum MHD_StatusCode\ndaemon_init_auth_digest
    (struct MHD_Daemon *restrict d,\n                         struct DaemonOptions
    *restrict s)"
  - daemon_deinit_auth_digest
  - daemon_init_auth_digest
  - daemon_deinit_auth_digest
  - "(1) MHD_FN_PAR_NONNULL_ (2) \\\n  MHD_FN_MUST_CHECK_RESULT_ enum MHD_StatusCode\ndaemon_init_tls
    (struct MHD_Daemon *restrict d,\n                 struct DaemonOptions *restrict
    s)"
  - daemon_deinit_tls
  - "(1) MHD_FN_PAR_NONNULL_ (2) \\\n  MHD_FN_MUST_CHECK_RESULT_ enum MHD_StatusCode\ndaemon_init_large_buf
    (struct MHD_Daemon *restrict d,\n                       struct DaemonOptions *restrict
    s)"
  - '(1) void

    daemon_deinit_large_buf (struct MHD_Daemon *restrict d)'
  - init_kqueue_fd
  - deinit_kqueue_fd
  - '(1)

    MHD_FN_MUST_CHECK_RESULT_ enum MHD_StatusCode

    init_events_fd (struct MHD_Daemon *restrict d)'
  - '(1) void

    deinit_events_fd (struct MHD_Daemon *restrict d)'
  - '(1)

    MHD_FN_MUST_CHECK_RESULT_ enum MHD_StatusCode

    allocate_events (struct MHD_Daemon *restrict d)'
  - '(1) void

    deallocate_events (struct MHD_Daemon *restrict d)'
  - '(1)

    MHD_FN_MUST_CHECK_RESULT_ enum MHD_StatusCode

    init_daemon_fds_monitoring (struct MHD_Daemon *restrict d)'
  - '(1) void

    deinit_daemon_fds_monitoring (struct MHD_Daemon *restrict d)'
  - "(1) MHD_FN_PAR_NONNULL_ (2)\nMHD_FN_MUST_CHECK_RESULT_ enum MHD_StatusCode\ninit_individual_conns
    (struct MHD_Daemon *restrict d,\n                       struct DaemonOptions *restrict
    s)"
  - '(1) void

    deinit_individual_conns (struct MHD_Daemon *restrict d)'
  - "(1) MHD_FN_PAR_NONNULL_ (2)\nMHD_FN_MUST_CHECK_RESULT_ enum MHD_StatusCode\ninit_individual_thread_data_events_conns
    (struct MHD_Daemon *restrict d,\n                                          struct
    DaemonOptions *restrict s)"
  - '(1)

    MHD_FN_MUST_CHECK_RESULT_ enum MHD_StatusCode

    init_worker_only_data (struct MHD_Daemon *restrict d)'
  - '(1) void

    deinit_worker_only_data (struct MHD_Daemon *restrict d)'
  - "(1) MHD_FN_PAR_NONNULL_ (2)\nMHD_FN_MUST_CHECK_RESULT_ enum MHD_StatusCode\ninit_worker
    (struct MHD_Daemon *restrict d,\n             struct DaemonOptions *restrict s)"
  - '(1) void

    deinit_worker (struct MHD_Daemon *restrict d)'
  - "(1) MHD_FN_PAR_NONNULL_ (2)\nMHD_FN_MUST_CHECK_RESULT_ enum MHD_StatusCode\nset_connections_total_limits
    (struct MHD_Daemon *restrict d,\n                              struct DaemonOptions
    *restrict s)"
  - set_d_threading_type
  - "(1) void\ndeinit_workers_pool (struct MHD_Daemon *restrict d,\n                     unsigned
    int num_workers)"
  - '(1) void

    reset_master_only_areas (struct MHD_Daemon *restrict d)'
  - "(1) MHD_FN_PAR_NONNULL_ (2)\nMHD_FN_MUST_CHECK_RESULT_ enum MHD_StatusCode\ninit_workers_pool
    (struct MHD_Daemon *restrict d,\n                   struct DaemonOptions *restrict
    s)"
  - '(1)

    MHD_FN_MUST_CHECK_RESULT_ enum MHD_StatusCode

    init_master_only_data (struct MHD_Daemon *restrict d)'
  - "(1) MHD_FN_PAR_NONNULL_ (2)\nMHD_FN_MUST_CHECK_RESULT_ enum MHD_StatusCode\ninit_master
    (struct MHD_Daemon *restrict d,\n             struct DaemonOptions *restrict s)"
  - "(1) MHD_FN_PAR_NONNULL_ (2)\nMHD_FN_MUST_CHECK_RESULT_ enum MHD_StatusCode\ndaemon_init_threading_and_conn
    (struct MHD_Daemon *restrict d,\n                                struct DaemonOptions
    *restrict s)"
  - '(1) void

    daemon_deinit_threading_and_conn (struct MHD_Daemon *restrict d)'
  - '(1)

    MHD_FN_MUST_CHECK_RESULT_ enum MHD_StatusCode

    start_individual_daemon_thread (struct MHD_Daemon *restrict d)'
  - stop_individual_daemon_thread
  - "(1) void\nstop_worker_pool_threads (struct MHD_Daemon *restrict d,\n                          unsigned
    int num_workers)"
  - '(1)

    MHD_FN_MUST_CHECK_RESULT_ enum MHD_StatusCode

    start_worker_pool_threads (struct MHD_Daemon *restrict d)'
  - '(1)

    MHD_FN_MUST_CHECK_RESULT_ enum MHD_StatusCode

    daemon_start_threads (struct MHD_Daemon *restrict d)'
  - '(1) void

    daemon_stop_threads (struct MHD_Daemon *restrict d)'
  - '(1) void

    daemon_close_connections (struct MHD_Daemon *restrict d)'
  - "(1) MHD_FN_PAR_NONNULL_ (2)\nMHD_FN_MUST_CHECK_RESULT_ enum MHD_StatusCode\ndaemon_start_internal
    (struct MHD_Daemon *restrict d,\n                       struct DaemonOptions *restrict
    s)"
  - MHD_daemon_start
  - MHD_daemon_destroy
  source_file: /src/mhd2/src/mhd2/daemon_start.c
  types:
    enum:
    - enumerators:
      - name: mhd_SKT_UNKNOWN
        value: '-4'
      - name: mhd_SKT_UNIX
        value: '-1'
      - name: mhd_SKT_NON_IP
        value: '-2'
      - name: mhd_SKT_IP_V4_ONLY
        value: MHD_AF_INET4
      - name: mhd_SKT_NO_SOCKET
        value: MHD_AF_NONE
      - name: mhd_SKT_IP_V6_ONLY
        value: MHD_AF_INET6
      - name: mhd_SKT_IP_DUAL_REQUIRED
        value: MHD_AF_DUAL
      - name: mhd_SKT_IP_V4_WITH_V6_OPT
        value: MHD_AF_DUAL_v6_OPTIONAL
      - name: mhd_SKT_IP_V6_WITH_V4_OPT
        value: MHD_AF_DUAL_v4_OPTIONAL
      - name: mhd_SKT_IP_V4_WITH_FALLBACK
        value: '16'
      item_type: enum
      name: mhd_CreateSktType
      pos:
        line_end: 351
        line_start: 300
        source_file: /src/mhd2/src/mhd2/daemon_start.c
    preproc_defs:
    - item_type: preproc_def
      name: MHD_TCP_FASTOPEN_DEF_QUEUE_LEN
      pos:
        line_end: 113
        line_start: 112
        source_file: /src/mhd2/src/mhd2/daemon_start.c
      type_or_value: '64'
    - item_type: preproc_def
      name: TYPICAL_NOFILES_LIMIT
      pos:
        line_end: 3299
        line_start: 3298
        source_file: /src/mhd2/src/mhd2/daemon_start.c
      type_or_value: '(1024) '
    structs: []
    typedefs: []
    union:
    - fields:
      - name: sa
        type: struct sockaddr
      - name: sa_i4
        type: struct sockaddr_in
      - name: sa_stor
        type: struct sockaddr_storage
      item_type: union
      name: mhd_SockaddrAny
      pos:
        line_end: 294
        line_start: 286
        source_file: /src/mhd2/src/mhd2/daemon_start.c
- function_names:
  - isasciilower
  - isasciiupper
  - isasciialpha
  - isasciidigit
  - isasciixdigit
  - isasciialnum
  - toasciilower
  - toasciiupper
  - todigitvalue
  - xdigittovalue
  - valuetoxdigit
  - uint8totwoxdigits
  - charsequalcaseless
  - charsequallowercase
  - isasciilower
  - isasciiupper
  - isasciialpha
  - isasciidigit
  - isasciixdigit
  - isasciialnum
  - toasciilower
  - toasciiupper
  - todigitvalue
  - xdigittovalue
  - valuetoxdigit
  - valuetoxdigit
  - charsequalcaseless
  - charsequallowercase
  - mhd_str_equal_caseless
  - mhd_str_equal_caseless_n
  - mhd_str_equal_caseless_bin_n
  - mhd_str_equal_lowercase_bin_n
  - mhd_str_to_lowercase_bin_n
  - mhd_str_is_lowercase_bin_n
  - mhd_str_to_uppercase_bin_n
  - mhd_str_has_token_caseless
  - mhd_str_remove_token_caseless
  - mhd_str_remove_tokens_caseless
  - mhd_str_to_uint64
  - mhd_str_to_uint64_n
  - mhd_strx_to_uint32
  - mhd_strx_to_uint32_n
  - mhd_strx_to_uint64
  - mhd_strx_to_uint64_n
  - mhd_str_to_uvalue_n
  - mhd_uint32_to_strx
  - mhd_uint16_to_str
  - mhd_uint64_to_str
  - mhd_uint8_to_str_pad
  - mhd_bin_to_hex
  - mhd_bin_to_hex_z
  - mhd_hex_to_bin
  - mhd_str_pct_decode_strict_n
  - mhd_str_pct_decode_lenient_n
  - mhd_str_pct_decode_in_place_strict
  - mhd_str_pct_decode_in_place_lenient
  - pct_decode_no_slash
  - mhd_str_dec_norm_uri_path
  - mhd_str_equal_quoted_bin_n
  - mhd_str_equal_caseless_quoted_bin_n
  - mhd_str_unquote
  - base64_char_to_value_
  - mhd_base64_to_bin_n
  - base64_char_to_value_
  - mhd_str_starts_with_token_opt_param
  - mhd_str_starts_with_token_req_param
  source_file: /src/mhd2/src/mhd2/mhd_str.c
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: mhd_static_inline
      pos:
        line_end: 64
        line_start: 63
        source_file: /src/mhd2/src/mhd2/mhd_str.c
      type_or_value: static
    - item_type: preproc_def
      name: HAVE_INLINE_FUNCS
      pos:
        line_end: 66
        line_start: 65
        source_file: /src/mhd2/src/mhd2/mhd_str.c
      type_or_value: '1'
    - item_type: preproc_def
      name: mhd_HAVE_UINT8TOTWOXDIGITS
      pos:
        line_end: 824
        line_start: 823
        source_file: /src/mhd2/src/mhd2/mhd_str.c
      type_or_value: '1'
    - item_type: preproc_def
      name: MHD_BASE64_FUNC_VERSION
      pos:
        line_end: 2779
        line_start: 2778
        source_file: /src/mhd2/src/mhd2/mhd_str.c
      type_or_value: '1'
    - item_type: preproc_def
      name: MHD_BASE64_FUNC_VERSION
      pos:
        line_end: 2781
        line_start: 2780
        source_file: /src/mhd2/src/mhd2/mhd_str.c
      type_or_value: '3'
    - item_type: preproc_def
      name: mhd_base64_map_type
      pos:
        line_end: 2790
        line_start: 2789
        source_file: /src/mhd2/src/mhd2/mhd_str.c
      type_or_value: int
    - item_type: preproc_def
      name: mhd_base64_map_type
      pos:
        line_end: 2792
        line_start: 2791
        source_file: /src/mhd2/src/mhd2/mhd_str.c
      type_or_value: int8_t
    structs: []
    typedefs: []
    union: []
- function_names: []
  source_file: /src/mhd2/src/mhd2/response_funcs.h
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: MHD_RESPONSE_FUNCS_H
      pos:
        line_end: 46
        line_start: 45
        source_file: /src/mhd2/src/mhd2/response_funcs.h
      type_or_value: '1'
    structs: []
    typedefs: []
    union: []
- function_names: []
  source_file: /src/mhd2/src/mhd2/mhd_read_file.h
  types:
    enum:
    - enumerators:
      - name: mhd_FILE_READ_OK
        value: '0'
      - name: mhd_FILE_READ_OFFSET_TOO_LARGE
      - name: mhd_FILE_READ_EOF
      - name: mhd_FILE_READ_ERROR
      item_type: enum
      name: mhd_FileReadResult
      pos:
        line_end: 75
        line_start: 54
        source_file: /src/mhd2/src/mhd2/mhd_read_file.h
    preproc_defs:
    - item_type: preproc_def
      name: MHD_READ_FILE_H
      pos:
        line_end: 46
        line_start: 45
        source_file: /src/mhd2/src/mhd2/mhd_read_file.h
      type_or_value: '1'
    structs: []
    typedefs: []
    union: []
- function_names: []
  source_file: /src/mhd2/src/mhd2/response_from.h
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: MHD_RESPONSE_FROM_H
      pos:
        line_end: 47
        line_start: 46
        source_file: /src/mhd2/src/mhd2/response_from.h
      type_or_value: '1'
    structs: []
    typedefs: []
    union: []
- function_names:
  - MHD_daemon_event_update
  source_file: /src/mhd2/src/mhd2/daemon_event_update.c
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - mhd_SHA256_FUNC
  - mhd_SHA256_MACRO
  - mhd_SHA256_has_err
  - mhd_SHA256_get_err
  - mhd_SHA256_has_err
  - mhd_SHA256_get_err
  - mhd_SHA256_init
  - mhd_SHA256_update
  - mhd_SHA256_finish
  - mhd_SHA256_reset
  - mhd_SHA256_finish_reset
  - mhd_SHA256_deinit
  - mhd_SHA256_finish_deinit
  source_file: /src/mhd2/src/mhd2/mhd_sha256.h
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: MHD_SHA256_H
      pos:
        line_end: 53
        line_start: 52
        source_file: /src/mhd2/src/mhd2/mhd_sha256.h
      type_or_value: '1'
    - item_type: preproc_def
      name: mhd_SHA256_FUNC_NAME_ID
      pos:
        line_end: 69
        line_start: 68
        source_file: /src/mhd2/src/mhd2/mhd_sha256.h
      type_or_value: gtls
    - item_type: preproc_def
      name: mhd_SHA256_DATA_NAME_ID
      pos:
        line_end: 73
        line_start: 72
        source_file: /src/mhd2/src/mhd2/mhd_sha256.h
      type_or_value: Gtls
    - item_type: preproc_def
      name: mhd_SHA256_MACRO_NAME_ID
      pos:
        line_end: 77
        line_start: 76
        source_file: /src/mhd2/src/mhd2/mhd_sha256.h
      type_or_value: GTLS
    - item_type: preproc_def
      name: mhd_SHA256_FUNC_NAME_ID
      pos:
        line_end: 85
        line_start: 84
        source_file: /src/mhd2/src/mhd2/mhd_sha256.h
      type_or_value: ossl
    - item_type: preproc_def
      name: mhd_SHA256_DATA_NAME_ID
      pos:
        line_end: 89
        line_start: 88
        source_file: /src/mhd2/src/mhd2/mhd_sha256.h
      type_or_value: Ossl
    - item_type: preproc_def
      name: mhd_SHA256_MACRO_NAME_ID
      pos:
        line_end: 93
        line_start: 92
        source_file: /src/mhd2/src/mhd2/mhd_sha256.h
      type_or_value: OSSL
    - item_type: preproc_def
      name: mhd_SHA256_FUNC_NAME_ID
      pos:
        line_end: 101
        line_start: 100
        source_file: /src/mhd2/src/mhd2/mhd_sha256.h
      type_or_value: mtls
    - item_type: preproc_def
      name: mhd_SHA256_DATA_NAME_ID
      pos:
        line_end: 105
        line_start: 104
        source_file: /src/mhd2/src/mhd2/mhd_sha256.h
      type_or_value: Mtls
    - item_type: preproc_def
      name: mhd_SHA256_MACRO_NAME_ID
      pos:
        line_end: 109
        line_start: 108
        source_file: /src/mhd2/src/mhd2/mhd_sha256.h
      type_or_value: MTLS
    - item_type: preproc_def
      name: mhd_SHA256_FUNC_NAME_ID
      pos:
        line_end: 116
        line_start: 115
        source_file: /src/mhd2/src/mhd2/mhd_sha256.h
      type_or_value: blti
    - item_type: preproc_def
      name: mhd_SHA256_DATA_NAME_ID
      pos:
        line_end: 120
        line_start: 119
        source_file: /src/mhd2/src/mhd2/mhd_sha256.h
      type_or_value: Blti
    - item_type: preproc_def
      name: mhd_SHA256_MACRO_NAME_ID
      pos:
        line_end: 124
        line_start: 123
        source_file: /src/mhd2/src/mhd2/mhd_sha256.h
      type_or_value: BLTI
    - item_type: preproc_def
      name: mhd_Sha256Ctx
      pos:
        line_end: 148
        line_start: 147
        source_file: /src/mhd2/src/mhd2/mhd_sha256.h
      type_or_value: mhd_MACRO_CONCAT(mhd_Sha256Ctx,mhd_SHA256_DATA_NAME_ID)
    - item_type: preproc_def
      name: mhd_SHA256_HAS_EXT_ERROR
      pos:
        line_end: 155
        line_start: 154
        source_file: /src/mhd2/src/mhd2/mhd_sha256.h
      type_or_value: '1'
    structs: []
    typedefs: []
    union: []
- function_names:
  - mhd_mclock_deinit
  - mhd_mclock_re_init
  source_file: /src/mhd2/src/mhd2/mhd_mono_clock.h
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: MHD_MONO_CLOCK_H
      pos:
        line_end: 46
        line_start: 45
        source_file: /src/mhd2/src/mhd2/mhd_mono_clock.h
      type_or_value: '1'
    structs: []
    typedefs: []
    union: []
- function_names:
  - mhd_tls_gnu_global_init_once
  - mhd_tls_gnu_global_re_init
  - mhd_tls_gnu_is_edge_trigg_supported
  - mhd_tls_gnu_daemon_init
  - mhd_tls_gnu_thread_cleanup
  - mhd_tls_gnu_conn_get_tls_size
  - mhd_tls_gnu_conn_send
  - mhd_tls_gnu_conn_has_cstm_tr
  source_file: /src/mhd2/src/mhd2/tls_gnu_funcs.h
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: MHD_TLS_GNU_FUNCS_H
      pos:
        line_end: 46
        line_start: 45
        source_file: /src/mhd2/src/mhd2/tls_gnu_funcs.h
      type_or_value: '1'
    structs: []
    typedefs: []
    union: []
- function_names:
  - mhd_atomic_counter_init
  - mhd_atomic_counter_deinit
  - mhd_atomic_counter_get_inc_wrap
  - mhd_atomic_counter_inc
  - mhd_atomic_counter_get_inc
  - mhd_atomic_counter_get_dec
  - mhd_atomic_counter_inc
  - mhd_ATOMIC_COUNTER_TYPE::mhd_atomic_counter_get_inc
  - mhd_ATOMIC_COUNTER_TYPE::mhd_atomic_counter_get_dec
  - mhd_atomic_counter_get
  - mhd_atomic_counter_init
  - mhd_atomic_counter_deinit
  - mhd_atomic_counter_inc
  - mhd_atomic_counter_get_inc
  - mhd_atomic_counter_inc
  - mhd_atomic_counter_init
  - mhd_atomic_counter_deinit
  - mhd_atomic_counter_get_inc_wrap
  - mhd_atomic_counter_inc
  - mhd_atomic_counter_get_inc
  - mhd_atomic_counter_get_dec
  - mhd_ATOMIC_COUNTER_TYPE::mhd_atomic_counter_get_inc
  - mhd_ATOMIC_COUNTER_TYPE::mhd_atomic_counter_get_dec
  - mhd_atomic_counter_get
  source_file: /src/mhd2/src/mhd2/mhd_atomic_counter.h
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: MHD_ATOMIC_COUNTER_H
      pos:
        line_end: 47
        line_start: 46
        source_file: /src/mhd2/src/mhd2/mhd_atomic_counter.h
      type_or_value: '1'
    - item_type: preproc_def
      name: mhd_ATOMIC_COUNTER_TYPE
      pos:
        line_end: 62
        line_start: 61
        source_file: /src/mhd2/src/mhd2/mhd_atomic_counter.h
      type_or_value: size_t
    - item_type: preproc_def
      name: mhd_ATOMIC_COUNTER_MAX
      pos:
        line_end: 67
        line_start: 65
        source_file: /src/mhd2/src/mhd2/mhd_atomic_counter.h
      type_or_value: ((mhd_ATOMIC_COUNTER_TYPE) (~((mhd_ATOMIC_COUNTER_TYPE) 0)))
    - item_type: preproc_def
      name: mhd_ATOMIC_NATIVE
      pos:
        line_end: 76
        line_start: 75
        source_file: /src/mhd2/src/mhd2/mhd_atomic_counter.h
      type_or_value: '1'
    - item_type: preproc_def
      name: mhd_ATOMIC_BY_LOCKS
      pos:
        line_end: 81
        line_start: 80
        source_file: /src/mhd2/src/mhd2/mhd_atomic_counter.h
      type_or_value: '1'
    - item_type: preproc_def
      name: mhd_ATOMIC_SINGLE_THREAD
      pos:
        line_end: 89
        line_start: 88
        source_file: /src/mhd2/src/mhd2/mhd_atomic_counter.h
      type_or_value: '1'
    structs:
    - fields:
      - name: count
        type: mhd_ATOMIC_COUNTER_TYPE
      item_type: struct
      name: mhd_AtomicCounter
      pos:
        line_end: 103
        line_start: 97
        source_file: /src/mhd2/src/mhd2/mhd_atomic_counter.h
    - fields:
      - name: count
        type: mhd_ATOMIC_COUNTER_TYPE
      - name: lock
        type: mhd_mutex
      item_type: struct
      name: mhd_AtomicCounter
      pos:
        line_end: 123
        line_start: 112
        source_file: /src/mhd2/src/mhd2/mhd_atomic_counter.h
    - fields:
      - name: count
        type: mhd_ATOMIC_COUNTER_TYPE
      item_type: struct
      name: mhd_AtomicCounter
      pos:
        line_end: 136
        line_start: 130
        source_file: /src/mhd2/src/mhd2/mhd_atomic_counter.h
    typedefs: []
    union: []
- function_names: []
  source_file: /src/mhd2/src/mhd2/tls_gnu_daemon_data.h
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: MHD_TLS_GNU_DAEMON_DATA_H
      pos:
        line_end: 46
        line_start: 45
        source_file: /src/mhd2/src/mhd2/tls_gnu_daemon_data.h
      type_or_value: '1'
    structs:
    - fields:
      - name: cred
        type: gnutls_certificate_credentials_t
      - name: pri_cache
        type: gnutls_priority_t
      item_type: struct
      name: mhd_TlsGnuDaemonData
      pos:
        line_end: 90
        line_start: 60
        source_file: /src/mhd2/src/mhd2/tls_gnu_daemon_data.h
    typedefs: []
    union: []
- function_names:
  - mhd_MD5_blti_reset
  - mhd_MD5_blti_deinit
  source_file: /src/mhd2/src/mhd2/md5_builtin.h
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: MHD_MD5_BUILTIN_H
      pos:
        line_end: 46
        line_start: 45
        source_file: /src/mhd2/src/mhd2/md5_builtin.h
      type_or_value: '1'
    - item_type: preproc_def
      name: mhd_MD5_WORD_SIZE_BITS
      pos:
        line_end: 55
        line_start: 54
        source_file: /src/mhd2/src/mhd2/md5_builtin.h
      type_or_value: (32)
    - item_type: preproc_def
      name: mhd_MD5_BYTES_IN_WORD
      pos:
        line_end: 60
        line_start: 59
        source_file: /src/mhd2/src/mhd2/md5_builtin.h
      type_or_value: (mhd_MD5_WORD_SIZE_BITS / 8)
    - item_type: preproc_def
      name: mhd_MD5_HASH_SIZE_WORDS
      pos:
        line_end: 66
        line_start: 65
        source_file: /src/mhd2/src/mhd2/md5_builtin.h
      type_or_value: (4)
    - item_type: preproc_def
      name: mhd_MD5_DIGEST_SIZE_WORDS
      pos:
        line_end: 72
        line_start: 71
        source_file: /src/mhd2/src/mhd2/md5_builtin.h
      type_or_value: mhd_MD5_HASH_SIZE_WORDS
    - item_type: preproc_def
      name: mhd_MD5_DIGEST_SIZE
      pos:
        line_end: 80
        line_start: 78
        source_file: /src/mhd2/src/mhd2/md5_builtin.h
      type_or_value: (mhd_MD5_DIGEST_SIZE_WORDS * mhd_MD5_BYTES_IN_WORD)
    - item_type: preproc_def
      name: mhd_MD5_BLOCK_SIZE_BITS
      pos:
        line_end: 86
        line_start: 85
        source_file: /src/mhd2/src/mhd2/md5_builtin.h
      type_or_value: '512'
    - item_type: preproc_def
      name: mhd_MD5_BLOCK_SIZE
      pos:
        line_end: 91
        line_start: 90
        source_file: /src/mhd2/src/mhd2/md5_builtin.h
      type_or_value: (mhd_MD5_BLOCK_SIZE_BITS / 8)
    - item_type: preproc_def
      name: mhd_MD5_BLOCK_SIZE_WORDS
      pos:
        line_end: 97
        line_start: 95
        source_file: /src/mhd2/src/mhd2/md5_builtin.h
      type_or_value: (mhd_MD5_BLOCK_SIZE_BITS / mhd_MD5_WORD_SIZE_BITS)
    - item_type: preproc_def
      name: mhd_MD5_BLTI_EXT_ERROR_FLAG
      pos:
        line_end: 115
        line_start: 114
        source_file: /src/mhd2/src/mhd2/md5_builtin.h
      type_or_value: '0'
    - item_type: preproc_def
      name: mhd_MD5_BLTI_DEINIT_NOOP_FLAG
      pos:
        line_end: 180
        line_start: 179
        source_file: /src/mhd2/src/mhd2/md5_builtin.h
      type_or_value: '1'
    structs:
    - fields:
      - name: H[mhd_MD5_HASH_SIZE_WORDS]
        type: uint32_t
      - name: buffer[mhd_MD5_BLOCK_SIZE_WORDS]
        type: uint32_t
      - name: count
        type: uint64_t
      item_type: struct
      name: mhd_Md5CtxBlti
      pos:
        line_end: 107
        line_start: 102
        source_file: /src/mhd2/src/mhd2/md5_builtin.h
    typedefs: []
    union: []
- function_names:
  - mhd_DLNKDL_LIST_TYPE_
  - mhd_DLNKDL_LINKS_TYPE_
  - mhd_DLNKDL_LIST_TYPE
  - mhd_DLNKDL_LINKS_TYPE
  - mhd_DLINKEDL_LIST_DEF
  - mhd_DLINKEDL_LINKS_DEF
  - mhd_DLINKEDL_STRUCTS_DEFS
  - mhd_DLNKDL_LIST
  - mhd_DLNKDL_LINKS
  - mhd_DLINKEDL_INIT_LIST_D
  - mhd_DLINKEDL_INS_FIRST_D
  - mhd_DLINKEDL_INS_LAST_D
  - mhd_DLINKEDL_DEL_D
  - mhd_DLINKEDL_GET_FIRST_D
  - mhd_DLINKEDL_GET_LAST_D
  - mhd_DLINKEDL_MOVE_TO_FIRST_D
  - mhd_DLINKEDL_INIT_LIST
  - mhd_DLINKEDL_INIT_LINKS
  - mhd_DLINKEDL_INS_FIRST
  - mhd_DLINKEDL_INS_LAST
  - mhd_DLINKEDL_DEL
  - mhd_DLINKEDL_GET_FIRST
  - mhd_DLINKEDL_GET_LAST
  - mhd_DLINKEDL_GET_NEXT
  - mhd_DLINKEDL_GET_PREV
  source_file: /src/mhd2/src/mhd2/mhd_dlinked_list.h
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: MHD_DLINKED_LIST_H
      pos:
        line_end: 50
        line_start: 49
        source_file: /src/mhd2/src/mhd2/mhd_dlinked_list.h
      type_or_value: '1'
    structs: []
    typedefs: []
    union: []
- function_names:
  - mhd_tls_global_init_once
  - mhd_tls_global_deinit
  - mhd_tls_global_re_init
  - mhd_tls_is_edge_trigg_supported
  - mhd_tls_daemon_init
  - mhd_tls_daemon_deinit
  - mhd_tls_thread_cleanup
  - mhd_tls_conn_get_tls_size
  - mhd_tls_conn_init
  - mhd_tls_conn_deinit
  - mhd_tls_conn_handshake
  - mhd_tls_conn_shutdown
  - mhd_tls_conn_recv
  - mhd_tls_conn_has_data_in
  - mhd_tls_conn_send
  - mhd_tls_conn_has_cstm_tr
  - mhd_tls_conn_get_tls_sess
  - mhd_tls_conn_get_tls_ver
  - mhd_tls_conn_get_alpn_prot
  source_file: /src/mhd2/src/mhd2/mhd_tls_funcs.h
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: MHD_TLS_FUNCS_H
      pos:
        line_end: 47
        line_start: 46
        source_file: /src/mhd2/src/mhd2/mhd_tls_funcs.h
      type_or_value: '1'
    structs: []
    typedefs: []
    union: []
- function_names: []
  source_file: /src/mhd2/src/mhd2/sha512_256_openssl.h
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: MHD_SHA512_256_OPENSSL_H
      pos:
        line_end: 45
        line_start: 44
        source_file: /src/mhd2/src/mhd2/sha512_256_openssl.h
      type_or_value: '1'
    - item_type: preproc_def
      name: mhd_SHA512_256_DIGEST_SIZE
      pos:
        line_end: 57
        line_start: 56
        source_file: /src/mhd2/src/mhd2/sha512_256_openssl.h
      type_or_value: (32)
    - item_type: preproc_def
      name: mhd_SHA512_256_OSSL_EXT_ERROR_FLAG
      pos:
        line_end: 77
        line_start: 76
        source_file: /src/mhd2/src/mhd2/sha512_256_openssl.h
      type_or_value: '1'
    - item_type: preproc_def
      name: mhd_SHA512_256_OSSL_DEINIT_NOOP_FLAG
      pos:
        line_end: 165
        line_start: 164
        source_file: /src/mhd2/src/mhd2/sha512_256_openssl.h
      type_or_value: '0'
    structs:
    - fields:
      - name: '*ossl_ctx'
        type: struct evp_md_ctx_st
      - name: ext_error
        type: bool
      item_type: struct
      name: mhd_Sha512_256CtxOssl
      pos:
        line_end: 69
        line_start: 65
        source_file: /src/mhd2/src/mhd2/sha512_256_openssl.h
    typedefs: []
    union: []
- function_names:
  - mhd_assert
  - mhd_assert
  - mhd_assert
  - mhd_assert
  source_file: /src/mhd2/src/mhd2/mhd_assert.h
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: MHD_ASSERT_H
      pos:
        line_end: 49
        line_start: 48
        source_file: /src/mhd2/src/mhd2/mhd_assert.h
      type_or_value: '1'
    - item_type: preproc_def
      name: NDEBUG
      pos:
        line_end: 55
        line_start: 54
        source_file: /src/mhd2/src/mhd2/mhd_assert.h
      type_or_value: '1 '
    - item_type: preproc_def
      name: _DEBUG
      pos:
        line_end: 57
        line_start: 56
        source_file: /src/mhd2/src/mhd2/mhd_assert.h
      type_or_value: '1 '
    structs: []
    typedefs: []
    union: []
- function_names:
  - mhd_conn_get_timeout_left
  - mhd_conn_is_timeout_expired
  - mhd_conn_init_activity_timeout
  - mhd_conn_deinit_activity_timeout
  - mhd_conn_update_activity_mark
  source_file: /src/mhd2/src/mhd2/conn_timeout.c
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names: []
  source_file: /src/mhd2/src/mhd2/mempool_funcs.h
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: MHD_MEMPOOL_FUNCS_H
      pos:
        line_end: 50
        line_start: 49
        source_file: /src/mhd2/src/mhd2/mempool_funcs.h
      type_or_value: '1'
    - item_type: preproc_def
      name: mhd_MEMPOOL_ALIGN_SIZE
      pos:
        line_end: 62
        line_start: 61
        source_file: /src/mhd2/src/mhd2/mempool_funcs.h
      type_or_value: __BIGGEST_ALIGNMENT__
    - item_type: preproc_def
      name: mhd_MEMPOOL_ALIGN_SIZE
      pos:
        line_end: 68
        line_start: 67
        source_file: /src/mhd2/src/mhd2/mempool_funcs.h
      type_or_value: (2 * sizeof(void*))
    structs: []
    typedefs: []
    union: []
- function_names:
  - mhd_conn_event_loop_state_update
  - process_http_comm_layer
  - finish_resume
  - mhd_conn_process_data
  source_file: /src/mhd2/src/mhd2/stream_process_states.c
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names: []
  source_file: /src/mhd2/src/mhd2/mhd_postfield_int.h
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: MHD_POSTFIELD_INT_H
      pos:
        line_end: 46
        line_start: 45
        source_file: /src/mhd2/src/mhd2/mhd_postfield_int.h
      type_or_value: '1'
    structs:
    - fields:
      - name: pos
        type: size_t
      - name: len
        type: size_t
      item_type: struct
      name: mhd_PositionAndLength
      pos:
        line_end: 64
        line_start: 54
        source_file: /src/mhd2/src/mhd2/mhd_postfield_int.h
    - fields:
      - name: name
        type: struct mhd_PositionAndLength
      - name: value
        type: struct mhd_PositionAndLength
      - name: filename
        type: struct mhd_PositionAndLength
      - name: content_type
        type: struct mhd_PositionAndLength
      - name: transfer_encoding
        type: struct mhd_PositionAndLength
      item_type: struct
      name: mhd_PostFieldInt
      pos:
        line_end: 100
        line_start: 66
        source_file: /src/mhd2/src/mhd2/mhd_postfield_int.h
    typedefs: []
    union: []
- function_names:
  - MHD_request_resume
  source_file: /src/mhd2/src/mhd2/request_resume.c
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - mhd_ARR_NUM_ELEMS
  source_file: /src/mhd2/src/mhd2/mhd_arr_num_elems.h
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: MHD_ARR_NUM_ELEMS_H
      pos:
        line_end: 46
        line_start: 45
        source_file: /src/mhd2/src/mhd2/mhd_arr_num_elems.h
      type_or_value: '1'
    structs: []
    typedefs: []
    union: []
- function_names:
  - mhd_LOG_MSG
  - mhd_MSG4LOG
  - mhd_LOG_FMT
  - mhd_LOG_MSG
  - mhd_LOG_PRINT
  - mhd_LOG_PRINT
  - mhd_LOG_MSG
  - mhd_MSG4LOG
  - mhd_LOG_FMT
  source_file: /src/mhd2/src/mhd2/daemon_logger.h
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: MHD_DAEMON_LOGGER_H
      pos:
        line_end: 46
        line_start: 45
        source_file: /src/mhd2/src/mhd2/daemon_logger.h
      type_or_value: '1'
    - item_type: preproc_def
      name: mhd_LOG_PRINT
      pos:
        line_end: 97
        line_start: 96
        source_file: /src/mhd2/src/mhd2/daemon_logger.h
      type_or_value: mhd_logger
    structs: []
    typedefs: []
    union: []
- function_names:
  - offsetof
  source_file: /src/mhd2/src/mhd2/sys_offsetof.h
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: MHD_SYS_OFFSETOF_H
      pos:
        line_end: 46
        line_start: 45
        source_file: /src/mhd2/src/mhd2/sys_offsetof.h
      type_or_value: '1'
    structs: []
    typedefs: []
    union: []
- function_names: []
  source_file: /src/mhd2/src/mhd2/tls_gnu_tls_lib.h
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: MHD_TLS_GNU_TLS_LIB_H
      pos:
        line_end: 46
        line_start: 45
        source_file: /src/mhd2/src/mhd2/tls_gnu_tls_lib.h
      type_or_value: '1'
    - item_type: preproc_def
      name: mhd_TLS_GNU_HAS_RFC7919_DEFS
      pos:
        line_end: 64
        line_start: 63
        source_file: /src/mhd2/src/mhd2/tls_gnu_tls_lib.h
      type_or_value: '1'
    - item_type: preproc_def
      name: mhd_TLS_GNU_DH_PARAMS_USE_KNOWN
      pos:
        line_end: 72
        line_start: 71
        source_file: /src/mhd2/src/mhd2/tls_gnu_tls_lib.h
      type_or_value: '1'
    - item_type: preproc_def
      name: mhd_TLS_GNU_DH_PARAMS_NEEDS_PKCS3
      pos:
        line_end: 77
        line_start: 76
        source_file: /src/mhd2/src/mhd2/tls_gnu_tls_lib.h
      type_or_value: '1'
    - item_type: preproc_def
      name: mhd_TLS_GNU_HAS_SET_DEF_PRIORITY
      pos:
        line_end: 85
        line_start: 84
        source_file: /src/mhd2/src/mhd2/tls_gnu_tls_lib.h
      type_or_value: '1'
    - item_type: preproc_def
      name: mhd_TLS_GNU_TREATS_NULL_AS_DEF_PRIORITY
      pos:
        line_end: 93
        line_start: 92
        source_file: /src/mhd2/src/mhd2/tls_gnu_tls_lib.h
      type_or_value: '1'
    - item_type: preproc_def
      name: mhd_TLS_GNU_NULL_PRIO_CACHE_MEANS_DEF_PRIORITY
      pos:
        line_end: 102
        line_start: 101
        source_file: /src/mhd2/src/mhd2/tls_gnu_tls_lib.h
      type_or_value: '1'
    - item_type: preproc_def
      name: mhd_TLS_GNU_HAS_PRIORITY_INIT2
      pos:
        line_end: 110
        line_start: 109
        source_file: /src/mhd2/src/mhd2/tls_gnu_tls_lib.h
      type_or_value: '1'
    - item_type: preproc_def
      name: mhd_TLS_GNU_SUPPORTS_MULTI_KEYWORDS_PRIORITY
      pos:
        line_end: 118
        line_start: 117
        source_file: /src/mhd2/src/mhd2/tls_gnu_tls_lib.h
      type_or_value: '1'
    - item_type: preproc_def
      name: mhd_TLS_GNU_HAS_NO_SIGNAL
      pos:
        line_end: 125
        line_start: 124
        source_file: /src/mhd2/src/mhd2/tls_gnu_tls_lib.h
      type_or_value: '1'
    - item_type: preproc_def
      name: mhd_TLS_GNU_HAS_TRANSP_SET_INT
      pos:
        line_end: 132
        line_start: 131
        source_file: /src/mhd2/src/mhd2/tls_gnu_tls_lib.h
      type_or_value: '1'
    - item_type: preproc_def
      name: mhd_TLS_GNU_HAS_ALPN
      pos:
        line_end: 140
        line_start: 139
        source_file: /src/mhd2/src/mhd2/tls_gnu_tls_lib.h
      type_or_value: '1'
    structs: []
    typedefs: []
    union: []
- function_names: []
  source_file: /src/mhd2/src/mhd2/mhd_str_types.h
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: MHD_STR_TYPES_H
      pos:
        line_end: 46
        line_start: 45
        source_file: /src/mhd2/src/mhd2/mhd_str_types.h
      type_or_value: '1'
    - item_type: preproc_def
      name: MHD_STRINGS_DEFINED
      pos:
        line_end: 91
        line_start: 90
        source_file: /src/mhd2/src/mhd2/mhd_str_types.h
      type_or_value: '1'
    structs:
    - fields:
      - name: len
        type: size_t
      - name: '*cstr'
        type: char
      item_type: struct
      name: MHD_String
      pos:
        line_end: 69
        line_start: 57
        source_file: /src/mhd2/src/mhd2/mhd_str_types.h
    - fields:
      - name: len
        type: size_t
      - name: '*cstr'
        type: char
      item_type: struct
      name: MHD_StringNullable
      pos:
        line_end: 88
        line_start: 75
        source_file: /src/mhd2/src/mhd2/mhd_str_types.h
    typedefs: []
    union: []
- function_names:
  - mhd_log_extr_event_dereg_failed
  source_file: /src/mhd2/src/mhd2/extr_events_funcs.c
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - respond_with_error_len
  source_file: /src/mhd2/src/mhd2/respond_with_error.c
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names: []
  source_file: /src/mhd2/src/mhd2/stream_process_request.h
  types:
    enum:
    - enumerators:
      - name: mhd_CONN_BUFF_GROW_OK
        value: 0u
      - name: mhd_CONN_BUFF_GROW_ERR_REPLY
      - name: mhd_CONN_BUFF_GROW_ERR_CONN_CLOSE
      item_type: enum
      name: mhd_ConnectionBufferGrowResult
      pos:
        line_end: 244
        line_start: 230
        source_file: /src/mhd2/src/mhd2/stream_process_request.h
    preproc_defs:
    - item_type: preproc_def
      name: MHD_STREAM_PROCESS_REQUEST_H
      pos:
        line_end: 51
        line_start: 50
        source_file: /src/mhd2/src/mhd2/stream_process_request.h
      type_or_value: '1'
    structs: []
    typedefs:
    - item_type: typedef
      name: "(MHD_FN_PAR_NONNULL_ (2) MHD_FN_PAR_NONNULL_ (3)\n *mhd_GetArgumentInter)(void
        *restrict cls,\n                        const struct MHD_String *restrict
        name,\n                        const struct MHD_StringNullable *restrict value)"
      pos:
        line_end: 75
        line_start: 71
        source_file: /src/mhd2/src/mhd2/stream_process_request.h
      type: bool
    union: []
- function_names:
  - STATUSES_BLOCK
  - MHD_HTTP_status_code_to_string
  - mhd_HTTP_status_code_to_string_int
  source_file: /src/mhd2/src/mhd2/http_status_str.c
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: UNUSED_STATUS
      pos:
        line_end: 55
        line_start: 54
        source_file: /src/mhd2/src/mhd2/http_status_str.c
      type_or_value: '{0, NULL}'
    structs:
    - fields:
      - name: num_elmnts
        type: size_t
      - name: '*const data'
        type: struct MHD_String
      item_type: struct
      name: mhd_HttpStatusesBlock
      pos:
        line_end: 184
        line_start: 180
        source_file: /src/mhd2/src/mhd2/http_status_str.c
    typedefs: []
    union: []
- function_names: []
  source_file: /src/mhd2/src/mhd2/sckt_send.h
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: MHD_SCKT_SEND_H
      pos:
        line_end: 48
        line_start: 47
        source_file: /src/mhd2/src/mhd2/sckt_send.h
      type_or_value: '1'
    structs: []
    typedefs: []
    union: []
- function_names: []
  source_file: /src/mhd2/src/mhd2/response_options.h
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: MHD_RESPONSE_OPTIONS_H
      pos:
        line_end: 9
        line_start: 8
        source_file: /src/mhd2/src/mhd2/response_options.h
      type_or_value: '1'
    structs:
    - fields:
      - name: reusable
        type: enum MHD_Bool
      - name: head_only_response
        type: enum MHD_Bool
      - name: chunked_enc
        type: enum MHD_Bool
      - name: conn_close
        type: enum MHD_Bool
      - name: http_1_0_compatible_strict
        type: enum MHD_Bool
      - name: http_1_0_server
        type: enum MHD_Bool
      - name: insanity_header_content_length
        type: enum MHD_Bool
      - name: termination_callback
        type: struct MHD_ResponseOptionValueEndedCB
      item_type: struct
      name: ResponseOptions
      pos:
        line_end: 65
        line_start: 13
        source_file: /src/mhd2/src/mhd2/response_options.h
    typedefs: []
    union: []
- function_names:
  - MHD_connection_get_info_fixed_sz
  - MHD_connection_get_info_dynamic_sz
  source_file: /src/mhd2/src/mhd2/conn_get_info.c
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names: []
  source_file: /src/mhd2/src/mhd2/mhd_socket_type.h
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: MHD_SOCKET_TYPE_H
      pos:
        line_end: 48
        line_start: 47
        source_file: /src/mhd2/src/mhd2/mhd_socket_type.h
      type_or_value: '1'
    - item_type: preproc_def
      name: MHD_SOCKETS_KIND_POSIX
      pos:
        line_end: 54
        line_start: 53
        source_file: /src/mhd2/src/mhd2/mhd_socket_type.h
      type_or_value: '1 '
    - item_type: preproc_def
      name: MHD_INVALID_SOCKET
      pos:
        line_end: 64
        line_start: 63
        source_file: /src/mhd2/src/mhd2/mhd_socket_type.h
      type_or_value: (-1)
    - item_type: preproc_def
      name: MHD_SOCKETS_KIND_WINSOCK
      pos:
        line_end: 66
        line_start: 65
        source_file: /src/mhd2/src/mhd2/mhd_socket_type.h
      type_or_value: '1 '
    - item_type: preproc_def
      name: MHD_INVALID_SOCKET
      pos:
        line_end: 75
        line_start: 74
        source_file: /src/mhd2/src/mhd2/mhd_socket_type.h
      type_or_value: (INVALID_SOCKET)
    structs: []
    typedefs:
    - item_type: typedef
      name: MHD_Socket
      pos:
        line_end: 59
        line_start: 59
        source_file: /src/mhd2/src/mhd2/mhd_socket_type.h
      type: int
    - item_type: typedef
      name: MHD_Socket
      pos:
        line_end: 70
        line_start: 70
        source_file: /src/mhd2/src/mhd2/mhd_socket_type.h
      type: SOCKET
    union: []
- function_names:
  - mhd_itc_nonblocking
  source_file: /src/mhd2/src/mhd2/mhd_itc.c
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - simple_hash
  - nonce_to_index
  - gen_new_nonce
  - mhd_auth_digest_get_new_nonce
  - get_rq_dauth_algo
  - get_rq_dauth_qop
  - parse_dauth_params
  - get_rq_auth_digest_params
  - get_rq_uname_type
  - get_rq_unames_size
  - get_rq_param_unquoted_copy_z
  - get_rq_extended_uname_copy_z
  - get_rq_uname
  - get_rq_nc
  - find_and_parse_auth_digest_info
  - mhd_request_get_auth_digest_info
  - get_base_digest_algo
  - digest_get_hash_size
  - MHD_digest_get_hash_size
  - digest_get_size
  - digest_setup_zero
  - digest_deinit
  - digest_setup_zero
  - digest_deinit
  - digest_init_one_time
  - digest_update
  - digest_update_str
  - digest_update_cbuf
  - digest_update_buf
  - digest_update_with_colon
  - digest_calc_hash
  - digest_reset
  - digest_has_error
  - digest_has_error
  - calc_userdigest
  - MHD_digest_auth_calc_userdigest
  - calc_userhash
  - MHD_digest_auth_calc_userhash
  - MHD_digest_auth_calc_userhash_hex
  - uint_fast32_t::get_nonce_timestamp
  - check_nonce_nc
  - "(2) MHD_FN_PAR_NONNULL_ (3) bool\ntest_header (void *restrict cls,\n             const
    struct MHD_String *restrict name,\n             const struct MHD_StringNullable
    *restrict value)"
  - check_argument_match
  - check_uri_match
  - get_buffer_for_size
  - get_unquoted_param
  - get_unquoted_param_copy
  - is_param_equal
  - is_param_equal_caseless
  - digest_auth_check_all_inner
  - digest_auth_check_all
  - MHD_digest_auth_check
  - MHD_digest_auth_check_digest
  source_file: /src/mhd2/src/mhd2/auth_digest.c
  types:
    enum:
    - enumerators:
      - name: mhd_CHECK_NONCENC_OK
        value: MHD_DAUTH_OK
      - name: mhd_CHECK_NONCENC_STALE
        value: MHD_DAUTH_NONCE_STALE
      - name: mhd_CHECK_NONCENC_WRONG
        value: MHD_DAUTH_NONCE_WRONG
      item_type: enum
      name: mhd_CheckNonceNC
      pos:
        line_end: 2147
        line_start: 2129
        source_file: /src/mhd2/src/mhd2/auth_digest.c
    - enumerators:
      - name: mhd_UNQ_OK
        value: MHD_DAUTH_OK
      - name: mhd_UNQ_TOO_LARGE
        value: MHD_DAUTH_TOO_LARGE
      - name: mhd_UNQ_OUT_OF_MEM
        value: MHD_DAUTH_ERROR
      item_type: enum
      name: mhd_GetUnqResult
      pos:
        line_end: 2519
        line_start: 2514
        source_file: /src/mhd2/src/mhd2/auth_digest.c
    preproc_defs:
    - item_type: preproc_def
      name: mhd_MAX_DIGEST
      pos:
        line_end: 98
        line_start: 97
        source_file: /src/mhd2/src/mhd2/auth_digest.c
      type_or_value: mhd_SHA512_256_DIGEST_SIZE
    - item_type: preproc_def
      name: mhd_MAX_DIGEST
      pos:
        line_end: 100
        line_start: 99
        source_file: /src/mhd2/src/mhd2/auth_digest.c
      type_or_value: mhd_SHA256_DIGEST_SIZE
    - item_type: preproc_def
      name: mhd_MAX_DIGEST
      pos:
        line_end: 102
        line_start: 101
        source_file: /src/mhd2/src/mhd2/auth_digest.c
      type_or_value: mhd_MD5_DIGEST_SIZE
    - item_type: preproc_def
      name: mhd_MD5_TOKEN
      pos:
        line_end: 108
        line_start: 107
        source_file: /src/mhd2/src/mhd2/auth_digest.c
      type_or_value: '"MD5"'
    - item_type: preproc_def
      name: mhd_SHA256_TOKEN
      pos:
        line_end: 113
        line_start: 112
        source_file: /src/mhd2/src/mhd2/auth_digest.c
      type_or_value: '"SHA-256"'
    - item_type: preproc_def
      name: mhd_SHA512_256_TOKEN
      pos:
        line_end: 118
        line_start: 117
        source_file: /src/mhd2/src/mhd2/auth_digest.c
      type_or_value: '"SHA-512-256"'
    - item_type: preproc_def
      name: mhd_SESS_TOKEN
      pos:
        line_end: 123
        line_start: 122
        source_file: /src/mhd2/src/mhd2/auth_digest.c
      type_or_value: '"-sess"'
    - item_type: preproc_def
      name: mhd_TOKEN_AUTH
      pos:
        line_end: 128
        line_start: 127
        source_file: /src/mhd2/src/mhd2/auth_digest.c
      type_or_value: '"auth"'
    - item_type: preproc_def
      name: mhd_TOKEN_AUTH_INT
      pos:
        line_end: 133
        line_start: 132
        source_file: /src/mhd2/src/mhd2/auth_digest.c
      type_or_value: '"auth-int"'
    - item_type: preproc_def
      name: mhd_DAUTH_EXT_PARAM_PREFIX
      pos:
        line_end: 139
        line_start: 138
        source_file: /src/mhd2/src/mhd2/auth_digest.c
      type_or_value: '"UTF-8''"'
    - item_type: preproc_def
      name: mhd_DAUTH_EXT_PARAM_MIN_LEN
      pos:
        line_end: 145
        line_start: 143
        source_file: /src/mhd2/src/mhd2/auth_digest.c
      type_or_value: mhd_SSTR_LEN (mhd_DAUTH_EXT_PARAM_PREFIX "'")
    - item_type: preproc_def
      name: mhd_AUTH_DIGEST_MAX_PARAM_SIZE
      pos:
        line_end: 154
        line_start: 153
        source_file: /src/mhd2/src/mhd2/auth_digest.c
      type_or_value: (65535)
    - item_type: preproc_def
      name: mhd_DIGEST_HAS_DEINIT
      pos:
        line_end: 1502
        line_start: 1501
        source_file: /src/mhd2/src/mhd2/auth_digest.c
      type_or_value: '1'
    - item_type: preproc_def
      name: mhd_DIGEST_HAS_EXT_ERROR
      pos:
        line_end: 1885
        line_start: 1884
        source_file: /src/mhd2/src/mhd2/auth_digest.c
      type_or_value: '1'
    - item_type: preproc_def
      name: mhd_STATIC_UNQ_BUFFER_SIZE
      pos:
        line_end: 2469
        line_start: 2468
        source_file: /src/mhd2/src/mhd2/auth_digest.c
      type_or_value: '128'
    structs:
    - fields:
      - name: value
        type: struct MHD_StringNullable
      - name: quoted
        type: bool
      item_type: struct
      name: mhd_RqDAuthParam
      pos:
        line_end: 170
        line_start: 158
        source_file: /src/mhd2/src/mhd2/auth_digest.c
    - fields:
      - name: nonce
        type: struct mhd_RqDAuthParam
      - name: opaque
        type: struct mhd_RqDAuthParam
      - name: response
        type: struct mhd_RqDAuthParam
      - name: username
        type: struct mhd_RqDAuthParam
      - name: username_ext
        type: struct mhd_RqDAuthParam
      - name: realm
        type: struct mhd_RqDAuthParam
      - name: uri
        type: struct mhd_RqDAuthParam
      - name: qop_raw
        type: struct mhd_RqDAuthParam
      - name: cnonce
        type: struct mhd_RqDAuthParam
      - name: nc
        type: struct mhd_RqDAuthParam
      - name: userhash
        type: bool
      - name: algo
        type: enum MHD_DigestAuthAlgo
      - name: qop
        type: enum MHD_DigestAuthQOP
      item_type: struct
      name: mhd_AuthDigesReqParams
      pos:
        line_end: 193
        line_start: 175
        source_file: /src/mhd2/src/mhd2/auth_digest.c
    - fields:
      - name: ctx
        type: union DigestCtx
      - name: algo
        type: enum MHD_DigestBaseAlgo
      item_type: struct
      name: DigestAlgorithm
      pos:
        line_end: 1465
        line_start: 1443
        source_file: /src/mhd2/src/mhd2/auth_digest.c
    - fields:
      - name: '*request'
        type: struct MHD_Request
      - name: num_get_params
        type: size_t
      item_type: struct
      name: test_header_param
      pos:
        line_end: 2296
        line_start: 2292
        source_file: /src/mhd2/src/mhd2/auth_digest.c
    typedefs: []
    union:
    - fields: []
      item_type: union
      name: DigestCtx
      pos:
        line_end: 209
        line_start: 198
        source_file: /src/mhd2/src/mhd2/auth_digest.c
- function_names: []
  source_file: /src/mhd2/src/mhd2/tls_multi_tls_lib.h
  types:
    enum:
    - enumerators:
      - name: mhd_TLS_MULTI_ROUTE_NONE
        value: MHD_SUPPORT_GNUTLS
      - name: MHD_SUPPORT_OPENSSL
      - name: mhd_TLS_MULTI_ROUTE_MBED
      - name: MHD_SUPPORT_MBEDTLS
      item_type: enum
      name: mhd_TlsMultiRoute
      pos:
        line_end: 86
        line_start: 58
        source_file: /src/mhd2/src/mhd2/tls_multi_tls_lib.h
    preproc_defs:
    - item_type: preproc_def
      name: MHD_TLS_MULTI_TLS_LIB_H
      pos:
        line_end: 46
        line_start: 45
        source_file: /src/mhd2/src/mhd2/tls_multi_tls_lib.h
      type_or_value: '1'
    structs: []
    typedefs: []
    union: []
- function_names:
  - mhd_ALIGNOF
  - mhd_ALIGNOF
  - mhd_ALIGNOF
  - mhd_ALIGNED
  - mhd_ALIGNED
  - mhd_ALIGNED_AS
  - mhd_ALIGNED
  - mhd_ALIGNED_AS
  source_file: /src/mhd2/src/mhd2/mhd_align.h
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: MHD_ALIGN_H
      pos:
        line_end: 46
        line_start: 45
        source_file: /src/mhd2/src/mhd2/mhd_align.h
      type_or_value: '1'
    - item_type: preproc_def
      name: mhd_SYS_ALIGNOF_UNRELIABLE
      pos:
        line_end: 59
        line_start: 58
        source_file: /src/mhd2/src/mhd2/mhd_align.h
      type_or_value: '1'
    - item_type: preproc_def
      name: mhd_SYS_ALIGNOF_UNRELIABLE
      pos:
        line_end: 63
        line_start: 62
        source_file: /src/mhd2/src/mhd2/mhd_align.h
      type_or_value: '1'
    - item_type: preproc_def
      name: mhd_UINT32_ALIGN
      pos:
        line_end: 96
        line_start: 95
        source_file: /src/mhd2/src/mhd2/mhd_align.h
      type_or_value: mhd_ALIGNOF (uint_least32_t)
    - item_type: preproc_def
      name: mhd_UINT64_ALIGN
      pos:
        line_end: 97
        line_start: 96
        source_file: /src/mhd2/src/mhd2/mhd_align.h
      type_or_value: mhd_ALIGNOF (uint_least64_t)
    - item_type: preproc_def
      name: mhd_UINT_FAST32_ALIGN
      pos:
        line_end: 98
        line_start: 97
        source_file: /src/mhd2/src/mhd2/mhd_align.h
      type_or_value: mhd_ALIGNOF (uint_fast32_t)
    - item_type: preproc_def
      name: mhd_ALIGNED_8
      pos:
        line_end: 131
        line_start: 130
        source_file: /src/mhd2/src/mhd2/mhd_align.h
      type_or_value: mhd_ALIGNED (8)
    - item_type: preproc_def
      name: mhd_ALIGNED_8
      pos:
        line_end: 133
        line_start: 132
        source_file: /src/mhd2/src/mhd2/mhd_align.h
      type_or_value: mhd_ALIGNED_AS (void*)
    - item_type: preproc_def
      name: mhd_ALIGNED_16
      pos:
        line_end: 137
        line_start: 136
        source_file: /src/mhd2/src/mhd2/mhd_align.h
      type_or_value: mhd_ALIGNED (16)
    - item_type: preproc_def
      name: mhd_ALIGNED_16
      pos:
        line_end: 139
        line_start: 138
        source_file: /src/mhd2/src/mhd2/mhd_align.h
      type_or_value: mhd_ALIGNED_8
    - item_type: preproc_def
      name: mhd_ALIGNED_32
      pos:
        line_end: 143
        line_start: 142
        source_file: /src/mhd2/src/mhd2/mhd_align.h
      type_or_value: mhd_ALIGNED (32)
    - item_type: preproc_def
      name: mhd_ALIGNED_32
      pos:
        line_end: 145
        line_start: 144
        source_file: /src/mhd2/src/mhd2/mhd_align.h
      type_or_value: mhd_ALIGNED_16
    - item_type: preproc_def
      name: mhd_ALIGNED_64
      pos:
        line_end: 149
        line_start: 148
        source_file: /src/mhd2/src/mhd2/mhd_align.h
      type_or_value: mhd_ALIGNED (64)
    - item_type: preproc_def
      name: mhd_ALIGNED_64
      pos:
        line_end: 151
        line_start: 150
        source_file: /src/mhd2/src/mhd2/mhd_align.h
      type_or_value: mhd_ALIGNED_32
    - item_type: preproc_def
      name: mhd_ALIGNED_128
      pos:
        line_end: 155
        line_start: 154
        source_file: /src/mhd2/src/mhd2/mhd_align.h
      type_or_value: mhd_ALIGNED (128)
    - item_type: preproc_def
      name: mhd_ALIGNED_128
      pos:
        line_end: 157
        line_start: 156
        source_file: /src/mhd2/src/mhd2/mhd_align.h
      type_or_value: mhd_ALIGNED_64
    - item_type: preproc_def
      name: mhd_ALIGNED_256
      pos:
        line_end: 161
        line_start: 160
        source_file: /src/mhd2/src/mhd2/mhd_align.h
      type_or_value: mhd_ALIGNED (256)
    - item_type: preproc_def
      name: mhd_ALIGNED_256
      pos:
        line_end: 163
        line_start: 162
        source_file: /src/mhd2/src/mhd2/mhd_align.h
      type_or_value: mhd_ALIGNED_128
    structs: []
    typedefs: []
    union: []
- function_names: []
  source_file: /src/mhd2/src/mhd2/sys_malloc.h
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: MHD_SYS_MALLOC_H
      pos:
        line_end: 46
        line_start: 45
        source_file: /src/mhd2/src/mhd2/sys_malloc.h
      type_or_value: '1'
    structs: []
    typedefs: []
    union: []
- function_names:
  - mhd_MD5_gtls_init
  - mhd_MD5_gtls_update
  - mhd_MD5_gtls_finish
  - mhd_MD5_gtls_deinit
  source_file: /src/mhd2/src/mhd2/md5_gnutls.c
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - mhd_set_thread_name
  - mhd_set_cur_thread_name
  - mhd_set_thread_name
  - mhd_set_cur_thread_name
  - mhd_set_cur_thread_name
  - mhd_set_cur_thread_name
  - mhd_set_thread_name
  - mhd_set_cur_thread_name
  - mhd_create_thread
  - mhd_THRD_CALL_SPEC::named_thread_starter
  - mhd_create_named_thread
  - mhd_thread_block_sigpipe
  source_file: /src/mhd2/src/mhd2/mhd_threads.c
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: MHD_USE_THREAD_ATTR_SETNAME
      pos:
        line_end: 78
        line_start: 77
        source_file: /src/mhd2/src/mhd2/mhd_threads.c
      type_or_value: '1'
    structs:
    - fields:
      - name: type
        type: DWORD
      - name: name
        type: LPCSTR
      - name: ID
        type: DWORD
      - name: flags
        type: DWORD
      item_type: struct
      name: thread_info_struct
      pos:
        line_end: 161
        line_start: 155
        source_file: /src/mhd2/src/mhd2/mhd_threads.c
    - fields:
      - name: start_routine
        type: mhd_THREAD_START_ROUTINE
      - name: '*arg'
        type: void
      - name: '*name'
        type: char
      item_type: struct
      name: mhd_named_helper_param
      pos:
        line_end: 312
        line_start: 296
        source_file: /src/mhd2/src/mhd2/mhd_threads.c
    typedefs: []
    union: []
- function_names:
  - mhd_SHA256_gtls_reset
  source_file: /src/mhd2/src/mhd2/sha256_gnutls.h
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: MHD_SHA256_GNUTLS_H
      pos:
        line_end: 45
        line_start: 44
        source_file: /src/mhd2/src/mhd2/sha256_gnutls.h
      type_or_value: '1'
    - item_type: preproc_def
      name: mhd_SHA256_DIGEST_SIZE
      pos:
        line_end: 56
        line_start: 55
        source_file: /src/mhd2/src/mhd2/sha256_gnutls.h
      type_or_value: (32)
    - item_type: preproc_def
      name: mhd_SHA256_GTLS_EXT_ERROR_FLAG
      pos:
        line_end: 76
        line_start: 75
        source_file: /src/mhd2/src/mhd2/sha256_gnutls.h
      type_or_value: '1'
    - item_type: preproc_def
      name: mhd_SHA256_GTLS_DEINIT_NOOP_FLAG
      pos:
        line_end: 163
        line_start: 162
        source_file: /src/mhd2/src/mhd2/sha256_gnutls.h
      type_or_value: '0'
    structs:
    - fields:
      - name: '*handle'
        type: struct hash_hd_st
      - name: ext_error
        type: int
      item_type: struct
      name: mhd_Sha256CtxGtls
      pos:
        line_end: 68
        line_start: 64
        source_file: /src/mhd2/src/mhd2/sha256_gnutls.h
    typedefs: []
    union: []
- function_names: []
  source_file: /src/mhd2/src/mhd2/mhd_auth_digest_hdr.h
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: MHD_AUTH_DIGEST_HDR_H
      pos:
        line_end: 46
        line_start: 45
        source_file: /src/mhd2/src/mhd2/mhd_auth_digest_hdr.h
      type_or_value: '1'
    structs:
    - fields:
      - name: hdr
        type: struct MHD_String
      - name: nonce_pos
        type: size_t
      - name: (mhd_RespAuthDigestHeader)
        type: mhd_DLNKDL_LINKS_TYPE
      item_type: struct
      name: mhd_RespAuthDigestHeader
      pos:
        line_end: 81
        line_start: 64
        source_file: /src/mhd2/src/mhd2/mhd_auth_digest_hdr.h
    typedefs: []
    union: []
- function_names: []
  source_file: /src/mhd2/src/mhd2/conn_data_send.h
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: MHD_CONN_DATA_SEND_H
      pos:
        line_end: 46
        line_start: 45
        source_file: /src/mhd2/src/mhd2/conn_data_send.h
      type_or_value: '1'
    structs: []
    typedefs: []
    union: []
- function_names: []
  source_file: /src/mhd2/src/mhd2/mhd_tls_internal.h
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: MHD_TLS_INTERNAL_H
      pos:
        line_end: 46
        line_start: 45
        source_file: /src/mhd2/src/mhd2/mhd_tls_internal.h
      type_or_value: '1'
    - item_type: preproc_def
      name: mhd_ALPN_H1_0
      pos:
        line_end: 63
        line_start: 62
        source_file: /src/mhd2/src/mhd2/mhd_tls_internal.h
      type_or_value: '"http/1.0"'
    - item_type: preproc_def
      name: mhd_ALPN_H1_1
      pos:
        line_end: 68
        line_start: 67
        source_file: /src/mhd2/src/mhd2/mhd_tls_internal.h
      type_or_value: '"http/1.1"'
    - item_type: preproc_def
      name: mhd_ALPN_H2
      pos:
        line_end: 73
        line_start: 72
        source_file: /src/mhd2/src/mhd2/mhd_tls_internal.h
      type_or_value: '"h2"'
    - item_type: preproc_def
      name: mhd_ALPN_H3
      pos:
        line_end: 78
        line_start: 77
        source_file: /src/mhd2/src/mhd2/mhd_tls_internal.h
      type_or_value: '"h3"'
    - item_type: preproc_def
      name: mhd_ALPN_H1_0_LEN
      pos:
        line_end: 83
        line_start: 82
        source_file: /src/mhd2/src/mhd2/mhd_tls_internal.h
      type_or_value: mhd_SSTR_LEN (mhd_ALPN_H1_0)
    - item_type: preproc_def
      name: mhd_ALPN_H1_1_LEN
      pos:
        line_end: 88
        line_start: 87
        source_file: /src/mhd2/src/mhd2/mhd_tls_internal.h
      type_or_value: mhd_SSTR_LEN (mhd_ALPN_H1_1)
    - item_type: preproc_def
      name: mhd_ALPN_H2_LEN
      pos:
        line_end: 93
        line_start: 92
        source_file: /src/mhd2/src/mhd2/mhd_tls_internal.h
      type_or_value: mhd_SSTR_LEN (mhd_ALPN_H2)
    - item_type: preproc_def
      name: mhd_ALPN_H3_LEN
      pos:
        line_end: 98
        line_start: 97
        source_file: /src/mhd2/src/mhd2/mhd_tls_internal.h
      type_or_value: mhd_SSTR_LEN (mhd_ALPN_H3)
    structs: []
    typedefs: []
    union: []
- function_names: []
  source_file: /src/mhd2/src/mhd2/sys_select.h
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: MHD_SYS_SELECT_H
      pos:
        line_end: 46
        line_start: 45
        source_file: /src/mhd2/src/mhd2/sys_select.h
      type_or_value: '1'
    structs: []
    typedefs: []
    union: []
- function_names: []
  source_file: /src/mhd2/src/mhd2/conn_data_process.h
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: MHD_DATA_PROCESS_H
      pos:
        line_end: 46
        line_start: 45
        source_file: /src/mhd2/src/mhd2/conn_data_process.h
      type_or_value: '1'
    structs: []
    typedefs: []
    union: []
- function_names: []
  source_file: /src/mhd2/src/mhd2/tls_multi_conn_data.h
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: MHD_TLS_MULTI_CONN_DATA_H
      pos:
        line_end: 46
        line_start: 45
        source_file: /src/mhd2/src/mhd2/tls_multi_conn_data.h
      type_or_value: '1'
    structs:
    - fields: []
      item_type: struct
      name: mhd_TlsMultiConnRoutePtr
      pos:
        line_end: 88
        line_start: 68
        source_file: /src/mhd2/src/mhd2/tls_multi_conn_data.h
    - fields:
      - name: choice
        type: enum mhd_TlsMultiRoute
      - name: data
        type: struct mhd_TlsMultiConnRoutePtr
      item_type: struct
      name: mhd_TlsMultiConnData
      pos:
        line_end: 104
        line_start: 93
        source_file: /src/mhd2/src/mhd2/tls_multi_conn_data.h
    typedefs: []
    union: []
- function_names: []
  source_file: /src/mhd2/src/mhd2/mhd_socket_error_funcs.h
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: MHD_SOCKET_ERROR_FUNCS_H
      pos:
        line_end: 46
        line_start: 45
        source_file: /src/mhd2/src/mhd2/mhd_socket_error_funcs.h
      type_or_value: '1'
    structs: []
    typedefs: []
    union: []
- function_names: []
  source_file: /src/mhd2/src/mhd2/mhd_constexpr.h
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: MHD_CONSTEXPR_H
      pos:
        line_end: 46
        line_start: 45
        source_file: /src/mhd2/src/mhd2/mhd_constexpr.h
      type_or_value: '1'
    - item_type: preproc_def
      name: mhd_constexpr
      pos:
        line_end: 55
        line_start: 54
        source_file: /src/mhd2/src/mhd2/mhd_constexpr.h
      type_or_value: static constexpr
    - item_type: preproc_def
      name: mhd_constexpr
      pos:
        line_end: 61
        line_start: 60
        source_file: /src/mhd2/src/mhd2/mhd_constexpr.h
      type_or_value: static const
    structs: []
    typedefs: []
    union: []
- function_names: []
  source_file: /src/mhd2/src/mhd2/mhd_upgrade.h
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: MHD_UPGRADE_H
      pos:
        line_end: 46
        line_start: 45
        source_file: /src/mhd2/src/mhd2/mhd_upgrade.h
      type_or_value: '1'
    structs:
    - fields:
      - name: '*c'
        type: struct MHD_Connection
      item_type: struct
      name: MHD_UpgradedHandle
      pos:
        line_end: 70
        line_start: 57
        source_file: /src/mhd2/src/mhd2/mhd_upgrade.h
    typedefs: []
    union: []
- function_names:
  - mhd_STREAM_ABORT
  - mhd_STREAM_ABORT
  - mhd_conn_start_closing_app_abort
  - mhd_conn_start_closing_ext_event_failed
  - mhd_conn_start_closing_ext_event_failed
  - mhd_conn_start_closing_skt_err
  - mhd_conn_start_closing_req_finished
  - mhd_conn_start_closing_timedout
  - mhd_conn_start_closing_d_shutdown
  - mhd_conn_start_closing_no_sys_res
  - mhd_conn_pre_upgrade
  - mhd_conn_start_closing_h2_soft
  - mhd_conn_start_closing_h2_hard
  source_file: /src/mhd2/src/mhd2/stream_funcs.h
  types:
    enum:
    - enumerators:
      - name: mhd_CONN_CLOSE_CLIENT_HTTP_ERR_ABORT_CONN
      - name: mhd_CONN_CLOSE_APP_ERROR
      - name: mhd_CONN_CLOSE_SOCKET_ERR
      - name: mhd_CONN_CLOSE_FILE_TOO_SHORT
      - name: mhd_CONN_CLOSE_NO_SYS_RESOURCES
      - name: mhd_CONN_CLOSE_NO_POOL_MEM_FOR_REPLY
      - name: mhd_CONN_CLOSE_CLIENT_SHUTDOWN_EARLY
      - name: mhd_CONN_CLOSE_ERR_REPLY_SENT
      - name: mhd_CONN_CLOSE_DAEMON_SHUTDOWN
      - name: MHD_SUPPORT_HTTP2
      - name: mhd_CONN_CLOSE_H2_CLOSE_SOFT
      - name: mhd_CONN_CLOSE_H2_PREFACE_MISSING
      - name: mhd_CONN_CLOSE_NO_POOL_MEM_FOR_REQUEST
      - name: mhd_CONN_CLOSE_NO_MEM_FOR_ERR_RESPONSE
      - name: mhd_CONN_CLOSE_APP_ABORTED
      - name: mhd_CONN_CLOSE_FILE_OFFSET_TOO_LARGE
      - name: mhd_CONN_CLOSE_FILE_READ_ERROR
      - name: mhd_CONN_CLOSE_EXTR_EVENT_REG_FAILED
      - name: mhd_CONN_CLOSE_NONCE_ERROR
      - name: mhd_CONN_CLOSE_H2_CLOSE_HARD
      - name: mhd_CONN_CLOSE_INT_ERROR
      - name: mhd_CONN_CLOSE_TIMEDOUT
      - name: mhd_CONN_CLOSE_UPGRADE
      item_type: enum
      name: mhd_ConnCloseReason
      pos:
        line_end: 302
        line_start: 157
        source_file: /src/mhd2/src/mhd2/stream_funcs.h
    preproc_defs:
    - item_type: preproc_def
      name: MHD_STREAM_FUNCS_H
      pos:
        line_end: 46
        line_start: 45
        source_file: /src/mhd2/src/mhd2/stream_funcs.h
      type_or_value: '1'
    structs: []
    typedefs: []
    union: []
- function_names:
  - mhd_C_HAS_TLS
  - mhd_C_HAS_TLS
  - mhd_C_HAS_TLS_DATA_IN
  - mhd_C_HAS_TLS_DATA_IN
  - mhd_C_IS_HTTP2
  - mhd_C_IS_HTTP2
  source_file: /src/mhd2/src/mhd2/mhd_connection.h
  types:
    enum:
    - enumerators:
      - name: mhd_TLS_BUF_NO_DATA
        value: '0'
      - name: mhd_TLS_BUF_HAS_DATA_IN
        value: mhd_SOCKET_NET_STATE_RECV_READY
      item_type: enum
      name: mhd_TlsBufDataIn
      pos:
        line_end: 206
        line_start: 195
        source_file: /src/mhd2/src/mhd2/mhd_connection.h
    - enumerators:
      - name: mhd_CONN_CLOSURE_REASON_NO_CLOSURE
        value: '0'
      - name: mhd_CONN_CLOSURE_REASON_PROTOCOL_SUCCESS
      - name: mhd_CONN_CLOSURE_REASON_PROTOCOL_FAILURE_HARD
      - name: mhd_CONN_CLOSURE_REASON_TIMEOUT
      - name: mhd_CONN_CLOSURE_REASON_PROTOCOL_FAILURE_SOFT
      - name: mhd_CONN_CLOSURE_REASON_TLS_ERROR
      - name: mhd_CONN_CLOSURE_REASON_REMOTE_HARD_DISCONN
      - name: mhd_CONN_CLOSURE_REASON_CONN_BROKEN
      item_type: enum
      name: mhd_ConnClosureReason
      pos:
        line_end: 337
        line_start: 292
        source_file: /src/mhd2/src/mhd2/mhd_connection.h
    preproc_defs:
    - item_type: preproc_def
      name: MHD_CONNECTION_H
      pos:
        line_end: 52
        line_start: 51
        source_file: /src/mhd2/src/mhd2/mhd_connection.h
      type_or_value: '1'
    - item_type: preproc_def
      name: mhd_BUF_INC_SIZE
      pos:
        line_end: 101
        line_start: 100
        source_file: /src/mhd2/src/mhd2/mhd_connection.h
      type_or_value: '1500'
    - item_type: preproc_def
      name: mdh_HTTP_1_1_100_CONTINUE_REPLY
      pos:
        line_end: 106
        line_start: 105
        source_file: /src/mhd2/src/mhd2/mhd_connection.h
      type_or_value: '"HTTP/1.1 100 Continue\r\n\r\n"'
    - item_type: preproc_def
      name: mhd_CONN_FLAG_RECV
      pos:
        line_end: 111
        line_start: 110
        source_file: /src/mhd2/src/mhd2/mhd_connection.h
      type_or_value: (1u << 0)
    - item_type: preproc_def
      name: mhd_CONN_FLAG_SEND
      pos:
        line_end: 112
        line_start: 111
        source_file: /src/mhd2/src/mhd2/mhd_connection.h
      type_or_value: (1u << 1)
    - item_type: preproc_def
      name: mhd_CONN_FLAG_TLS
      pos:
        line_end: 113
        line_start: 112
        source_file: /src/mhd2/src/mhd2/mhd_connection.h
      type_or_value: (1u << 2)
    - item_type: preproc_def
      name: mhd_CONN_FLAG_HANDSHAKE
      pos:
        line_end: 114
        line_start: 113
        source_file: /src/mhd2/src/mhd2/mhd_connection.h
      type_or_value: (1u << 3)
    - item_type: preproc_def
      name: mhd_CONN_FLAG_CLOSING
      pos:
        line_end: 115
        line_start: 114
        source_file: /src/mhd2/src/mhd2/mhd_connection.h
      type_or_value: (1u << 4)
    - item_type: preproc_def
      name: mhd_CONN_FLAG_ERROR
      pos:
        line_end: 116
        line_start: 115
        source_file: /src/mhd2/src/mhd2/mhd_connection.h
      type_or_value: (1u << 6)
    - item_type: preproc_def
      name: mhd_CONN_FLAG_CLOSED
      pos:
        line_end: 117
        line_start: 116
        source_file: /src/mhd2/src/mhd2/mhd_connection.h
      type_or_value: (1u << 7)
    - item_type: preproc_def
      name: MHD_EVENT_LOOP_INFO_PROCESS_READ
      pos:
        line_end: 287
        line_start: 285
        source_file: /src/mhd2/src/mhd2/mhd_connection.h
      type_or_value: (MHD_EVENT_LOOP_INFO_RECV | MHD_EVENT_LOOP_INFO_PROCESS)
    structs:
    - fields:
      - name: state
        type: enum mhd_HttpLayerState
      - name: fam
        type: enum mhd_HttpVerFamily
      item_type: struct
      name: mhd_HttpCommLayer
      pos:
        line_end: 247
        line_start: 243
        source_file: /src/mhd2/src/mhd2/mhd_connection.h
    - fields:
      - name: '*app_cntx'
        type: void
      - name: reg_for
        type: enum MHD_FdState
      item_type: struct
      name: mhd_ConnExtrEvents
      pos:
        line_end: 541
        line_start: 530
        source_file: /src/mhd2/src/mhd2/mhd_connection.h
    - fields:
      - name: monitored
        type: bool
      item_type: struct
      name: mhd_ConnKqEvents
      pos:
        line_end: 553
        line_start: 547
        source_file: /src/mhd2/src/mhd2/mhd_connection.h
    - fields:
      - name: milsec
        type: uint_fast32_t
      - name: last_act
        type: uint_fast64_t
      - name: in_cstm_tmout_list
        type: bool
      item_type: struct
      name: mhd_ConnTimeoutData
      pos:
        line_end: 606
        line_start: 582
        source_file: /src/mhd2/src/mhd2/mhd_connection.h
    - fields:
      - name: closing_started
        type: bool
      - name: pre_cleaned
        type: bool
      - name: removed_from_daemon
        type: bool
      - name: tls_inited
        type: bool
      - name: avoid_accept4
        type: bool
      item_type: struct
      name: mhd_ConnDebugData
      pos:
        line_end: 615
        line_start: 608
        source_file: /src/mhd2/src/mhd2/mhd_connection.h
    - fields:
      - name: sk
        type: struct mhd_ConnSocket
      - name: events
        type: union mhd_ConnEvents
      - name: in_proc_ready
        type: bool
      - name: timeout
        type: struct mhd_ConnTimeoutData
      - name: '*daemon'
        type: struct MHD_Daemon
      - name: h1_stream
        type: struct MHD_Stream
      - name: suspended
        type: bool
      - name: resuming
        type: bool
      - name: rq
        type: struct MHD_Request
      - name: rp
        type: struct MHD_Reply
      - name: '*pool'
        type: struct mhd_MemoryPool
      - name: '*socket_context'
        type: void
      - name: conn_reuse
        type: enum mhd_ConnReuse
      - name: '*read_buffer'
        type: char
      - name: '*write_buffer'
        type: char
      - name: read_buffer_size
        type: size_t
      - name: read_buffer_offset
        type: size_t
      - name: write_buffer_size
        type: size_t
      - name: write_buffer_send_offset
        type: size_t
      - name: write_buffer_append_offset
        type: size_t
      - name: continue_message_write_offset
        type: size_t
      - name: stop_with_error
        type: bool
      - name: discard_request
        type: bool
      - name: in_cleanup
        type: bool
      - name: stage
        type: enum mhd_HttpStage
      - name: event_loop_info
        type: enum MHD_ConnectionEventLoopInfo
      item_type: struct
      name: MHD_Connection
      pos:
        line_end: 880
        line_start: 641
        source_file: /src/mhd2/src/mhd2/mhd_connection.h
    typedefs: []
    union:
    - fields:
      - name: extrn
        type: struct mhd_ConnExtrEvents
      item_type: union
      name: mhd_ConnEvents
      pos:
        line_end: 571
        line_start: 558
        source_file: /src/mhd2/src/mhd2/mhd_connection.h
- function_names: []
  source_file: /src/mhd2/src/mhd2/mhd_lib_init_auto.h
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: MHD_LIB_INIT_AUTO_H
      pos:
        line_end: 47
        line_start: 46
        source_file: /src/mhd2/src/mhd2/mhd_lib_init_auto.h
      type_or_value: '1'
    - item_type: preproc_def
      name: mhd_INIT_USE_MHD_DLLMAIN
      pos:
        line_end: 52
        line_start: 51
        source_file: /src/mhd2/src/mhd2/mhd_lib_init_auto.h
      type_or_value: '1'
    - item_type: preproc_def
      name: AUTOINIT_FUNCS_CALL_USR_DLLMAIN
      pos:
        line_end: 56
        line_start: 55
        source_file: /src/mhd2/src/mhd2/mhd_lib_init_auto.h
      type_or_value: '1 '
    - item_type: preproc_def
      name: AUTOINIT_FUNCS_USR_DLLMAIN_NAME
      pos:
        line_end: 57
        line_start: 56
        source_file: /src/mhd2/src/mhd2/mhd_lib_init_auto.h
      type_or_value: 'mhd_DllMain '
    - item_type: preproc_def
      name: AUTOINIT_FUNCS_DECLARE_USR_DLLMAIN
      pos:
        line_end: 58
        line_start: 57
        source_file: /src/mhd2/src/mhd2/mhd_lib_init_auto.h
      type_or_value: '1 '
    - item_type: preproc_def
      name: AUTOINIT_FUNCS_NO_WARNINGS_SUNPRO_C
      pos:
        line_end: 60
        line_start: 59
        source_file: /src/mhd2/src/mhd2/mhd_lib_init_auto.h
      type_or_value: '1 '
    - item_type: preproc_def
      name: mhd_AUTOINIT_FUNCS_USE
      pos:
        line_end: 65
        line_start: 64
        source_file: /src/mhd2/src/mhd2/mhd_lib_init_auto.h
      type_or_value: '1'
    - item_type: preproc_def
      name: mhd_AUTOINIT_FUNCS_USE
      pos:
        line_end: 68
        line_start: 67
        source_file: /src/mhd2/src/mhd2/mhd_lib_init_auto.h
      type_or_value: '1'
    - item_type: preproc_def
      name: mhd_AUTOINIT_FUNCS_PRAGMA
      pos:
        line_end: 70
        line_start: 69
        source_file: /src/mhd2/src/mhd2/mhd_lib_init_auto.h
      type_or_value: '1'
    structs: []
    typedefs: []
    union: []
- function_names: []
  source_file: /src/mhd2/src/mhd2/stream_process_states.h
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: MHD_STREAM_PROCESS_STATES_H
      pos:
        line_end: 47
        line_start: 46
        source_file: /src/mhd2/src/mhd2/stream_process_states.h
      type_or_value: '1'
    structs: []
    typedefs: []
    union: []
- function_names:
  - mhd_tls_mbed_global_init_once
  - mhd_tls_mbed_global_re_init
  - mhd_tls_mbed_is_edge_trigg_supported
  - mhd_tls_mbed_daemon_init
  - mhd_tls_mbed_thread_cleanup
  - mhd_tls_mbed_conn_get_tls_size
  - mhd_tls_mbed_conn_has_cstm_tr
  source_file: /src/mhd2/src/mhd2/tls_mbed_funcs.h
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: MHD_TLS_MBED_FUNCS_H
      pos:
        line_end: 46
        line_start: 45
        source_file: /src/mhd2/src/mhd2/tls_mbed_funcs.h
      type_or_value: '1'
    structs: []
    typedefs: []
    union: []
- function_names: []
  source_file: /src/mhd2/src/mhd2/tls_open_daemon_data.h
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: MHD_TLS_OPEN_DAEMON_DATA_H
      pos:
        line_end: 46
        line_start: 45
        source_file: /src/mhd2/src/mhd2/tls_open_daemon_data.h
      type_or_value: '1'
    structs:
    - fields:
      - name: '*libctx'
        type: OSSL_LIB_CTX
      - name: '*ctx'
        type: SSL_CTX
      - name: '*alpn_prots'
        type: unsigned char
      - name: alpn_prots_size
        type: unsigned int
      item_type: struct
      name: mhd_TlsOpenDaemonData
      pos:
        line_end: 81
        line_start: 58
        source_file: /src/mhd2/src/mhd2/tls_open_daemon_data.h
    typedefs: []
    union: []
- function_names:
  - mhd_SOCKET_ERR_IS_HARD
  - mhd_SOCKET_ERR_IS_BAD
  source_file: /src/mhd2/src/mhd2/mhd_socket_error.h
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: MHD_SOCKET_ERROR_H
      pos:
        line_end: 46
        line_start: 45
        source_file: /src/mhd2/src/mhd2/mhd_socket_error.h
      type_or_value: '1'
    structs: []
    typedefs: []
    union: []
- function_names:
  - mhd_setsockopt
  - mhd_setsockopt
  - mhd_getsockopt
  - mhd_getsockopt
  - mhd_socket_nosignal
  source_file: /src/mhd2/src/mhd2/sys_sockets_headers.h
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: MHD_SYS_SOCKETS_HEADERS_H
      pos:
        line_end: 48
        line_start: 47
        source_file: /src/mhd2/src/mhd2/sys_sockets_headers.h
      type_or_value: '1'
    - item_type: preproc_def
      name: HAVE_DCLR_SOCK_NONBLOCK
      pos:
        line_end: 71
        line_start: 70
        source_file: /src/mhd2/src/mhd2/sys_sockets_headers.h
      type_or_value: '1'
    - item_type: preproc_def
      name: HAVE_DCLR_SOCK_CLOEXEC
      pos:
        line_end: 76
        line_start: 75
        source_file: /src/mhd2/src/mhd2/sys_sockets_headers.h
      type_or_value: '1'
    - item_type: preproc_def
      name: HAVE_DCLR_SOCK_NOSIGPIPE
      pos:
        line_end: 81
        line_start: 80
        source_file: /src/mhd2/src/mhd2/sys_sockets_headers.h
      type_or_value: '1'
    - item_type: preproc_def
      name: HAVE_DCLR_MSG_NOSIGNAL
      pos:
        line_end: 86
        line_start: 85
        source_file: /src/mhd2/src/mhd2/sys_sockets_headers.h
      type_or_value: '1'
    - item_type: preproc_def
      name: HAVE_DCLR_MSG_MORE
      pos:
        line_end: 91
        line_start: 90
        source_file: /src/mhd2/src/mhd2/sys_sockets_headers.h
      type_or_value: '1'
    - item_type: preproc_def
      name: HAVE_DCLR_SOL_SOCKET
      pos:
        line_end: 96
        line_start: 95
        source_file: /src/mhd2/src/mhd2/sys_sockets_headers.h
      type_or_value: '1'
    - item_type: preproc_def
      name: HAVE_DCLR_SO_REUSEADDR
      pos:
        line_end: 101
        line_start: 100
        source_file: /src/mhd2/src/mhd2/sys_sockets_headers.h
      type_or_value: '1'
    - item_type: preproc_def
      name: HAVE_DCLR_SO_REUSEPORT
      pos:
        line_end: 106
        line_start: 105
        source_file: /src/mhd2/src/mhd2/sys_sockets_headers.h
      type_or_value: '1'
    - item_type: preproc_def
      name: HAVE_DCLR_SO_LINGER
      pos:
        line_end: 111
        line_start: 110
        source_file: /src/mhd2/src/mhd2/sys_sockets_headers.h
      type_or_value: '1'
    - item_type: preproc_def
      name: HAVE_DCLR_SO_NOSIGPIPE
      pos:
        line_end: 116
        line_start: 115
        source_file: /src/mhd2/src/mhd2/sys_sockets_headers.h
      type_or_value: '1'
    - item_type: preproc_def
      name: mhd_SOCK_NONBLOCK
      pos:
        line_end: 120
        line_start: 119
        source_file: /src/mhd2/src/mhd2/sys_sockets_headers.h
      type_or_value: SOCK_NONBLOCK
    - item_type: preproc_def
      name: mhd_SOCK_NONBLOCK
      pos:
        line_end: 122
        line_start: 121
        source_file: /src/mhd2/src/mhd2/sys_sockets_headers.h
      type_or_value: (0)
    - item_type: preproc_def
      name: mhd_SOCK_CLOEXEC
      pos:
        line_end: 126
        line_start: 125
        source_file: /src/mhd2/src/mhd2/sys_sockets_headers.h
      type_or_value: SOCK_CLOEXEC
    - item_type: preproc_def
      name: mhd_SOCK_CLOEXEC
      pos:
        line_end: 128
        line_start: 127
        source_file: /src/mhd2/src/mhd2/sys_sockets_headers.h
      type_or_value: (0)
    - item_type: preproc_def
      name: mhd_SOCK_NOSIGPIPE
      pos:
        line_end: 132
        line_start: 131
        source_file: /src/mhd2/src/mhd2/sys_sockets_headers.h
      type_or_value: SOCK_NOSIGPIPE
    - item_type: preproc_def
      name: mhd_SOCK_NOSIGPIPE
      pos:
        line_end: 134
        line_start: 133
        source_file: /src/mhd2/src/mhd2/sys_sockets_headers.h
      type_or_value: (0)
    - item_type: preproc_def
      name: mhd_MSG_NOSIGNAL
      pos:
        line_end: 138
        line_start: 137
        source_file: /src/mhd2/src/mhd2/sys_sockets_headers.h
      type_or_value: MSG_NOSIGNAL
    - item_type: preproc_def
      name: mhd_MSG_NOSIGNAL
      pos:
        line_end: 140
        line_start: 139
        source_file: /src/mhd2/src/mhd2/sys_sockets_headers.h
      type_or_value: (0)
    - item_type: preproc_def
      name: mhd_USE_MSG_MORE
      pos:
        line_end: 151
        line_start: 150
        source_file: /src/mhd2/src/mhd2/sys_sockets_headers.h
      type_or_value: '1'
    - item_type: preproc_def
      name: mhd_MSG_MORE
      pos:
        line_end: 156
        line_start: 155
        source_file: /src/mhd2/src/mhd2/sys_sockets_headers.h
      type_or_value: MSG_MORE
    - item_type: preproc_def
      name: mhd_MSG_MORE
      pos:
        line_end: 158
        line_start: 157
        source_file: /src/mhd2/src/mhd2/sys_sockets_headers.h
      type_or_value: (0)
    - item_type: preproc_def
      name: mhd_USE_ACCEPT4
      pos:
        line_end: 164
        line_start: 163
        source_file: /src/mhd2/src/mhd2/sys_sockets_headers.h
      type_or_value: '1'
    - item_type: preproc_def
      name: mhd_SCKT_OPT_BOOL
      pos:
        line_end: 173
        line_start: 172
        source_file: /src/mhd2/src/mhd2/sys_sockets_headers.h
      type_or_value: int
    - item_type: preproc_def
      name: mhd_SCKT_OPT_BOOL
      pos:
        line_end: 175
        line_start: 174
        source_file: /src/mhd2/src/mhd2/sys_sockets_headers.h
      type_or_value: BOOL
    - item_type: preproc_def
      name: MHD_SCKT_SEND_MAX_SIZE_
      pos:
        line_end: 214
        line_start: 213
        source_file: /src/mhd2/src/mhd2/sys_sockets_headers.h
      type_or_value: SSIZE_MAX
    - item_type: preproc_def
      name: MHD_SCKT_SEND_MAX_SIZE_
      pos:
        line_end: 216
        line_start: 215
        source_file: /src/mhd2/src/mhd2/sys_sockets_headers.h
      type_or_value: '(0x7FFFFFFF) '
    - item_type: preproc_def
      name: MHD_AF_UNIX
      pos:
        line_end: 221
        line_start: 220
        source_file: /src/mhd2/src/mhd2/sys_sockets_headers.h
      type_or_value: AF_UNIX
    - item_type: preproc_def
      name: MHD_AF_UNIX
      pos:
        line_end: 223
        line_start: 222
        source_file: /src/mhd2/src/mhd2/sys_sockets_headers.h
      type_or_value: AF_LOCAL
    - item_type: preproc_def
      name: MHD_ACCEPTED_INHERITS_NONBLOCK
      pos:
        line_end: 231
        line_start: 230
        source_file: /src/mhd2/src/mhd2/sys_sockets_headers.h
      type_or_value: '1'
    - item_type: preproc_def
      name: MHD_ACCEPTED_DOES_NOT_INHERIT_NONBLOCK
      pos:
        line_end: 233
        line_start: 232
        source_file: /src/mhd2/src/mhd2/sys_sockets_headers.h
      type_or_value: '1'
    - item_type: preproc_def
      name: mhd_socket_nosig_helper_int_one
      pos:
        line_end: 242
        line_start: 241
        source_file: /src/mhd2/src/mhd2/sys_sockets_headers.h
      type_or_value: ((mhd_SCKT_OPT_BOOL){1})
    - item_type: preproc_def
      name: mhd_SEND_SPIPE_SUPPRESS_POSSIBLE
      pos:
        line_end: 270
        line_start: 269
        source_file: /src/mhd2/src/mhd2/sys_sockets_headers.h
      type_or_value: '1'
    structs: []
    typedefs:
    - item_type: typedef
      name: mhd_SCKT_SEND_SIZE
      pos:
        line_end: 204
        line_start: 204
        source_file: /src/mhd2/src/mhd2/sys_sockets_headers.h
      type: size_t
    - item_type: typedef
      name: mhd_SCKT_SEND_SIZE
      pos:
        line_end: 206
        line_start: 206
        source_file: /src/mhd2/src/mhd2/sys_sockets_headers.h
      type: int
    union: []
- function_names:
  - mhd_MD5_ossl_init
  - mhd_MD5_ossl_reset
  - mhd_MD5_ossl_update
  - mhd_MD5_ossl_finish
  - mhd_MD5_ossl_deinit
  source_file: /src/mhd2/src/mhd2/md5_openssl.c
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - mhd_dbg_print_fd_mon_req
  - dbg_print_fd_state_update
  - mhd_dbg_kefilter_to_name
  - mdd_dbg_keflags_to_text
  - mhd_dbg_print_kevent
  - dbg_print_fd_state_update
  - log_itc_broken
  - log_listen_broken
  - uint_fast64_t::mhd_daemon_get_wait_erliest_timeout
  - mhd_daemon_get_wait_max
  - start_resuming_connection
  - daemon_resume_conns_if_needed
  - get_max_wait
  - update_conn_net_status
  - daemon_accept_new_conns
  - is_conn_excluded_from_http_comm
  - daemon_process_all_active_conns
  - daemon_cleanup_upgraded_conns
  - daemon_cleanup_upgraded_conns
  - mhd_daemon_close_all_conns
  - '(1) bool

    ext_events_process_net_updates_and_resume_conn (struct MHD_Daemon *restrict d)'
  - ext_events_update_registrations
  - fd_set_wrap
  - "(1) int\nselect_update_fdsets (struct MHD_Daemon *restrict d,\n                      bool
    listen_only)"
  - "(1) bool\nselect_update_statuses_from_fdsets_and_resume_conn (struct MHD_Daemon
    *d,\n                                                    int num_events)"
  - get_timeval_for_select
  - "(1) bool\nget_all_net_updates_by_select_and_resume_conn (struct MHD_Daemon *restrict
    d,\n                                               bool listen_only)"
  - "(1) unsigned int\npoll_update_fds (struct MHD_Daemon *restrict d,\n                 bool
    listen_only)"
  - "(1) bool\npoll_update_statuses_from_fds (struct MHD_Daemon *restrict d,\n                               int
    num_events)"
  - "(1) bool\nget_all_net_updates_by_poll (struct MHD_Daemon *restrict d,\n                             bool
    listen_only)"
  - "(1) bool\nupdate_statuses_from_eevents (struct MHD_Daemon *restrict d,\n                              unsigned
    int num_events)"
  - '(1) bool

    get_all_net_updates_by_epoll (struct MHD_Daemon *restrict d)'
  - kqueue_handle_missed_change
  - kqueue_handle_missed_changes
  - update_kqueue_monitoring
  - "(1) bool\nupdate_statuses_from_kevents (struct MHD_Daemon *restrict d,\n                              unsigned
    int num_events)"
  - '(1) bool

    get_all_net_updates_by_kqueue (struct MHD_Daemon *restrict d)'
  - daemon_close_timedout_conns
  - daemon_reset_per_round_data
  - process_all_events_and_data
  - process_reg_events_int
  - MHD_daemon_process_reg_events
  - mhd_THRD_CALL_SPEC::mhd_worker_all_events
  - '(1) bool

    process_listening_and_itc_only (struct MHD_Daemon *restrict d)'
  - mhd_THRD_CALL_SPEC::mhd_worker_listening_only
  - mhd_THRD_CALL_SPEC::mhd_worker_connection
  source_file: /src/mhd2/src/mhd2/events_process.c
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: mhd_DBG_KEFLAGS_BUF_SIZE
      pos:
        line_end: 182
        line_start: 181
        source_file: /src/mhd2/src/mhd2/events_process.c
      type_or_value: '512'
    structs: []
    typedefs: []
    union: []
- function_names: []
  source_file: /src/mhd2/src/mhd2/sha256_openssl.h
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: MHD_SHA256_OPENSSL_H
      pos:
        line_end: 45
        line_start: 44
        source_file: /src/mhd2/src/mhd2/sha256_openssl.h
      type_or_value: '1'
    - item_type: preproc_def
      name: mhd_SHA256_DIGEST_SIZE
      pos:
        line_end: 57
        line_start: 56
        source_file: /src/mhd2/src/mhd2/sha256_openssl.h
      type_or_value: (32)
    - item_type: preproc_def
      name: mhd_SHA256_OSSL_EXT_ERROR_FLAG
      pos:
        line_end: 77
        line_start: 76
        source_file: /src/mhd2/src/mhd2/sha256_openssl.h
      type_or_value: '1'
    - item_type: preproc_def
      name: mhd_SHA256_OSSL_DEINIT_NOOP_FLAG
      pos:
        line_end: 164
        line_start: 163
        source_file: /src/mhd2/src/mhd2/sha256_openssl.h
      type_or_value: '0'
    structs:
    - fields:
      - name: '*ossl_ctx'
        type: struct evp_md_ctx_st
      - name: ext_error
        type: bool
      item_type: struct
      name: mhd_Sha256CtxOssl
      pos:
        line_end: 69
        line_start: 65
        source_file: /src/mhd2/src/mhd2/sha256_openssl.h
    typedefs: []
    union: []
- function_names:
  - mhd_MD5_mtls_init
  - mhd_MD5_mtls_reset
  - mhd_MD5_mtls_update
  - mhd_MD5_mtls_finish
  - mhd_MD5_mtls_deinit
  source_file: /src/mhd2/src/mhd2/md5_mbedtls.c
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - MHD_HTTP_VERSION_IS_1X
  - MHD_HTTP_VERSION_IS_LIKE_11
  - MHD_HTTP_VERSION_IS_VALID
  source_file: /src/mhd2/src/mhd2/http_prot_ver.h
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: MHD_HTTP_PROT_VER_H
      pos:
        line_end: 46
        line_start: 45
        source_file: /src/mhd2/src/mhd2/http_prot_ver.h
      type_or_value: '1'
    - item_type: preproc_def
      name: MHD_HTTP_PROTOCOL_VER_DEFINED
      pos:
        line_end: 75
        line_start: 74
        source_file: /src/mhd2/src/mhd2/http_prot_ver.h
      type_or_value: '1'
    structs: []
    typedefs: []
    union: []
- function_names:
  - mhd_REQ_IS_HTTP2
  - mhd_REQ_IS_HTTP2
  - mhd_REQ_GET_ACT_UNION
  - mhd_REQ_GET_ACT_UNION
  - mhd_REQ_GET_ACT_HEAD
  - mhd_REQ_GET_ACT_UPLD
  source_file: /src/mhd2/src/mhd2/mhd_request.h
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: MHD_REQUEST_H
      pos:
        line_end: 48
        line_start: 47
        source_file: /src/mhd2/src/mhd2/mhd_request.h
      type_or_value: '1'
    - item_type: preproc_def
      name: mhd_SUPPORT_AUTH
      pos:
        line_end: 356
        line_start: 355
        source_file: /src/mhd2/src/mhd2/mhd_request.h
      type_or_value: '1'
    structs:
    - fields:
      - name: proc_pos
        type: size_t
      - name: skipped_empty_lines
        type: unsigned int
      - name: last_ws_start
        type: size_t
      - name: last_ws_end
        type: size_t
      - name: '*rq_tgt'
        type: char
      - name: '*rq_tgt_qmark'
        type: char
      - name: num_ws_in_uri
        type: size_t
      item_type: struct
      name: MHD_RequestLineProcessing
      pos:
        line_end: 107
        line_start: 73
        source_file: /src/mhd2/src/mhd2/mhd_request.h
    - fields:
      - name: proc_pos
        type: size_t
      - name: ws_start
        type: size_t
      - name: name_end_found
        type: bool
      - name: name_len
        type: size_t
      - name: value_start
        type: size_t
      - name: starts_with_ws
        type: bool
      item_type: struct
      name: MHD_HeaderProcessing
      pos:
        line_end: 153
        line_start: 112
        source_file: /src/mhd2/src/mhd2/mhd_request.h
    - fields:
      - name: field
        type: struct MHD_NameValueKind
      item_type: struct
      name: mhd_RequestField
      pos:
        line_end: 209
        line_start: 198
        source_file: /src/mhd2/src/mhd2/mhd_request.h
    - fields:
      - name: field
        type: struct mhd_PostFieldInt
      item_type: struct
      name: mhd_RequestPostField
      pos:
        line_end: 233
        line_start: 222
        source_file: /src/mhd2/src/mhd2/mhd_request.h
    - fields:
      - name: lbuf
        type: struct mhd_Buffer
      - name: cntn_present
        type: bool
      - name: cntn_size
        type: uint_fast64_t
      - name: recv_size
        type: uint_fast64_t
      - name: proc_size
        type: uint_fast64_t
      item_type: struct
      name: mhd_ReqContentData
      pos:
        line_end: 274
        line_start: 244
        source_file: /src/mhd2/src/mhd2/mhd_request.h
    - fields:
      - name: username
        type: struct MHD_StringNullable
      - name: password
        type: struct MHD_StringNullable
      item_type: struct
      name: mhd_ReqAuthBasicInternalData
      pos:
        line_end: 305
        line_start: 295
        source_file: /src/mhd2/src/mhd2/mhd_request.h
    - fields:
      - name: '*rqp'
        type: struct mhd_AuthDigesReqParams
      - name: parse_result
        type: enum MHD_StatusCode
      - name: '*info'
        type: struct MHD_AuthDigestInfo
      item_type: struct
      name: mhd_ReqAuthDigestData
      pos:
        line_end: 348
        line_start: 332
        source_file: /src/mhd2/src/mhd2/mhd_request.h
    - fields: []
      item_type: struct
      name: mhd_ReqAuthData
      pos:
        line_end: 377
        line_start: 363
        source_file: /src/mhd2/src/mhd2/mhd_request.h
    - fields:
      - name: app_act
        type: struct mhd_ApplicationAction
      - name: cntn
        type: struct mhd_ReqContentData
      - name: too_large
        type: bool
      - name: u_proc
        type: union mhd_ReqContentParsingData
      - name: have_expect_100
        type: bool
      - name: '*version'
        type: char
      - name: http_ver
        type: enum MHD_HTTP_ProtocolVersion
      - name: method
        type: struct MHD_String
      - name: http_mthd
        type: enum mhd_HTTP_Method
      - name: '*url'
        type: char
      - name: url_len
        type: size_t
      - name: req_target_len
        type: size_t
      - name: header_size
        type: size_t
      - name: field_lines
        type: union MHD_StartOrSize
      - name: have_chunked_upload
        type: bool
      - name: current_chunk_size
        type: uint_fast64_t
      - name: current_chunk_offset
        type: uint_fast64_t
      - name: '*app_context'
        type: void
      - name: app_aware
        type: bool
      - name: num_cr_sp_replaced
        type: size_t
      - name: skipped_broken_lines
        type: size_t
      - name: hdrs
        type: union MHD_HeadersProcessing
      item_type: struct
      name: MHD_Request
      pos:
        line_end: 550
        line_start: 386
        source_file: /src/mhd2/src/mhd2/mhd_request.h
    typedefs: []
    union:
    - fields:
      - name: rq_line
        type: struct MHD_RequestLineProcessing
      - name: hdr
        type: struct MHD_HeaderProcessing
      item_type: union
      name: MHD_HeadersProcessing
      pos:
        line_end: 169
        line_start: 158
        source_file: /src/mhd2/src/mhd2/mhd_request.h
    - fields:
      - name: '*start'
        type: char
      - name: size
        type: size_t
      item_type: union
      name: MHD_StartOrSize
      pos:
        line_end: 189
        line_start: 175
        source_file: /src/mhd2/src/mhd2/mhd_request.h
    - fields: []
      item_type: union
      name: mhd_ReqContentParsingData
      pos:
        line_end: 286
        line_start: 277
        source_file: /src/mhd2/src/mhd2/mhd_request.h
    - fields:
      - name: intr
        type: struct mhd_ReqAuthBasicInternalData
      - name: extr
        type: struct MHD_AuthBasicCreds
      item_type: union
      name: mhd_ReqAuthBasicData
      pos:
        line_end: 321
        line_start: 310
        source_file: /src/mhd2/src/mhd2/mhd_request.h
- function_names:
  - mhd_AuthHeaderKind
  source_file: /src/mhd2/src/mhd2/request_auth_get.h
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: MHD_REQUEST_AUTH_GET_H
      pos:
        line_end: 46
        line_start: 45
        source_file: /src/mhd2/src/mhd2/request_auth_get.h
      type_or_value: '1'
    structs: []
    typedefs: []
    union: []
- function_names:
  - mhd_socket_error_get_from_sys_err
  - mhd_socket_error_get_from_socket
  source_file: /src/mhd2/src/mhd2/mhd_socket_error_funcs.c
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - mhd_tls_alpn_decode_n
  source_file: /src/mhd2/src/mhd2/mhd_tls_internal.c
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names: []
  source_file: /src/mhd2/src/mhd2/mhd_send.h
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names: []
  source_file: /src/mhd2/src/mhd2/mhd_tls_enums.h
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: MHD_TLS_ENUMS_H
      pos:
        line_end: 46
        line_start: 45
        source_file: /src/mhd2/src/mhd2/mhd_tls_enums.h
      type_or_value: '1'
    structs: []
    typedefs: []
    union: []
- function_names: []
  source_file: /src/mhd2/src/mhd2/md5_openssl.h
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: MHD_MD5_OPENSSL_H
      pos:
        line_end: 44
        line_start: 43
        source_file: /src/mhd2/src/mhd2/md5_openssl.h
      type_or_value: '1'
    - item_type: preproc_def
      name: mhd_MD5_DIGEST_SIZE
      pos:
        line_end: 56
        line_start: 55
        source_file: /src/mhd2/src/mhd2/md5_openssl.h
      type_or_value: (16)
    - item_type: preproc_def
      name: mhd_MD5_OSSL_EXT_ERROR_FLAG
      pos:
        line_end: 76
        line_start: 75
        source_file: /src/mhd2/src/mhd2/md5_openssl.h
      type_or_value: '1'
    - item_type: preproc_def
      name: mhd_MD5_OSSL_DEINIT_NOOP_FLAG
      pos:
        line_end: 163
        line_start: 162
        source_file: /src/mhd2/src/mhd2/md5_openssl.h
      type_or_value: '0'
    structs:
    - fields:
      - name: '*ossl_ctx'
        type: struct evp_md_ctx_st
      - name: ext_error
        type: bool
      item_type: struct
      name: mhd_Md5CtxOssl
      pos:
        line_end: 68
        line_start: 64
        source_file: /src/mhd2/src/mhd2/md5_openssl.h
    typedefs: []
    union: []
- function_names: []
  source_file: /src/mhd2/src/mhd2/mhd_itc_types.h
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: MHD_ITC_TYPES_H
      pos:
        line_end: 49
        line_start: 48
        source_file: /src/mhd2/src/mhd2/mhd_itc_types.h
      type_or_value: '1'
    - item_type: preproc_def
      name: mhd_ITC_STATIC_INIT_INVALID
      pos:
        line_end: 71
        line_start: 70
        source_file: /src/mhd2/src/mhd2/mhd_itc_types.h
      type_or_value: '{ -1 }'
    - item_type: preproc_def
      name: mhd_ITC_STATIC_INIT_INVALID
      pos:
        line_end: 88
        line_start: 87
        source_file: /src/mhd2/src/mhd2/mhd_itc_types.h
      type_or_value: '{ { -1, -1 } }'
    - item_type: preproc_def
      name: mhd_ITC_STATIC_INIT_INVALID
      pos:
        line_end: 108
        line_start: 106
        source_file: /src/mhd2/src/mhd2/mhd_itc_types.h
      type_or_value: '{ { MHD_INVALID_SOCKET, MHD_INVALID_SOCKET } }'
    structs:
    - fields:
      - name: fd
        type: int
      item_type: struct
      name: mhd_itc
      pos:
        line_end: 65
        line_start: 62
        source_file: /src/mhd2/src/mhd2/mhd_itc_types.h
    - fields:
      - name: fd[2]
        type: int
      item_type: struct
      name: mhd_itc
      pos:
        line_end: 82
        line_start: 79
        source_file: /src/mhd2/src/mhd2/mhd_itc_types.h
    - fields:
      - name: sk[2]
        type: MHD_Socket
      item_type: struct
      name: mhd_itc
      pos:
        line_end: 101
        line_start: 98
        source_file: /src/mhd2/src/mhd2/mhd_itc_types.h
    typedefs: []
    union: []
- function_names:
  - connection_set_http_layer_init_state
  - connection_set_http_layer_init_state
  - connection_set_initial_state
  - notify_app_conn
  - new_connection_prepare_
  - new_connection_process_inner
  - new_connection_process_
  - "(1) MHD_FN_PAR_INOUT_SIZE_ (4, 3) enum MHD_StatusCode\ninternal_add_connection
    (struct MHD_Daemon *daemon,\n                         MHD_Socket client_socket,\n
    \                        size_t addrlen,\n                         struct sockaddr_storage
    *addr,\n                         bool external_add,\n                         bool
    non_blck,\n                         bool sk_spipe_supprs,\n                         enum
    mhd_Tristate sk_is_nonip)"
  - MHD_daemon_add_connection
  - mhd_daemon_accept_connection
  - mhd_conn_remove_from_daemon
  - mhd_conn_close_final
  - mhd_daemon_process_ext_added_conns
  source_file: /src/mhd2/src/mhd2/daemon_add_conn.c
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names: []
  source_file: /src/mhd2/src/mhd2/sys_w32_ver.h
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: MHD_SYS_W32_VER_H
      pos:
        line_end: 47
        line_start: 46
        source_file: /src/mhd2/src/mhd2/sys_w32_ver.h
      type_or_value: '1'
    structs: []
    typedefs: []
    union: []
- function_names: []
  source_file: /src/mhd2/src/mhd2/sys_sockets_types.h
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: MHD_SYS_SOCKETS_TYPES_H
      pos:
        line_end: 49
        line_start: 48
        source_file: /src/mhd2/src/mhd2/sys_sockets_types.h
      type_or_value: '1'
    structs: []
    typedefs: []
    union: []
- function_names: []
  source_file: /src/mhd2/src/mhd2/h2/h2_req_item_struct.h
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: MHD_H2_REQ_ITEM_STRUCT_H
      pos:
        line_end: 48
        line_start: 47
        source_file: /src/mhd2/src/mhd2/h2/h2_req_item_struct.h
      type_or_value: '1'
    structs:
    - fields:
      - name: kind
        type: enum mhd_H2RequestItemKind
      - name: offset
        type: uint_least32_t
      - name: name_len
        type: uint_least32_t
      - name: val_len
        type: uint_least32_t
      item_type: struct
      name: mhd_H2ReqItem
      pos:
        line_end: 81
        line_start: 60
        source_file: /src/mhd2/src/mhd2/h2/h2_req_item_struct.h
    typedefs: []
    union: []
- function_names: []
  source_file: /src/mhd2/src/mhd2/h2/h2_proc_in.h
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: MHD_H2_PROC_IN_H
      pos:
        line_end: 46
        line_start: 45
        source_file: /src/mhd2/src/mhd2/h2/h2_proc_in.h
      type_or_value: '1'
    structs: []
    typedefs: []
    union: []
- function_names:
  - mhd_H2_W_BUFF_UPDATING_SET
  - mhd_H2_W_BUFF_UPDATING_CLEAR
  - mhd_H2_W_BUFF_UPDATING_SET
  - mhd_H2_W_BUFF_UPDATING_CLEAR
  source_file: /src/mhd2/src/mhd2/h2/h2_conn_data.h
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: MHD_H2_CONN_DATA_H
      pos:
        line_end: 46
        line_start: 45
        source_file: /src/mhd2/src/mhd2/h2/h2_conn_data.h
      type_or_value: '1'
    - item_type: preproc_def
      name: mhd_H2_PREFACE_LEN
      pos:
        line_end: 61
        line_start: 60
        source_file: /src/mhd2/src/mhd2/h2/h2_conn_data.h
      type_or_value: (24u)
    structs:
    - fields:
      - name: stream_init_win_sz
        type: uint_least32_t
      - name: conn_full_win_sz
        type: uint_least32_t
      - name: max_frame_size
        type: uint_least32_t
      - name: max_header_list
        type: uint_least32_t
      - name: max_concur_streams
        type: uint_least32_t
      item_type: struct
      name: mhd_H2ConnRecvCtrlData
      pos:
        line_end: 79
        line_start: 68
        source_file: /src/mhd2/src/mhd2/h2/h2_conn_data.h
    - fields:
      - name: '*send_pool'
        type: struct mhd_MemoryPool
      - name: '*req_ib'
        type: struct mhd_H2ReqItemsBlock
      item_type: struct
      name: mhd_H2ConnMemData
      pos:
        line_end: 89
        line_start: 81
        source_file: /src/mhd2/src/mhd2/h2/h2_conn_data.h
    - fields:
      - name: occurred
        type: bool
      - name: code
        type: uint_least32_t
      item_type: struct
      name: mhd_H2GoawayData
      pos:
        line_end: 96
        line_start: 91
        source_file: /src/mhd2/src/mhd2/h2/h2_conn_data.h
    - fields:
      - name: got_setns
        type: bool
      - name: sent_setns
        type: bool
      item_type: struct
      name: mhd_H2ConnStateInitData
      pos:
        line_end: 108
        line_start: 98
        source_file: /src/mhd2/src/mhd2/h2/h2_conn_data.h
    - fields:
      - name: init
        type: struct mhd_H2ConnStateInitData
      - name: sent_setns_noakc
        type: uint_fast64_t
      - name: send_window
        type: int_least32_t
      - name: recv_window
        type: int_least32_t
      - name: top_seen_stream_id
        type: uint_least32_t
      - name: top_proc_stream_id
        type: uint_least32_t
      - name: top_rst_stream_id
        type: uint_least32_t
      - name: continuation_stream_id
        type: uint_least32_t
      - name: sent_goaway
        type: struct mhd_H2GoawayData
      - name: recvd_goaway
        type: struct mhd_H2GoawayData
      item_type: struct
      name: mhd_H2ConnStateData
      pos:
        line_end: 142
        line_start: 110
        source_file: /src/mhd2/src/mhd2/h2/h2_conn_data.h
    - fields:
      - name: stream_init_win_sz
        type: uint_least32_t
      - name: max_frame_size
        type: uint_least32_t
      - name: max_header_list
        type: uint_least32_t
      - name: max_concur_streams
        type: uint_least32_t
      - name: stream_id_limit
        type: uint_least32_t
      item_type: struct
      name: mhd_H2ConnPeerData
      pos:
        line_end: 164
        line_start: 144
        source_file: /src/mhd2/src/mhd2/h2/h2_conn_data.h
    - fields:
      - name: num_streams
        type: size_t
      item_type: struct
      name: mhd_H2ConnStreams
      pos:
        line_end: 182
        line_start: 166
        source_file: /src/mhd2/src/mhd2/h2/h2_conn_data.h
    - fields:
      - name: r_cur_frame
        type: size_t
      - name: unproc_hdrs_pos
        type: size_t
      - name: unproc_hdrs_size
        type: size_t
      item_type: struct
      name: mhd_H2ConnBuffData
      pos:
        line_end: 202
        line_start: 184
        source_file: /src/mhd2/src/mhd2/h2/h2_conn_data.h
    - fields:
      - name: w_buff_updating
        type: bool
      - name: h2_deinited
        type: bool
      item_type: struct
      name: mhd_H2ConnDebug
      pos:
        line_end: 209
        line_start: 205
        source_file: /src/mhd2/src/mhd2/h2/h2_conn_data.h
    - fields:
      - name: rcv_cfg
        type: struct mhd_H2ConnRecvCtrlData
      - name: mem
        type: struct mhd_H2ConnMemData
      - name: state
        type: struct mhd_H2ConnStateData
      - name: peer
        type: struct mhd_H2ConnPeerData
      - name: hk_dec
        type: struct mhd_HpackDecContext
      - name: hk_enc
        type: struct mhd_HpackEncContext
      - name: streams
        type: struct mhd_H2ConnStreams
      - name: buff
        type: struct mhd_H2ConnBuffData
      item_type: struct
      name: mhd_H2ConnData
      pos:
        line_end: 232
        line_start: 212
        source_file: /src/mhd2/src/mhd2/h2/h2_conn_data.h
    typedefs: []
    union: []
- function_names: []
  source_file: /src/mhd2/src/mhd2/h2/h2_conn_streams.h
  types:
    enum:
    - enumerators:
      - name: mhd_H2_REQ_PRBLM_FIELD_CHARS
      - name: mhd_H2_REQ_PRBLM_FORBIDDEN_HEADER
      - name: mhd_H2_REQ_PRBLM_CNTNT_LEN_WRONG
      - name: mhd_H2_REQ_PRBLM_HOST_HDR_WRONG_EXTRA
      - name: mhd_H2_REQ_PRBLM_HEADERS_NO_ENDSTREAM
      - name: mhd_H2_REQ_PRBLM_PSEUDOHDR_IN_TRAILER
      - name: mhd_H2_REQ_PRBLM_UNKNOWN_PSEUDOHDR
      - name: mhd_H2_REQ_PRBLM_PSEUDOHDR_AFTER_HDR
      - name: mhd_H2_REQ_PRBLM_PSEUDOHDR_MISSING
      - name: mhd_H2_REQ_PRBLM_PSEUDOHDR_DUP
      - name: mhd_H2_REQ_PRBLM_FLOW_CONTROL
      - name: mhd_H2_REQ_PRBLM_PSEUDOHDR_EXTRA
      - name: mhd_H2_REQ_PRBLM_INT_ERROR
      - name: mhd_H2_REQ_PRBLM_HEADERS_TOO_LARGE
      item_type: enum
      name: mhd_H2RequestProblemType
      pos:
        line_end: 87
        line_start: 57
        source_file: /src/mhd2/src/mhd2/h2/h2_conn_streams.h
    preproc_defs:
    - item_type: preproc_def
      name: MHD_H2_CONN_STREAMS_H
      pos:
        line_end: 46
        line_start: 45
        source_file: /src/mhd2/src/mhd2/h2/h2_conn_streams.h
      type_or_value: '1'
    structs: []
    typedefs: []
    union: []
- function_names:
  - enc_field
  - stream_headers_encode
  - stream_headers_send
  - content_read_iovec
  - content_read_file
  - stream_content_send
  - mhd_h2_stream_reply_send
  source_file: /src/mhd2/src/mhd2/h2/h2_reply_funcs.c
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - frame_decode_data
  - frame_decode_headers
  - frame_decode_priority
  - frame_decode_rst_stream
  - frame_decode_settings
  - frame_decode_push_promise
  - frame_decode_ping
  - frame_decode_goaway
  - frame_decode_window_update
  - frame_decode_continuation
  - frame_decode_unknown_type
  - mhd_h2_frame_decode
  - mhd_h2_frame_get_extra_hdr_size
  - mhd_h2_frame_get_padding_size
  - mhd_h2_frame_set_payload_size
  - frame_hdr_encode_data
  - frame_hdr_encode_headers
  - frame_hdr_encode_priority
  - frame_hdr_encode_rst_stream
  - frame_hdr_encode_settings
  - frame_hdr_encode_push_promise
  - frame_hdr_encode_ping
  - frame_hdr_encode_goaway
  - frame_hdr_encode_window_update
  - frame_hdr_encode_continuation
  - mhd_h2_frame_hdr_encode
  source_file: /src/mhd2/src/mhd2/h2/h2_frame_codec.c
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: mhd_FFLAG_PRIORITY
      pos:
        line_end: 69
        line_start: 68
        source_file: /src/mhd2/src/mhd2/h2/h2_frame_codec.c
      type_or_value: (0x20u)
    - item_type: preproc_def
      name: mhd_FFLAG_PADDED
      pos:
        line_end: 73
        line_start: 72
        source_file: /src/mhd2/src/mhd2/h2/h2_frame_codec.c
      type_or_value: (0x08u)
    - item_type: preproc_def
      name: mhd_FFLAG_END_HEADERS
      pos:
        line_end: 77
        line_start: 76
        source_file: /src/mhd2/src/mhd2/h2/h2_frame_codec.c
      type_or_value: (0x04u)
    - item_type: preproc_def
      name: mhd_FFLAG_END_STREAM
      pos:
        line_end: 81
        line_start: 80
        source_file: /src/mhd2/src/mhd2/h2/h2_frame_codec.c
      type_or_value: (0x01u)
    - item_type: preproc_def
      name: mhd_FFLAG_ACK
      pos:
        line_end: 85
        line_start: 84
        source_file: /src/mhd2/src/mhd2/h2/h2_frame_codec.c
      type_or_value: (0x01u)
    - item_type: preproc_def
      name: mhd_FFLAG_HEADERS_EXCLUSIVE
      pos:
        line_end: 90
        line_start: 89
        source_file: /src/mhd2/src/mhd2/h2/h2_frame_codec.c
      type_or_value: (0x80000000u)
    structs: []
    typedefs: []
    union: []
- function_names:
  - h2_has_space_for_ack
  - h2_q_settings_ack
  - mhd_h2_proc_first_settings
  - mhd_h2_proc_new_settings
  - mhd_h2_q_settings_first_fr
  source_file: /src/mhd2/src/mhd2/h2/h2_proc_settings.c
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - mhd_h2_stream_cb_early_uri
  - mhd_h2_stream_cb_request
  source_file: /src/mhd2/src/mhd2/h2/h2_app_cb.c
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - process_inc_frame
  - mhd_h2_conn_process_in_data
  source_file: /src/mhd2/src/mhd2/h2/h2_proc_in.c
  types:
    enum:
    - enumerators:
      - name: mhd_H2_PROC_IN_FRAME_CONTINUE
        value: mhd_H2_STNGS_PROC_OK
      - name: mhd_H2_PROC_IN_FRAME_BLOCKED_BY_OUT
        value: mhd_H2_STNGS_PROC_NO_OUT_BUFF
      - name: mhd_H2_PROC_IN_FRAME_CONN_BROKEN
        value: mhd_H2_STNGS_PROC_STNGS_ERR
      item_type: enum
      name: mhd_H2ProcInFrameResult
      pos:
        line_end: 73
        line_start: 68
        source_file: /src/mhd2/src/mhd2/h2/h2_proc_in.c
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names: []
  source_file: /src/mhd2/src/mhd2/h2/h2_req_item_kinds.h
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: MHD_H2_REQ_ITEM_KINDS_H
      pos:
        line_end: 46
        line_start: 45
        source_file: /src/mhd2/src/mhd2/h2/h2_req_item_kinds.h
      type_or_value: '1'
    structs: []
    typedefs: []
    union: []
- function_names:
  - mhd_h2_blank_init
  - mhd_h2_check_preface
  - h2_switch_to_h2
  - mhd_h2_conn_h2_deinit_start_closing
  - h2_handle_preface_found
  - h2_handle_preface_not_found
  - mhd_h2_process_preface
  - mhd_h2_conn_state_update
  - h2_conn_manage_buff_out
  - h2_conn_process_data_inner
  - mhd_h2_conn_process_data
  source_file: /src/mhd2/src/mhd2/h2/h2_comm.c
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: ERR_RSP_H2_NOT_SUPPORTED
      pos:
        line_end: 154
        line_start: 151
        source_file: /src/mhd2/src/mhd2/h2/h2_comm.c
      type_or_value: "\"<html><head><title>HTTP/2 is not supported</title></head>\"
        \\\n        \"<body>HTTP/2 protocol is not supported.</body></html>\""
    - item_type: preproc_def
      name: ERR_RSP_H2_WITH_ALPN_HTTP1
      pos:
        line_end: 159
        line_start: 155
        source_file: /src/mhd2/src/mhd2/h2/h2_comm.c
      type_or_value: "\"<html><head><title>HTTP/2 without matching ALPN</title></head>\"
        \\\n        \"<body>ALPN selected HTTP/1.x protocol, HTTP/2 cannot be used
        \" \\\n        \"over TLS if ALPN selected another application protocol.</body></html>\""
    - item_type: preproc_def
      name: ERR_RSP_H2_WITHOUT_ALPN
      pos:
        line_end: 163
        line_start: 160
        source_file: /src/mhd2/src/mhd2/h2/h2_comm.c
      type_or_value: "\"<html><head><title>HTTP/2 without ALPN on HTTPS</title></head>\"
        \\\n        \"<body>HTTP/2 cannot be used over TLS without ALPN.</body></html>\""
    - item_type: preproc_def
      name: ERR_RSP_H2_REQUIRED
      pos:
        line_end: 387
        line_start: 384
        source_file: /src/mhd2/src/mhd2/h2/h2_comm.c
      type_or_value: "\"<html><head><title>HTTP/2 is required</title></head>\" \\\n
        \       \"<body>HTTP/2 protocol is required</body></html>\""
    - item_type: preproc_def
      name: ERR_RSP_NOT_H2_WITH_ALPN_H2
      pos:
        line_end: 392
        line_start: 388
        source_file: /src/mhd2/src/mhd2/h2/h2_comm.c
      type_or_value: "\"<html><head><title>ALPN selected HTTP/2</title></head>\" \\\n
        \       \"<body>ALPN selected HTTP/2 protocol, \" \\\n        \"only HTTP/2
        communication could be used.</body></html>\""
    structs: []
    typedefs: []
    union: []
- function_names:
  - mhd_h2_setting_decode3
  - mhd_h2_setting_decode
  - mhd_h2_setting_encode3
  - mhd_h2_setting_encode
  source_file: /src/mhd2/src/mhd2/h2/h2_settings.h
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: MHD_H2_SETTINGS_H
      pos:
        line_end: 49
        line_start: 48
        source_file: /src/mhd2/src/mhd2/h2/h2_settings.h
      type_or_value: '1'
    - item_type: preproc_def
      name: mhd_H2_SETTING_SIZE
      pos:
        line_end: 117
        line_start: 116
        source_file: /src/mhd2/src/mhd2/h2/h2_settings.h
      type_or_value: (6u)
    structs:
    - fields:
      - name: identifier
        type: enum mhd_H2SettingsID
      - name: value
        type: uint_least32_t
      item_type: struct
      name: mhd_H2Setting
      pos:
        line_end: 111
        line_start: 101
        source_file: /src/mhd2/src/mhd2/h2/h2_settings.h
    typedefs: []
    union: []
- function_names:
  - mhd_h2_blank_init
  source_file: /src/mhd2/src/mhd2/h2/h2_comm.h
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: MHD_H2_COMM_H
      pos:
        line_end: 46
        line_start: 45
        source_file: /src/mhd2/src/mhd2/h2/h2_comm.h
      type_or_value: '1'
    structs: []
    typedefs: []
    union: []
- function_names: []
  source_file: /src/mhd2/src/mhd2/h2/h2_frame_length.h
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: MHD_H2_FRAME_LENGTH_H
      pos:
        line_end: 46
        line_start: 45
        source_file: /src/mhd2/src/mhd2/h2/h2_frame_length.h
      type_or_value: '1'
    - item_type: preproc_def
      name: mhd_H2_FR_FIXED_LEN_PRIORITY
      pos:
        line_end: 50
        line_start: 49
        source_file: /src/mhd2/src/mhd2/h2/h2_frame_length.h
      type_or_value: (5u)
    - item_type: preproc_def
      name: mhd_H2_FR_FIXED_LEN_RST_STREAM
      pos:
        line_end: 52
        line_start: 51
        source_file: /src/mhd2/src/mhd2/h2/h2_frame_length.h
      type_or_value: (4u)
    - item_type: preproc_def
      name: mhd_H2_FR_FIXED_LEN_PING
      pos:
        line_end: 54
        line_start: 53
        source_file: /src/mhd2/src/mhd2/h2/h2_frame_length.h
      type_or_value: (8u)
    - item_type: preproc_def
      name: mhd_H2_FR_FIXED_LEN_WINDOW_UPDATE
      pos:
        line_end: 56
        line_start: 55
        source_file: /src/mhd2/src/mhd2/h2/h2_frame_length.h
      type_or_value: (4u)
    structs: []
    typedefs: []
    union: []
- function_names:
  - h2_ib_get_buff
  - h2_ib_get_buffc
  - h2_ib_get_zero_item
  - h2_ib_get_zero_itemc
  - h2_ib_get_n_item
  - h2_ib_get_n_itemc
  - h2_ib_get_buff_free_size
  - h2_ib_get_buff_free_ptr
  - mhd_h2_items_block_create
  - mhd_h2_items_block_destroy
  - mhd_h2_items_block_reset
  - mhd_h2_items_get_buff_new_item
  - mhd_h2_items_reserve_new_item
  - mhd_h2_items_add_new_item_buff
  - mhd_h2_items_add_new_item_reserved
  - mhd_h2_items_cancel_new_item_buff
  - mhd_h2_items_get_strings_buff
  - mhd_h2_items_get_strings_buffc
  - mhd_h2_items_get_item_n
  - mhd_h2_items_get_item_nc
  - mhd_h2_items_get_item_name
  - mhd_h2_items_get_item_value
  - mhd_h2_items_get_item_kind
  - mhd_h2_items_get_item_full
  - mhd_h2_items_debug_set_streamid
  - mhd_h2_items_debug_get_streamid
  source_file: /src/mhd2/src/mhd2/h2/h2_req_items_funcs.c
  types:
    enum: []
    preproc_defs: []
    structs:
    - fields:
      - name: num_items
        type: size_t
      - name: buf_size
        type: size_t
      - name: start_free
        type: uint_least32_t
      item_type: struct
      name: mhd_H2ReqItemsBlock
      pos:
        line_end: 85
        line_start: 64
        source_file: /src/mhd2/src/mhd2/h2/h2_req_items_funcs.c
    typedefs: []
    union: []
- function_names:
  - mhd_H2_FRAME_DEC_ERR_IS_HARD
  - mhd_h2_frame_get_total_size
  source_file: /src/mhd2/src/mhd2/h2/h2_frame_codec.h
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: MHD_H2_FRAME_CODEC_H
      pos:
        line_end: 46
        line_start: 45
        source_file: /src/mhd2/src/mhd2/h2/h2_frame_codec.h
      type_or_value: '1'
    - item_type: preproc_def
      name: mhd_H2_FR_HDR_BASE_SIZE
      pos:
        line_end: 64
        line_start: 63
        source_file: /src/mhd2/src/mhd2/h2/h2_frame_codec.h
      type_or_value: (9u)
    - item_type: preproc_def
      name: mhd_H2_FR_SIZE_MIN
      pos:
        line_end: 69
        line_start: 68
        source_file: /src/mhd2/src/mhd2/h2/h2_frame_codec.h
      type_or_value: mhd_H2_FR_HDR_BASE_SIZE
    - item_type: preproc_def
      name: mhd_H2_FR_HDR_EXTRA_SIZE_MAX
      pos:
        line_end: 74
        line_start: 73
        source_file: /src/mhd2/src/mhd2/h2/h2_frame_codec.h
      type_or_value: (8u)
    structs: []
    typedefs: []
    union: []
- function_names: []
  source_file: /src/mhd2/src/mhd2/h2/h2_proc_out.h
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: MHD_H2_PROC_OUT_H
      pos:
        line_end: 46
        line_start: 45
        source_file: /src/mhd2/src/mhd2/h2/h2_proc_out.h
      type_or_value: '1'
    structs: []
    typedefs: []
    union: []
- function_names:
  - mhd_h2_conn_process_first_fr
  - mhd_h2_conn_process_in_goaway
  - mhd_h2_conn_update_stream_init_window
  - conn_win_update
  - mhd_h2_conn_process_changes
  - mhd_h2_conn_finish
  source_file: /src/mhd2/src/mhd2/h2/h2_proc_conn.c
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - req_items_kind_mask
  - mhd_h2_request_get_value_n
  - req_item_kind_h2_to_h1
  - mhd_h2_request_get_values_cb
  source_file: /src/mhd2/src/mhd2/h2/h2_req_get_items.c
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - mhd_h2_frame_init_data
  - mhd_h2_frame_init_headers
  - mhd_h2_frame_init_rst_stream
  - mhd_h2_frame_init_settings
  - mhd_h2_frame_init_ping
  - mhd_h2_frame_init_goaway
  - mhd_h2_frame_init_window_update
  - mhd_h2_frame_init_continuation
  source_file: /src/mhd2/src/mhd2/h2/h2_frame_init.h
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: MHD_H2_FRAME_INIT_H
      pos:
        line_end: 46
        line_start: 45
        source_file: /src/mhd2/src/mhd2/h2/h2_frame_init.h
      type_or_value: '1'
    structs: []
    typedefs: []
    union: []
- function_names: []
  source_file: /src/mhd2/src/mhd2/h2/h2_action.h
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: MHD_H2_ACTION_H
      pos:
        line_end: 46
        line_start: 45
        source_file: /src/mhd2/src/mhd2/h2/h2_action.h
      type_or_value: '1'
    structs: []
    typedefs: []
    union: []
- function_names: []
  source_file: /src/mhd2/src/mhd2/h2/h2_req_fields.h
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: MHD_H2_REQ_FIELDS_H
      pos:
        line_end: 46
        line_start: 45
        source_file: /src/mhd2/src/mhd2/h2/h2_req_fields.h
      type_or_value: '1'
    structs: []
    typedefs: []
    union: []
- function_names:
  - mhd_h2_req_fields_decode
  - req_validate_fields_chars
  - req_pseudoheaders_preprocess
  - req_headers_preprocess
  - mhd_h2_req_headers_preprocess
  - mhd_h2_req_uri_parse
  - mhd_h2_req_cookie_parse
  source_file: /src/mhd2/src/mhd2/h2/h2_req_fields.c
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names: []
  source_file: /src/mhd2/src/mhd2/h2/h2_proc_conn.h
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: MHD_H2_PROC_CONN_H
      pos:
        line_end: 46
        line_start: 45
        source_file: /src/mhd2/src/mhd2/h2/h2_proc_conn.h
      type_or_value: '1'
    structs: []
    typedefs: []
    union: []
- function_names:
  - mhd_h2_out_buff_has_space_sz
  - mhd_h2_out_buff_has_space_fr
  - mhd_h2_out_buff_acquire_fr_w_payload_l
  - mhd_h2_out_buff_acquire_fr_w_payload
  - mhd_h2_out_buff_unlock
  - mhd_h2_q_frame_no_payload
  - mhd_h2_q_rst_stream
  - mhd_h2_q_ping
  - mhd_h2_q_goaway
  - mhd_h2_q_window_update
  source_file: /src/mhd2/src/mhd2/h2/h2_proc_out.c
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - conn_add_new_stream
  - conn_remove_stream
  - conn_find_stream
  - mhd_h2_stream_req_problem
  - stream_send_rst_stream
  - mhd_h2_stream_abort
  - stream_proc_complete_headers
  - stream_proc_in_headers
  - conn_proc_new_in_stream
  - mhd_h2_conn_streamid_in_headers
  - mhd_h2_conn_streamid_in_continuation
  - stream_set_reply_props
  - stream_start_replying
  - mhd_h2_conn_streamid_in_rst_stream
  - mhd_h2_conn_streamid_window_incr
  - mhd_h2_conn_streamid_abort
  - stream_maintain_rcv_window
  - stream_is_closed
  - mhd_h2_conn_maintain_streams_all
  - mhd_h2_conn_process_streams_sending_queue
  - mhd_h2_conn_close_streams_all
  source_file: /src/mhd2/src/mhd2/h2/h2_conn_streams.c
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - mhd_h2_items_cancel_new_item_buff
  - mhd_h2_items_debug_set_streamid
  - mhd_h2_items_debug_get_streamid
  source_file: /src/mhd2/src/mhd2/h2/h2_req_items_funcs.h
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: MHD_H2_REQ_ITEMS_FUNCS_H
      pos:
        line_end: 46
        line_start: 45
        source_file: /src/mhd2/src/mhd2/h2/h2_req_items_funcs.h
      type_or_value: '1'
    structs: []
    typedefs: []
    union: []
- function_names: []
  source_file: /src/mhd2/src/mhd2/h2/h2_err_codes.h
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: MHD_H2_ERR_CODES_H
      pos:
        line_end: 46
        line_start: 45
        source_file: /src/mhd2/src/mhd2/h2/h2_err_codes.h
      type_or_value: '1'
    structs: []
    typedefs: []
    union: []
- function_names: []
  source_file: /src/mhd2/src/mhd2/h2/h2_reply_funcs.h
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: MHD_H2_REPLY_FUNCS_H
      pos:
        line_end: 46
        line_start: 45
        source_file: /src/mhd2/src/mhd2/h2/h2_reply_funcs.h
      type_or_value: '1'
    structs: []
    typedefs: []
    union: []
- function_names: []
  source_file: /src/mhd2/src/mhd2/h2/h2_resp_data.h
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: MHD_H2_RESP_DATA_H
      pos:
        line_end: 46
        line_start: 45
        source_file: /src/mhd2/src/mhd2/h2/h2_resp_data.h
      type_or_value: '1'
    structs:
    - fields:
      - name: name
        type: struct mhd_BufferConst
      - name: value
        type: struct mhd_BufferConst
      item_type: struct
      name: mhd_H2ResponseHeader
      pos:
        line_end: 66
        line_start: 54
        source_file: /src/mhd2/src/mhd2/h2/h2_resp_data.h
    typedefs: []
    union: []
- function_names:
  - mhd_h2_act_is_resp_h2_compatible
  source_file: /src/mhd2/src/mhd2/h2/h2_action.c
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names: []
  source_file: /src/mhd2/src/mhd2/h2/h2_req_data.h
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: MHD_H2_REQ_DATA_H
      pos:
        line_end: 46
        line_start: 45
        source_file: /src/mhd2/src/mhd2/h2/h2_req_data.h
      type_or_value: '1'
    structs:
    - fields:
      - name: is_http2
        type: bool
      - name: stage
        type: enum mhd_H2ReqStage
      - name: got_end_stream
        type: bool
      - name: method
        type: enum mhd_HTTP_Method
      - name: cntn_size
        type: uint_fast64_t
      - name: pos_method
        type: size_t
      - name: pos_path
        type: size_t
      - name: pos_authority
        type: size_t
      - name: app_act
        type: struct mhd_ApplicationAction
      - name: app_seen
        type: bool
      - name: '*app_context'
        type: void
      item_type: struct
      name: mhd_H2RequestData
      pos:
        line_end: 146
        line_start: 99
        source_file: /src/mhd2/src/mhd2/h2/h2_req_data.h
    typedefs: []
    union: []
- function_names: []
  source_file: /src/mhd2/src/mhd2/h2/h2_stream_data.h
  types:
    enum:
    - enumerators:
      - name: mhd_H2_RPL_STAGE_HEADERS_INCOMPLETE
        value: '0'
      - name: mhd_H2_RPL_STAGE_HEADERS_COMPLETE
      - name: mhd_H2_RPL_STAGE_TRAILERS_INCOMPLETE
      - name: mhd_H2_RPL_STAGE_END_STREAM
      - name: mhd_H2_RPL_STAGE_BROKEN
      item_type: enum
      name: mhd_H2ReplyStage
      pos:
        line_end: 77
        line_start: 67
        source_file: /src/mhd2/src/mhd2/h2/h2_stream_data.h
    preproc_defs:
    - item_type: preproc_def
      name: MHD_H2_STREAM_DATA_H
      pos:
        line_end: 46
        line_start: 45
        source_file: /src/mhd2/src/mhd2/h2/h2_stream_data.h
      type_or_value: '1'
    - item_type: preproc_def
      name: mhd_H2_REQ_ITEM_POS_INVALID
      pos:
        line_end: 59
        line_start: 58
        source_file: /src/mhd2/src/mhd2/h2/h2_stream_data.h
      type_or_value: ((size_t) (~((size_t) 0u)))
    - item_type: preproc_def
      name: MHD_SIZE_UNKNOWN
      pos:
        line_end: 62
        line_start: 61
        source_file: /src/mhd2/src/mhd2/h2/h2_stream_data.h
      type_or_value: ((uint_least64_t) 0xFFFFFFFFFFFFFFFFu)
    structs:
    - fields:
      - name: auto_cntn_len
        type: bool
      - name: num_sent
        type: size_t
      item_type: struct
      name: mhd_H2ReplyFieldsData
      pos:
        line_end: 84
        line_start: 79
        source_file: /src/mhd2/src/mhd2/h2/h2_stream_data.h
    - fields:
      - name: '*response'
        type: struct MHD_Response
      - name: stage
        type: enum mhd_H2ReplyStage
      - name: fields
        type: struct mhd_H2ReplyFieldsData
      - name: cntn_read_pos
        type: uint_fast64_t
      - name: send_content
        type: bool
      item_type: struct
      name: mhd_H2ReplyData
      pos:
        line_end: 101
        line_start: 86
        source_file: /src/mhd2/src/mhd2/h2/h2_stream_data.h
    - fields:
      - name: send_window
        type: int_least32_t
      - name: recv_window
        type: int_least32_t
      - name: rcvd_rst_stream
        type: bool
      - name: peer_err
        type: enum mhd_H2ErrorCode
      - name: sent_rst_stream
        type: bool
      - name: mhd_err
        type: enum mhd_H2ErrorCode
      item_type: struct
      name: mhd_H2StreamState
      pos:
        line_end: 114
        line_start: 103
        source_file: /src/mhd2/src/mhd2/h2/h2_stream_data.h
    - fields:
      - name: is_h2
        type: bool
      - name: stream_id
        type: uint_least32_t
      - name: '*c'
        type: struct MHD_Connection
      - name: req
        type: struct mhd_H2RequestData
      - name: rpl
        type: struct mhd_H2ReplyData
      - name: state
        type: struct mhd_H2StreamState
      item_type: struct
      name: mhd_H2Stream
      pos:
        line_end: 149
        line_start: 120
        source_file: /src/mhd2/src/mhd2/h2/h2_stream_data.h
    typedefs: []
    union: []
- function_names: []
  source_file: /src/mhd2/src/mhd2/h2/h2_frame_types.h
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: MHD_H2_FRAME_TYPES_H
      pos:
        line_end: 46
        line_start: 45
        source_file: /src/mhd2/src/mhd2/h2/h2_frame_types.h
      type_or_value: '1'
    structs:
    - fields:
      - name: length
        type: uint_least32_t
      - name: type
        type: enum mhd_H2FrameDataID
      - name: stream_id
        type: uint_least32_t
      - name: padded
        type: bool
      - name: end_stream
        type: bool
      - name: pad_length
        type: uint_least8_t
      item_type: struct
      name: mhd_H2FrameDataInfo
      pos:
        line_end: 71
        line_start: 61
        source_file: /src/mhd2/src/mhd2/h2/h2_frame_types.h
    - fields:
      - name: length
        type: uint_least32_t
      - name: type
        type: enum mhd_H2FrameHeadersID
      - name: stream_id
        type: uint_least32_t
      - name: priority
        type: bool
      - name: padded
        type: bool
      - name: end_headers
        type: bool
      - name: end_stream
        type: bool
      - name: pad_length
        type: uint_least8_t
      - name: exclusive
        type: bool
      - name: stream_dependency
        type: uint_least32_t
      - name: weight
        type: uint_least8_t
      item_type: struct
      name: mhd_H2FrameHeadersInfo
      pos:
        line_end: 95
        line_start: 80
        source_file: /src/mhd2/src/mhd2/h2/h2_frame_types.h
    - fields:
      - name: length
        type: uint_least32_t
      - name: type
        type: enum mhd_H2FramePriorityID
      - name: stream_id
        type: uint_least32_t
      - name: exclusive
        type: bool
      - name: stream_dependency
        type: uint_least32_t
      - name: weight
        type: uint_least8_t
      item_type: struct
      name: mhd_H2FramePriorityInfo
      pos:
        line_end: 113
        line_start: 104
        source_file: /src/mhd2/src/mhd2/h2/h2_frame_types.h
    - fields:
      - name: length
        type: uint_least32_t
      - name: type
        type: enum mhd_H2FrameRstStreamID
      - name: stream_id
        type: uint_least32_t
      - name: error_code
        type: enum mhd_H2ErrorCode
      item_type: struct
      name: mhd_H2FrameRstStreamInfo
      pos:
        line_end: 129
        line_start: 122
        source_file: /src/mhd2/src/mhd2/h2/h2_frame_types.h
    - fields:
      - name: length
        type: uint_least32_t
      - name: type
        type: enum mhd_H2FrameSettingsID
      - name: stream_id
        type: uint_least32_t
      - name: ack
        type: bool
      item_type: struct
      name: mhd_H2FrameSettingsInfo
      pos:
        line_end: 145
        line_start: 138
        source_file: /src/mhd2/src/mhd2/h2/h2_frame_types.h
    - fields:
      - name: length
        type: uint_least32_t
      - name: type
        type: enum mhd_H2FramePushPromiseID
      - name: stream_id
        type: uint_least32_t
      - name: padded
        type: bool
      - name: end_headers
        type: bool
      - name: pad_length
        type: uint_least8_t
      - name: promised_stream_id
        type: uint_least32_t
      item_type: struct
      name: mhd_H2FramePushPromiseInfo
      pos:
        line_end: 165
        line_start: 154
        source_file: /src/mhd2/src/mhd2/h2/h2_frame_types.h
    - fields:
      - name: length
        type: uint_least32_t
      - name: type
        type: enum mhd_H2FramePingID
      - name: stream_id
        type: uint_least32_t
      - name: ack
        type: bool
      - name: opaque_data[8]
        type: uint8_t
      item_type: struct
      name: mhd_H2FramePingInfo
      pos:
        line_end: 183
        line_start: 174
        source_file: /src/mhd2/src/mhd2/h2/h2_frame_types.h
    - fields:
      - name: length
        type: uint_least32_t
      - name: type
        type: enum mhd_H2FrameGoawayID
      - name: stream_id
        type: uint_least32_t
      - name: last_stream_id
        type: uint_least32_t
      - name: error_code
        type: enum mhd_H2ErrorCode
      item_type: struct
      name: mhd_H2FrameGoawayInfo
      pos:
        line_end: 200
        line_start: 192
        source_file: /src/mhd2/src/mhd2/h2/h2_frame_types.h
    - fields:
      - name: length
        type: uint_least32_t
      - name: type
        type: enum mhd_H2FrameWindowUpdateID
      - name: stream_id
        type: uint_least32_t
      - name: window_size_increment
        type: uint_least32_t
      item_type: struct
      name: mhd_H2FrameWindowUpdateInfo
      pos:
        line_end: 216
        line_start: 209
        source_file: /src/mhd2/src/mhd2/h2/h2_frame_types.h
    - fields:
      - name: length
        type: uint_least32_t
      - name: type
        type: enum mhd_H2FrameContinuationID
      - name: stream_id
        type: uint_least32_t
      - name: end_headers
        type: bool
      item_type: struct
      name: mhd_H2FrameContinuationInfo
      pos:
        line_end: 232
        line_start: 225
        source_file: /src/mhd2/src/mhd2/h2/h2_frame_types.h
    - fields:
      - name: length
        type: uint_least32_t
      - name: type
        type: enum mhd_H2FrameIDs
      - name: stream_id
        type: uint_least32_t
      item_type: struct
      name: mhd_H2FrameSelector
      pos:
        line_end: 255
        line_start: 250
        source_file: /src/mhd2/src/mhd2/h2/h2_frame_types.h
    typedefs: []
    union:
    - fields:
      - name: data
        type: struct mhd_H2FrameDataInfo
      - name: headers
        type: struct mhd_H2FrameHeadersInfo
      - name: priority
        type: struct mhd_H2FramePriorityInfo
      - name: rst_stream
        type: struct mhd_H2FrameRstStreamInfo
      - name: settings
        type: struct mhd_H2FrameSettingsInfo
      - name: push_promise
        type: struct mhd_H2FramePushPromiseInfo
      - name: ping
        type: struct mhd_H2FramePingInfo
      - name: goaway
        type: struct mhd_H2FrameGoawayInfo
      - name: window_update
        type: struct mhd_H2FrameWindowUpdateInfo
      - name: continuation
        type: struct mhd_H2FrameContinuationInfo
      - name: selector
        type: struct mhd_H2FrameSelector
      item_type: union
      name: mhd_H2FrameUnion
      pos:
        line_end: 272
        line_start: 258
        source_file: /src/mhd2/src/mhd2/h2/h2_frame_types.h
- function_names: []
  source_file: /src/mhd2/src/mhd2/h2/h2_bit_masks.h
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: MHD_H2_BIT_MASKS_H
      pos:
        line_end: 46
        line_start: 45
        source_file: /src/mhd2/src/mhd2/h2/h2_bit_masks.h
      type_or_value: '1'
    - item_type: preproc_def
      name: mhd_MASK_31BITS
      pos:
        line_end: 54
        line_start: 53
        source_file: /src/mhd2/src/mhd2/h2/h2_bit_masks.h
      type_or_value: (0x7FFFFFFFu)
    - item_type: preproc_def
      name: mhd_MASK_24BITS
      pos:
        line_end: 58
        line_start: 57
        source_file: /src/mhd2/src/mhd2/h2/h2_bit_masks.h
      type_or_value: (0xFFFFFFu)
    - item_type: preproc_def
      name: mhd_H2_STREAM_ID_MASK
      pos:
        line_end: 63
        line_start: 62
        source_file: /src/mhd2/src/mhd2/h2/h2_bit_masks.h
      type_or_value: mhd_MASK_31BITS
    - item_type: preproc_def
      name: mhd_H2_FR_LENGTH_MASK
      pos:
        line_end: 67
        line_start: 66
        source_file: /src/mhd2/src/mhd2/h2/h2_bit_masks.h
      type_or_value: mhd_MASK_24BITS
    structs: []
    typedefs: []
    union: []
- function_names: []
  source_file: /src/mhd2/src/mhd2/h2/h2_req_get_items.h
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: MHD_H2_REQ_GET_ITEMS_H
      pos:
        line_end: 46
        line_start: 45
        source_file: /src/mhd2/src/mhd2/h2/h2_req_get_items.h
      type_or_value: '1'
    structs: []
    typedefs: []
    union: []
- function_names: []
  source_file: /src/mhd2/src/mhd2/h2/h2_proc_settings.h
  types:
    enum:
    - enumerators:
      - name: mhd_H2_STNGS_PROC_OK
        value: '0'
      - name: mhd_H2_STNGS_PROC_STNGS_ERR
      - name: mhd_H2_STNGS_PROC_NO_OUT_BUFF
      item_type: enum
      name: mhd_H2SettingsProcessResult
      pos:
        line_end: 93
        line_start: 74
        source_file: /src/mhd2/src/mhd2/h2/h2_proc_settings.h
    preproc_defs:
    - item_type: preproc_def
      name: MHD_H2_PROC_SETTINGS_H
      pos:
        line_end: 46
        line_start: 45
        source_file: /src/mhd2/src/mhd2/h2/h2_proc_settings.h
      type_or_value: '1'
    - item_type: preproc_def
      name: mhd_H2_STNG_DEF_INIT_WIN_SIZE
      pos:
        line_end: 55
        line_start: 54
        source_file: /src/mhd2/src/mhd2/h2/h2_proc_settings.h
      type_or_value: (65535u)
    - item_type: preproc_def
      name: mhd_H2_STNG_MIN_MAX_FRAME_SIZE
      pos:
        line_end: 60
        line_start: 59
        source_file: /src/mhd2/src/mhd2/h2/h2_proc_settings.h
      type_or_value: (16384u)
    - item_type: preproc_def
      name: mhd_H2_STNG_MAX_MAX_FRAME_SIZE
      pos:
        line_end: 65
        line_start: 64
        source_file: /src/mhd2/src/mhd2/h2/h2_proc_settings.h
      type_or_value: (16777215u)
    - item_type: preproc_def
      name: mhd_H2_STNG_DEF_MAX_FRAME_SIZE
      pos:
        line_end: 70
        line_start: 69
        source_file: /src/mhd2/src/mhd2/h2/h2_proc_settings.h
      type_or_value: mhd_H2_STNG_MIN_MAX_FRAME_SIZE
    structs: []
    typedefs: []
    union: []
- function_names: []
  source_file: /src/mhd2/src/mhd2/h2/h2_app_cb.h
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: MHD_H2_APP_CB_H
      pos:
        line_end: 46
        line_start: 45
        source_file: /src/mhd2/src/mhd2/h2/h2_app_cb.h
      type_or_value: '1'
    structs: []
    typedefs: []
    union: []
- function_names:
  - mhd_DTBL_VALUE_FITS
  - mhd_DTBL_VALUE_FITS
  - dtbl_new_entry_strs_size_formal
  - dtbl_new_entry_size_formal
  - dtbl_entr_strs_size_min
  - dtbl_entr_strs_size_optm
  - dtbl_entr_size_formal
  - dtbl_entr_strs_start
  - dtbl_entr_strs_end_min
  - dtbl_entr_strs_end_optm
  - dtbl_get_num_entries
  - dtbl_is_empty
  - dtbl_get_strs_buff
  - dtbl_get_strs_buffc
  - dtbl_get_infos
  - dtbl_get_infosc
  - dtbl_get_pos_edge
  - dtbl_get_pos_prev
  - dtbl_get_pos_next
  - dtbl_get_pos_newest
  - dtbl_get_pos_oldest
  - dtbl_get_pos_from_hpack_idx
  - dtbl_get_hpack_idx_from_pos
  - dtbl_get_strs_ceiling
  - dtbl_get_size_max_formal
  - dtbl_get_free_formal
  - dtbl_get_used_formal
  - dtbl_pos_entry_info
  - dtbl_pos_entry_infoc
  - dtbl_zero_entry_info
  - dtbl_zero_entry_infoc
  - dtbl_edge_entry_info
  - dtbl_edge_entry_infoc
  - dtbl_newest_entry_info
  - dtbl_newest_entry_infoc
  - dtbl_oldest_entry_info
  - dtbl_oldest_entry_infoc
  - dtbl_pos_strs_size_min
  - dtbl_pos_strs_size_optm
  - dtbl_pos_size_formal
  - dtbl_pos_strs_start
  - dtbl_pos_strs_end_min
  - dtbl_pos_strs_end_optm
  - dtbl_entr_strs_ptr_start
  - dtbl_entr_strs_ptr_startc
  - dtbl_entr_strs_ptr_end
  - dtbl_entr_strs_ptr_endc
  - dtbl_entr_strs_ptr_end_slackc
  - dtbl_entr_strs_ptr_namec
  - dtbl_entr_strs_ptr_valuec
  - dtbl_entr_as_edge_get_gap
  - dtbl_pos_strs_ptr_start
  - dtbl_pos_strs_ptr_startc
  - dtbl_pos_strs_ptr_end
  - dtbl_pos_strs_ptr_endc
  - dtbl_pos_strs_ptr_end_slackc
  - dtbl_pos_as_edge_get_gap
  - dtbl_get_infos_as_array
  - dtbl_get_infos_as_arrayc
  - dtbl_edge_gap
  - dtbl_bottom_gap
  - dtbl_choose_strs_offset_for_size
  - dtbl_reset
  - dtbl_move_strs_down
  - dtbl_move_strs_up
  - dtbl_compact_strs
  - dtbl_choose_strs_offset
  - dtbl_zeroout_strs_slack_ptr_space
  - dtbl_zeroout_strs_slack_offset_space
  - dtbl_zeroout_strs_slack_offset_next
  - dtbl_zeroout_strs_slack_entry_space
  - dtbl_zeroout_strs_slack_entry_next
  - dtbl_zeroout_strs_slack_pos
  - dtbl_zeroout_strs_slack_ptr_space
  - dtbl_zeroout_strs_slack_offset_space
  - dtbl_zeroout_strs_slack_offset_next
  - dtbl_zeroout_strs_slack_entry_space
  - dtbl_zeroout_strs_slack_entry_next
  - dtbl_zeroout_strs_slack_pos
  - dtbl_new_entry_copy_entr_strs
  - dtbl_new_edge_peek_slot
  - dtbl_move_infos_up
  - dtbl_move_infos_pos
  - dtbl_check_internals
  - dtbl_check_internals
  - "(3, 2) MHD_FN_PAR_IN_SIZE_ (5, 4) void\ndtbl_add_first_entry (struct mhd_HpackDTblContext
    *restrict dyn,\n                      const dtbl_size_ft name_len,\n                      const
    char *restrict name,\n                      const dtbl_size_ft val_len,\n                      const
    char *restrict val)"
  - "(3, 2) MHD_FN_PAR_IN_SIZE_ (5, 4) void\ndtbl_add_new_entry_at_new_edge (struct
    mhd_HpackDTblContext *restrict dyn,\n                                const dtbl_size_ft
    name_len,\n                                const char *restrict name,\n                                const
    dtbl_size_ft val_len,\n                                const char *restrict val)"
  - dtbl_insert_next_new_entry
  - dtbl_extend_with_entry
  - "(3, 2) MHD_FN_PAR_IN_SIZE_ (5, 4) void\ndtbl_evict_add_entry (struct mhd_HpackDTblContext
    *restrict dyn,\n                      const dtbl_size_ft name_len,\n                      const
    char *restrict name,\n                      const dtbl_size_ft val_len,\n                      const
    char *restrict val)"
  - dtbl_evict_to_size
  - dtbl_perform_resize
  - dtbl_adapt_to_new_size
  - dtbl_size_t::dtbl_calc_alloc_size
  - "(3, 2) MHD_FN_PAR_IN_SIZE_ (5, 4) dtbl_idx_t\ndtbl_find_entry (const struct mhd_HpackDTblContext
    *restrict dyn,\n                 dtbl_size_ft name_len,\n                 const
    char *restrict name,\n                 dtbl_size_ft val_len,\n                 const
    char *restrict val)"
  - "(3, 2) dtbl_idx_t\ndtbl_find_name (const struct mhd_HpackDTblContext *restrict
    dyn,\n                dtbl_size_ft name_len,\n                const char *restrict
    name)"
  - mhd_dtbl_create
  - mhd_dtbl_destroy
  - mhd_dtbl_get_table_max_size
  - mhd_dtbl_get_table_used
  - mhd_dtbl_get_num_entries
  - mhd_dtbl_evict_to_size
  - mhd_dtbl_resize
  - mhd_dtbl_check_entry_fit
  - "(3, 2) MHD_FN_PAR_IN_SIZE_ (5, 4) void\nmhd_dtbl_new_entry (struct mhd_HpackDTblContext
    *restrict dyn,\n                    size_t name_len,\n                    const
    char *restrict name,\n                    size_t val_len,\n                    const
    char *restrict val)"
  - "(3) MHD_FN_PAR_OUT_ (4) bool\nmhd_dtbl_get_entry (const struct mhd_HpackDTblContext
    *restrict dyn,\n                    dtbl_idx_ft idx,\n                    struct
    mhd_BufferConst *restrict name_out,\n                    struct mhd_BufferConst
    *restrict value_out)"
  - "(3, 2) MHD_FN_PAR_IN_SIZE_ (5, 4) dtbl_idx_t\nmhd_dtbl_find_entry (const struct
    mhd_HpackDTblContext *restrict dyn,\n                     size_t name_len,\n                     const
    char *restrict name,\n                     size_t val_len,\n                     const
    char *restrict val)"
  - "(3, 2) dtbl_idx_t\nmhd_dtbl_find_name (const struct mhd_HpackDTblContext *restrict
    dyn,\n                    size_t name_len,\n                    const char *restrict
    name)"
  - stbl_get_pos_from_hpack_idx
  - stbl_get_hpack_idx_from_pos
  - stbl_pos_entry_info
  - stbl_idx_entry_info
  - "(2) MHD_FN_PAR_OUT_ (3) void\nmhd_stbl_get_entry (dtbl_idx_ft idx,\n                    struct
    mhd_BufferConst *restrict name_out,\n                    struct mhd_BufferConst
    *restrict value_out)"
  - "(2, 1) MHD_FN_PAR_IN_SIZE_ (4, 3) dtbl_idx_t\nmhd_stbl_find_entry_real (size_t
    name_len,\n                          const char *restrict name,\n                          size_t
    val_len,\n                          const char *restrict val)"
  - "(2, 1) dtbl_idx_t\nmhd_stbl_find_name_real (size_t name_len,\n                         const
    char *restrict name)"
  - "(3) MHD_FN_PAR_OUT_ (4) bool\nmhd_htbl_get_entry (const struct mhd_HpackDTblContext
    *restrict dyn,\n                    dtbl_idx_ft idx,\n                    struct
    mhd_BufferConst *restrict name_out,\n                    struct mhd_BufferConst
    *restrict value_out)"
  - "(3, 2) MHD_FN_PAR_IN_SIZE_ (5, 4) dtbl_idx_t\nmhd_htbl_find_entry_real (const
    struct mhd_HpackDTblContext *restrict dyn,\n                          size_t name_len,\n
    \                         const char *restrict name,\n                          size_t
    val_len,\n                          const char *restrict val)"
  - "(3, 2) dtbl_idx_t\nmhd_htbl_find_name_real (const struct mhd_HpackDTblContext
    *restrict dyn,\n                         size_t name_len,\n                         const
    char *restrict name)"
  - hpack_dec_number
  - mhd_hpack_dec_init
  - mhd_hpack_dec_deinit
  - mhd_hpack_dec_set_allowed_dyn_size
  - dec_check_resize_pending
  - hpack_dec_field_indexed
  - hpack_dec_string_literal
  - hpack_dec_field_literal
  - "(3, 2)\nMHD_FN_PAR_OUT_ (4) enum mhd_HpackDecResult\ndec_update_dyn_size (struct
    mhd_HpackDecContext *restrict hk_dec,\n                     const size_t enc_data_size,\n
    \                    const uint8_t *restrict enc_data,\n                     size_t
    *restrict bytes_decoded)"
  - mhd_hpack_dec_data
  - hpack_number_len
  - "(5, 4) size_t\nhpack_put_number_to_buf (uint_fast8_t first_byte_prefix,\n                         uint_fast8_t
    first_byte_prefix_bits,\n                         uint_fast32_t number,\n                         size_t
    buf_size,\n                         uint8_t buf[MHD_FN_PAR_DYN_ARR_SIZE_ (buf_size)])"
  - mhd_hpack_enc_init
  - mhd_hpack_enc_deinit
  - mhd_hpack_enc_set_dyn_size
  - mhd_hpack_enc_dyn_resize
  - hpack_enc_field_indexed
  - hpack_enc_string_literal
  - hpack_enc_field_literal
  - hpack_enc_field
  - "(3, 2) MHD_FN_PAR_OUT_ (4) bool\nhpack_enc_check_dyn_size_update (\n  struct
    mhd_HpackEncContext *restrict hk_enc,\n  size_t out_buff_size,\n  uint8_t *restrict
    out_buff,\n  size_t *restrict bytes_encoded)"
  - hpack_enc_perform_dyn_size_update
  - mhd_hpack_enc_field
  - status_to_str
  - hpack_enc_pf_status
  - mhd_hpack_enc_ph_status
  source_file: /src/mhd2/src/mhd2/h2/hpack/mhd_hpack_codec.c
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: mhd_HPACK_STBL_ENTRIES
      pos:
        line_end: 83
        line_start: 82
        source_file: /src/mhd2/src/mhd2/h2/hpack/mhd_hpack_codec.c
      type_or_value: (61u)
    - item_type: preproc_def
      name: mhd_HPACK_STBL_LAST_IDX
      pos:
        line_end: 88
        line_start: 87
        source_file: /src/mhd2/src/mhd2/h2/hpack/mhd_hpack_codec.c
      type_or_value: mhd_HPACK_STBL_ENTRIES
    - item_type: preproc_def
      name: mhd_DTBL_ENTRY_INFO_SIZE
      pos:
        line_end: 220
        line_start: 218
        source_file: /src/mhd2/src/mhd2/h2/hpack/mhd_hpack_codec.c
      type_or_value: ((dtbl_size_t) (sizeof(struct mhd_HpackDTblEntryInfo)))
    - item_type: preproc_def
      name: mhd_HPACK_ENTRY_OVERHEAD
      pos:
        line_end: 228
        line_start: 227
        source_file: /src/mhd2/src/mhd2/h2/hpack/mhd_hpack_codec.c
      type_or_value: (32u)
    - item_type: preproc_def
      name: mhd_HPACK_MAX_POSSIBLE_IDX
      pos:
        line_end: 265
        line_start: 262
        source_file: /src/mhd2/src/mhd2/h2/hpack/mhd_hpack_codec.c
      type_or_value: "((mhd_DTBL_MAX_SIZE / mhd_HPACK_ENTRY_OVERHEAD) \\\n         +
        mhd_HPACK_STBL_LAST_IDX)"
    - item_type: preproc_def
      name: mhd_HPACK_STBL_PF_STATUS_START_POS
      pos:
        line_end: 3997
        line_start: 3996
        source_file: /src/mhd2/src/mhd2/h2/hpack/mhd_hpack_codec.c
      type_or_value: (8u)
    - item_type: preproc_def
      name: mhd_HPACK_STBL_NORM_START_POS
      pos:
        line_end: 4076
        line_start: 4075
        source_file: /src/mhd2/src/mhd2/h2/hpack/mhd_hpack_codec.c
      type_or_value: (14u)
    - item_type: preproc_def
      name: mhd_HPACK_STBL_NORM_WITH_VALUE_POS
      pos:
        line_end: 4082
        line_start: 4081
        source_file: /src/mhd2/src/mhd2/h2/hpack/mhd_hpack_codec.c
      type_or_value: (15u)
    structs:
    - fields:
      - name: offset
        type: dtbl_size_t
      - name: name_len
        type: dtbl_size_t
      - name: val_len
        type: dtbl_size_t
      item_type: struct
      name: mhd_HpackDTblEntryInfo
      pos:
        line_end: 213
        line_start: 196
        source_file: /src/mhd2/src/mhd2/h2/hpack/mhd_hpack_codec.c
    - fields:
      - name: buf_alloc_size
        type: dtbl_size_t
      - name: num_entries
        type: dtbl_idx_t
      - name: newest_pos
        type: dtbl_idx_t
      - name: cur_size
        type: dtbl_size_t
      - name: size_limit
        type: dtbl_size_t
      item_type: struct
      name: mhd_HpackDTblContext
      pos:
        line_end: 476
        line_start: 442
        source_file: /src/mhd2/src/mhd2/h2/hpack/mhd_hpack_codec.c
    - fields:
      - name: name
        type: struct MHD_String
      - name: value
        type: struct MHD_String
      item_type: struct
      name: mhd_HpackStaticEntry
      pos:
        line_end: 3914
        line_start: 3904
        source_file: /src/mhd2/src/mhd2/h2/hpack/mhd_hpack_codec.c
    typedefs:
    - item_type: typedef
      name: dtbl_size_t
      pos:
        line_end: 108
        line_start: 108
        source_file: /src/mhd2/src/mhd2/h2/hpack/mhd_hpack_codec.c
      type: uint_least32_t
    - item_type: typedef
      name: dtbl_size_ft
      pos:
        line_end: 115
        line_start: 115
        source_file: /src/mhd2/src/mhd2/h2/hpack/mhd_hpack_codec.c
      type: uint_fast32_t
    - item_type: typedef
      name: dtbl_idx_t
      pos:
        line_end: 121
        line_start: 121
        source_file: /src/mhd2/src/mhd2/h2/hpack/mhd_hpack_codec.c
      type: uint_least32_t
    - item_type: typedef
      name: dtbl_idx_ft
      pos:
        line_end: 128
        line_start: 128
        source_file: /src/mhd2/src/mhd2/h2/hpack/mhd_hpack_codec.c
      type: uint_fast32_t
    - item_type: typedef
      name: dtbl_size_t
      pos:
        line_end: 151
        line_start: 151
        source_file: /src/mhd2/src/mhd2/h2/hpack/mhd_hpack_codec.c
      type: uint_least16_t
    - item_type: typedef
      name: dtbl_size_ft
      pos:
        line_end: 158
        line_start: 158
        source_file: /src/mhd2/src/mhd2/h2/hpack/mhd_hpack_codec.c
      type: uint_fast16_t
    - item_type: typedef
      name: dtbl_idx_t
      pos:
        line_end: 164
        line_start: 164
        source_file: /src/mhd2/src/mhd2/h2/hpack/mhd_hpack_codec.c
      type: uint_least16_t
    - item_type: typedef
      name: dtbl_idx_ft
      pos:
        line_end: 171
        line_start: 171
        source_file: /src/mhd2/src/mhd2/h2/hpack/mhd_hpack_codec.c
      type: uint_fast16_t
    union: []
- function_names:
  - mhd_HPACK_DEC_RES_IS_ERR
  source_file: /src/mhd2/src/mhd2/h2/hpack/mhd_hpack_codec.h
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: MHD_HPACK_CODEC_H
      pos:
        line_end: 48
        line_start: 47
        source_file: /src/mhd2/src/mhd2/h2/hpack/mhd_hpack_codec.h
      type_or_value: '1'
    - item_type: preproc_def
      name: mhd_HPACK_DTBL_BITS
      pos:
        line_end: 59
        line_start: 58
        source_file: /src/mhd2/src/mhd2/h2/hpack/mhd_hpack_codec.h
      type_or_value: '32'
    - item_type: preproc_def
      name: mhd_HPACK_DTBL_BITS
      pos:
        line_end: 61
        line_start: 60
        source_file: /src/mhd2/src/mhd2/h2/hpack/mhd_hpack_codec.h
      type_or_value: '16'
    - item_type: preproc_def
      name: mhd_DTBL_MAX_SIZE
      pos:
        line_end: 74
        line_start: 73
        source_file: /src/mhd2/src/mhd2/h2/hpack/mhd_hpack_codec.h
      type_or_value: (((size_t) 1u) * 1024u * 1024u)
    - item_type: preproc_def
      name: mhd_DTBL_MAX_SIZE
      pos:
        line_end: 76
        line_start: 75
        source_file: /src/mhd2/src/mhd2/h2/hpack/mhd_hpack_codec.h
      type_or_value: (((size_t) 60u) * 1024u)
    structs: []
    typedefs: []
    union: []
- function_names: []
  source_file: /src/mhd2/src/mhd2/h2/hpack/mhd_hpack_enc_types.h
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: MHD_HPACK_ENC_TYPES_H
      pos:
        line_end: 46
        line_start: 45
        source_file: /src/mhd2/src/mhd2/h2/hpack/mhd_hpack_enc_types.h
      type_or_value: '1'
    structs:
    - fields:
      - name: '*dyn'
        type: struct mhd_HpackDTblContext
      - name: dyn_size_new
        type: size_t
      - name: dyn_size_smallest
        type: size_t
      - name: dyn_size_peer
        type: size_t
      item_type: struct
      name: mhd_HpackEncContext
      pos:
        line_end: 89
        line_start: 56
        source_file: /src/mhd2/src/mhd2/h2/hpack/mhd_hpack_enc_types.h
    typedefs: []
    union: []
- function_names:
  - mhd_GET_H2HUFF_CODE_AS_UINTFAST32_ALG
  - mhd_h2_huffman_encode
  - HUFF_DTBL_SIZE_ROUNDED
  - HUFF_DTBL_ENTRIES
  - HUFF_DTBL_SIZE
  - HUFF_DTBL_SIZE
  - init_decode_table_entries_per_sym
  - init_decode_table
  - mhd_h2_huffman_init
  - mhd_h2_huffman_decode
  - HUFF_DTBL_START
  source_file: /src/mhd2/src/mhd2/h2/hpack/h2_huffman_codec.c
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: MHD_USE_CODE_HARDENING
      pos:
        line_end: 70
        line_start: 69
        source_file: /src/mhd2/src/mhd2/h2/hpack/h2_huffman_codec.c
      type_or_value: '1'
    - item_type: preproc_def
      name: mhd_H2HUFF_LONGEST_CODE_SYM
      pos:
        line_end: 616
        line_start: 615
        source_file: /src/mhd2/src/mhd2/h2/hpack/h2_huffman_codec.c
      type_or_value: 22u
    - item_type: preproc_def
      name: MHD_USE_HUFFMAN_DECODE_TABLES_TAIL_GAP
      pos:
        line_end: 762
        line_start: 761
        source_file: /src/mhd2/src/mhd2/h2/hpack/h2_huffman_codec.c
      type_or_value: '1'
    - item_type: preproc_def
      name: MHD_USE_HUFFMAN_DECODE_TABLES_TAIL_GAP
      pos:
        line_end: 764
        line_start: 763
        source_file: /src/mhd2/src/mhd2/h2/hpack/h2_huffman_codec.c
      type_or_value: '0'
    - item_type: preproc_def
      name: mhd_HF_DEC64
      pos:
        line_end: 1106
        line_start: 1105
        source_file: /src/mhd2/src/mhd2/h2/hpack/h2_huffman_codec.c
      type_or_value: '1'
    structs: []
    typedefs: []
    union: []
- function_names: []
  source_file: /src/mhd2/src/mhd2/h2/hpack/h2_huffman_codec.h
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: MHD_H2_HUFFMAN_CODEC_H
      pos:
        line_end: 46
        line_start: 45
        source_file: /src/mhd2/src/mhd2/h2/hpack/h2_huffman_codec.h
      type_or_value: '1'
    structs: []
    typedefs: []
    union: []
- function_names: []
  source_file: /src/mhd2/src/mhd2/h2/hpack/mhd_hpack_dec_types.h
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: MHD_HPACK_DEC_TYPES_H
      pos:
        line_end: 46
        line_start: 45
        source_file: /src/mhd2/src/mhd2/h2/hpack/mhd_hpack_dec_types.h
      type_or_value: '1'
    structs:
    - fields:
      - name: '*dyn'
        type: struct mhd_HpackDTblContext
      - name: max_allowed_dyn_size
        type: size_t
      - name: last_remote_dyn_size
        type: size_t
      item_type: struct
      name: mhd_HpackDecContext
      pos:
        line_end: 73
        line_start: 56
        source_file: /src/mhd2/src/mhd2/h2/hpack/mhd_hpack_dec_types.h
    typedefs: []
    union: []
- function_names:
  - uint_least32_t::mhd_h2_huffman_est_min_size
  - uint_least32_t::mhd_h2_huffman_est_avg_size
  source_file: /src/mhd2/src/mhd2/h2/hpack/h2_huffman_est.h
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: MHD_H2_HUFFMAN_EST_H
      pos:
        line_end: 46
        line_start: 45
        source_file: /src/mhd2/src/mhd2/h2/hpack/h2_huffman_est.h
      type_or_value: '1'
    structs: []
    typedefs: []
    union: []
- function_names:
  - MHD_FN_PAR_NONNULL_
  - MHD_FN_PAR_IN_
  - MHD_FN_PAR_IN_SIZE_
  - MHD_FN_PAR_OUT_
  - MHD_FN_PAR_OUT_SIZE_
  - MHD_FN_PAR_INOUT_
  - MHD_FN_PAR_INOUT_SIZE_
  - MHD_FN_PAR_FD_READ_
  - MHD_FN_PAR_CSTR_
  - MHD_FN_PAR_FIX_ARR_SIZE_
  - MHD_FN_PAR_FIX_ARR_SIZE_
  - MHD_FN_PAR_DYN_ARR_SIZE_
  - MHD_FN_PAR_DYN_ARR_SIZE_
  - mhd_FN_RET_ALIGNED
  - mhd_FN_RET_SIZED
  - mhd_FN_OBJ_CONSTRUCTOR
  - mhd_ENUM_BASE_T
  - mhd_DROP_CONST
  - mhd_DROP_CONST
  - mhd_DROP_CONST
  - mhd_INT_TO_PTR
  - mhd_INT_TO_PTR
  - mhd_UINT_TO_PTR
  - mhd_UINT_TO_PTR
  - mhd_PTR_TO_INT
  - mhd_PTR_TO_INT
  - mhd_PTR_TO_INT
  - mhd_PTR_TO_INT
  - mhd_PTR_TO_INT
  source_file: /src/mhd2/src/incl_priv/mhd_sys_options.h
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: MHD_SYS_OPTIONS_H
      pos:
        line_end: 54
        line_start: 53
        source_file: /src/mhd2/src/incl_priv/mhd_sys_options.h
      type_or_value: '1'
    - item_type: preproc_def
      name: _WIN32
      pos:
        line_end: 69
        line_start: 68
        source_file: /src/mhd2/src/incl_priv/mhd_sys_options.h
      type_or_value: '1'
    - item_type: preproc_def
      name: MHD_VISIBILITY_EXTERN
      pos:
        line_end: 76
        line_start: 75
        source_file: /src/mhd2/src/incl_priv/mhd_sys_options.h
      type_or_value: __attribute__((visibility ("default")))
    - item_type: preproc_def
      name: MHD_EXPORTED
      pos:
        line_end: 86
        line_start: 85
        source_file: /src/mhd2/src/incl_priv/mhd_sys_options.h
      type_or_value: __declspec(dllexport)
    - item_type: preproc_def
      name: MHD_EXTERN_USED
      pos:
        line_end: 92
        line_start: 91
        source_file: /src/mhd2/src/incl_priv/mhd_sys_options.h
      type_or_value: __attribute__((used))
    - item_type: preproc_def
      name: mhd_EXTERNALLY_ACCESSIBLE
      pos:
        line_end: 99
        line_start: 98
        source_file: /src/mhd2/src/incl_priv/mhd_sys_options.h
      type_or_value: __attribute__ ((externally_visible))
    - item_type: preproc_def
      name: MHD_EXTERN_
      pos:
        line_end: 113
        line_start: 110
        source_file: /src/mhd2/src/incl_priv/mhd_sys_options.h
      type_or_value: "extern MHD_VISIBILITY_EXTERN MHD_EXPORTED \\\n            mhd_EXTERNALLY_ACCESSIBLE
        MHD_EXTERN_USED"
    - item_type: preproc_def
      name: MHD_EXTERN_
      pos:
        line_end: 116
        line_start: 115
        source_file: /src/mhd2/src/incl_priv/mhd_sys_options.h
      type_or_value: extern
    - item_type: preproc_def
      name: MHD_VISIBILITY_HIDDEN
      pos:
        line_end: 123
        line_start: 122
        source_file: /src/mhd2/src/incl_priv/mhd_sys_options.h
      type_or_value: __attribute__((visibility ("hidden")))
    - item_type: preproc_def
      name: MHD_VISIBILITY_INTERNAL
      pos:
        line_end: 132
        line_start: 131
        source_file: /src/mhd2/src/incl_priv/mhd_sys_options.h
      type_or_value: __attribute__((visibility ("internal")))
    - item_type: preproc_def
      name: MHD_VISIBILITY_INTERNAL
      pos:
        line_end: 135
        line_start: 134
        source_file: /src/mhd2/src/incl_priv/mhd_sys_options.h
      type_or_value: MHD_VISIBILITY_HIDDEN
    - item_type: preproc_def
      name: MHD_INTERNAL
      pos:
        line_end: 139
        line_start: 138
        source_file: /src/mhd2/src/incl_priv/mhd_sys_options.h
      type_or_value: MHD_VISIBILITY_INTERNAL
    - item_type: preproc_def
      name: MHD_FN_PURE_
      pos:
        line_end: 142
        line_start: 141
        source_file: /src/mhd2/src/incl_priv/mhd_sys_options.h
      type_or_value: __attribute__((pure))
    - item_type: preproc_def
      name: MHD_FN_CONST_
      pos:
        line_end: 148
        line_start: 147
        source_file: /src/mhd2/src/incl_priv/mhd_sys_options.h
      type_or_value: __attribute__((const))
    - item_type: preproc_def
      name: MHD_FN_CONST_
      pos:
        line_end: 150
        line_start: 149
        source_file: /src/mhd2/src/incl_priv/mhd_sys_options.h
      type_or_value: MHD_FN_PURE_
    - item_type: preproc_def
      name: MHD_FN_MUST_CHECK_RESULT_
      pos:
        line_end: 154
        line_start: 153
        source_file: /src/mhd2/src/incl_priv/mhd_sys_options.h
      type_or_value: __attribute__ ((warn_unused_result))
    - item_type: preproc_def
      name: MHD_FN_RETURNS_NONNULL_
      pos:
        line_end: 160
        line_start: 159
        source_file: /src/mhd2/src/incl_priv/mhd_sys_options.h
      type_or_value: __attribute__ ((returns_nonnull))
    - item_type: preproc_def
      name: MHD_FN_PAR_NONNULL_ALL_
      pos:
        line_end: 172
        line_start: 171
        source_file: /src/mhd2/src/incl_priv/mhd_sys_options.h
      type_or_value: __attribute__ ((nonnull))
    - item_type: preproc_def
      name: mhd_FN_RET_UNALIASED
      pos:
        line_end: 270
        line_start: 269
        source_file: /src/mhd2/src/incl_priv/mhd_sys_options.h
      type_or_value: __attribute__((malloc))
    - item_type: preproc_def
      name: MHD_FIXED_ENUM_
      pos:
        line_end: 295
        line_start: 294
        source_file: /src/mhd2/src/incl_priv/mhd_sys_options.h
      type_or_value: __attribute__((enum_extensibility (closed)))
    - item_type: preproc_def
      name: MHD_FLAGS_ENUM_
      pos:
        line_end: 301
        line_start: 300
        source_file: /src/mhd2/src/incl_priv/mhd_sys_options.h
      type_or_value: __attribute__((flag_enum))
    - item_type: preproc_def
      name: MHD_FIXED_FLAGS_ENUM_
      pos:
        line_end: 306
        line_start: 305
        source_file: /src/mhd2/src/incl_priv/mhd_sys_options.h
      type_or_value: MHD_FIXED_ENUM_ MHD_FLAGS_ENUM_
    - item_type: preproc_def
      name: MHD_INLINE
      pos:
        line_end: 309
        line_start: 308
        source_file: /src/mhd2/src/incl_priv/mhd_sys_options.h
      type_or_value: inline
    - item_type: preproc_def
      name: MHD_RESTRICT
      pos:
        line_end: 311
        line_start: 310
        source_file: /src/mhd2/src/incl_priv/mhd_sys_options.h
      type_or_value: restrict
    - item_type: preproc_def
      name: MHD_FIXED_ENUM_APP_SET_
      pos:
        line_end: 316
        line_start: 315
        source_file: /src/mhd2/src/incl_priv/mhd_sys_options.h
      type_or_value: MHD_FIXED_ENUM_
    - item_type: preproc_def
      name: MHD_FLAGS_ENUM_APP_SET_
      pos:
        line_end: 320
        line_start: 319
        source_file: /src/mhd2/src/incl_priv/mhd_sys_options.h
      type_or_value: MHD_FLAGS_ENUM_
    - item_type: preproc_def
      name: MHD_FLAGS_ENUM_APP_SET_
      pos:
        line_end: 322
        line_start: 321
        source_file: /src/mhd2/src/incl_priv/mhd_sys_options.h
      type_or_value: MHD_FLAGS_ENUM_
    - item_type: preproc_def
      name: MHD_FIXED_FLAGS_ENUM_APP_SET_
      pos:
        line_end: 326
        line_start: 325
        source_file: /src/mhd2/src/incl_priv/mhd_sys_options.h
      type_or_value: 'MHD_FLAGS_ENUM_ '
    - item_type: preproc_def
      name: MHD_FIXED_FLAGS_ENUM_APP_SET_
      pos:
        line_end: 328
        line_start: 327
        source_file: /src/mhd2/src/incl_priv/mhd_sys_options.h
      type_or_value: MHD_FIXED_FLAGS_ENUM_
    - item_type: preproc_def
      name: MHD_FIXED_ENUM_MHD_SET_
      pos:
        line_end: 332
        line_start: 331
        source_file: /src/mhd2/src/incl_priv/mhd_sys_options.h
      type_or_value: MHD_FIXED_ENUM_
    - item_type: preproc_def
      name: MHD_FLAGS_ENUM_MHD_SET_
      pos:
        line_end: 338
        line_start: 337
        source_file: /src/mhd2/src/incl_priv/mhd_sys_options.h
      type_or_value: MHD_FLAGS_ENUM_
    - item_type: preproc_def
      name: MHD_FLAGS_ENUM_MHD_SET_
      pos:
        line_end: 340
        line_start: 339
        source_file: /src/mhd2/src/incl_priv/mhd_sys_options.h
      type_or_value: MHD_FLAGS_ENUM_
    - item_type: preproc_def
      name: MHD_FIXED_FLAGS_ENUM_MHD_SET_
      pos:
        line_end: 344
        line_start: 343
        source_file: /src/mhd2/src/incl_priv/mhd_sys_options.h
      type_or_value: MHD_FIXED_FLAGS_ENUM_
    - item_type: preproc_def
      name: MHD_FIXED_FLAGS_ENUM_MHD_SET_
      pos:
        line_end: 346
        line_start: 345
        source_file: /src/mhd2/src/incl_priv/mhd_sys_options.h
      type_or_value: 'MHD_FLAGS_ENUM_ '
    - item_type: preproc_def
      name: MHD_FLAGS_ENUM_MHD_APP_SET_
      pos:
        line_end: 356
        line_start: 355
        source_file: /src/mhd2/src/incl_priv/mhd_sys_options.h
      type_or_value: MHD_FLAGS_ENUM_
    - item_type: preproc_def
      name: MHD_FLAGS_ENUM_MHD_APP_SET_
      pos:
        line_end: 358
        line_start: 357
        source_file: /src/mhd2/src/incl_priv/mhd_sys_options.h
      type_or_value: MHD_FLAGS_ENUM_
    - item_type: preproc_def
      name: MHD_FIXED_FLAGS_ENUM_MHD_APP_SET_
      pos:
        line_end: 362
        line_start: 361
        source_file: /src/mhd2/src/incl_priv/mhd_sys_options.h
      type_or_value: 'MHD_FLAGS_ENUM_ '
    - item_type: preproc_def
      name: MHD_FIXED_FLAGS_ENUM_MHD_APP_SET_
      pos:
        line_end: 364
        line_start: 363
        source_file: /src/mhd2/src/incl_priv/mhd_sys_options.h
      type_or_value: 'MHD_FLAGS_ENUM_ '
    - item_type: preproc_def
      name: mhd_USE_ENUM_BASE_T
      pos:
        line_end: 369
        line_start: 368
        source_file: /src/mhd2/src/incl_priv/mhd_sys_options.h
      type_or_value: '1'
    - item_type: preproc_def
      name: MHD_FUNC_
      pos:
        line_end: 381
        line_start: 380
        source_file: /src/mhd2/src/incl_priv/mhd_sys_options.h
      type_or_value: __func__
    - item_type: preproc_def
      name: MHD_HAVE_MHD_FUNC_
      pos:
        line_end: 382
        line_start: 381
        source_file: /src/mhd2/src/incl_priv/mhd_sys_options.h
      type_or_value: '1'
    - item_type: preproc_def
      name: MHD_FUNC_
      pos:
        line_end: 384
        line_start: 383
        source_file: /src/mhd2/src/incl_priv/mhd_sys_options.h
      type_or_value: __FUNCTION__
    - item_type: preproc_def
      name: MHD_HAVE_MHD_FUNC_
      pos:
        line_end: 385
        line_start: 384
        source_file: /src/mhd2/src/incl_priv/mhd_sys_options.h
      type_or_value: '1'
    - item_type: preproc_def
      name: MHD_FUNC_
      pos:
        line_end: 387
        line_start: 386
        source_file: /src/mhd2/src/incl_priv/mhd_sys_options.h
      type_or_value: __PRETTY_FUNCTION__
    - item_type: preproc_def
      name: MHD_HAVE_MHD_FUNC_
      pos:
        line_end: 388
        line_start: 387
        source_file: /src/mhd2/src/incl_priv/mhd_sys_options.h
      type_or_value: '1'
    - item_type: preproc_def
      name: MHD_FUNC_
      pos:
        line_end: 390
        line_start: 389
        source_file: /src/mhd2/src/incl_priv/mhd_sys_options.h
      type_or_value: '"**name unavailable**"'
    - item_type: preproc_def
      name: FD_SETSIZE
      pos:
        line_end: 404
        line_start: 403
        source_file: /src/mhd2/src/incl_priv/mhd_sys_options.h
      type_or_value: '4096 '
    - item_type: preproc_def
      name: FD_SETSIZE
      pos:
        line_end: 406
        line_start: 405
        source_file: /src/mhd2/src/incl_priv/mhd_sys_options.h
      type_or_value: '1024 '
    - item_type: preproc_def
      name: MHD_FD_SETSIZE_IS_DEFAULT_
      pos:
        line_end: 410
        line_start: 409
        source_file: /src/mhd2/src/incl_priv/mhd_sys_options.h
      type_or_value: '1'
    - item_type: preproc_def
      name: mhd_USE_SENDFILE
      pos:
        line_end: 416
        line_start: 415
        source_file: /src/mhd2/src/incl_priv/mhd_sys_options.h
      type_or_value: '1'
    - item_type: preproc_def
      name: MHD_SUPPORT_THREADS
      pos:
        line_end: 422
        line_start: 421
        source_file: /src/mhd2/src/incl_priv/mhd_sys_options.h
      type_or_value: '1'
    - item_type: preproc_def
      name: mhd_W32_NATIVE
      pos:
        line_end: 431
        line_start: 430
        source_file: /src/mhd2/src/incl_priv/mhd_sys_options.h
      type_or_value: '1'
    - item_type: preproc_def
      name: _CRT_DECLARE_NONSTDC_NAMES
      pos:
        line_end: 498
        line_start: 497
        source_file: /src/mhd2/src/incl_priv/mhd_sys_options.h
      type_or_value: '1'
    - item_type: preproc_def
      name: _CRT_NONSTDC_NO_WARNINGS
      pos:
        line_end: 500
        line_start: 499
        source_file: /src/mhd2/src/incl_priv/mhd_sys_options.h
      type_or_value: '1'
    - item_type: preproc_def
      name: _WIN32_WINNT
      pos:
        line_end: 502
        line_start: 501
        source_file: /src/mhd2/src/incl_priv/mhd_sys_options.h
      type_or_value: '0x0600'
    - item_type: preproc_def
      name: WIN32_LEAN_AND_MEAN
      pos:
        line_end: 510
        line_start: 509
        source_file: /src/mhd2/src/incl_priv/mhd_sys_options.h
      type_or_value: '1'
    - item_type: preproc_def
      name: __USE_MINGW_ANSI_STDIO
      pos:
        line_end: 516
        line_start: 515
        source_file: /src/mhd2/src/incl_priv/mhd_sys_options.h
      type_or_value: '0 '
    - item_type: preproc_def
      name: RESTRICT
      pos:
        line_end: 521
        line_start: 520
        source_file: /src/mhd2/src/incl_priv/mhd_sys_options.h
      type_or_value: __restrict__
    - item_type: preproc_def
      name: _LARGEFILE64_SOURCE
      pos:
        line_end: 528
        line_start: 527
        source_file: /src/mhd2/src/incl_priv/mhd_sys_options.h
      type_or_value: '1'
    - item_type: preproc_def
      name: __STDC_WANT_LIB_EXT1__
      pos:
        line_end: 534
        line_start: 533
        source_file: /src/mhd2/src/incl_priv/mhd_sys_options.h
      type_or_value: '1'
    - item_type: preproc_def
      name: _REENTRANT
      pos:
        line_end: 539
        line_start: 538
        source_file: /src/mhd2/src/incl_priv/mhd_sys_options.h
      type_or_value: '1 '
    - item_type: preproc_def
      name: NDEBUG
      pos:
        line_end: 548
        line_start: 547
        source_file: /src/mhd2/src/incl_priv/mhd_sys_options.h
      type_or_value: '1 '
    - item_type: preproc_def
      name: _DEBUG
      pos:
        line_end: 550
        line_start: 549
        source_file: /src/mhd2/src/incl_priv/mhd_sys_options.h
      type_or_value: '1 '
    - item_type: preproc_def
      name: MHD_CC_OPTIMISE_FOR_SIZE
      pos:
        line_end: 557
        line_start: 556
        source_file: /src/mhd2/src/incl_priv/mhd_sys_options.h
      type_or_value: '1'
    - item_type: preproc_def
      name: MHD_CC_OPTIMISE_FOR_SPEED
      pos:
        line_end: 559
        line_start: 558
        source_file: /src/mhd2/src/incl_priv/mhd_sys_options.h
      type_or_value: '1'
    - item_type: preproc_def
      name: MHD_FAVOR_FAST_CODE
      pos:
        line_end: 575
        line_start: 574
        source_file: /src/mhd2/src/incl_priv/mhd_sys_options.h
      type_or_value: '1'
    - item_type: preproc_def
      name: MHD_FAVOR_SMALL_CODE
      pos:
        line_end: 577
        line_start: 576
        source_file: /src/mhd2/src/incl_priv/mhd_sys_options.h
      type_or_value: '1'
    - item_type: preproc_def
      name: MHD_FAVOR_FAST_CODE
      pos:
        line_end: 583
        line_start: 582
        source_file: /src/mhd2/src/incl_priv/mhd_sys_options.h
      type_or_value: '1'
    - item_type: preproc_def
      name: mhd_static_inline
      pos:
        line_end: 588
        line_start: 587
        source_file: /src/mhd2/src/incl_priv/mhd_sys_options.h
      type_or_value: 'static inline '
    - item_type: preproc_def
      name: MHD_ASAN_ACTIVE
      pos:
        line_end: 593
        line_start: 592
        source_file: /src/mhd2/src/incl_priv/mhd_sys_options.h
      type_or_value: '1'
    - item_type: preproc_def
      name: MHD_ASAN_ACTIVE
      pos:
        line_end: 596
        line_start: 595
        source_file: /src/mhd2/src/incl_priv/mhd_sys_options.h
      type_or_value: '1'
    - item_type: preproc_def
      name: mhd_DATA_TRUNCATION_RUNTIME_CHECK_DISABLE
      pos:
        line_end: 623
        line_start: 621
        source_file: /src/mhd2/src/incl_priv/mhd_sys_options.h
      type_or_value: __pragma(runtime_checks("c", off))
    - item_type: preproc_def
      name: mhd_DATA_TRUNCATION_RUNTIME_CHECK_RESTORE
      pos:
        line_end: 625
        line_start: 623
        source_file: /src/mhd2/src/incl_priv/mhd_sys_options.h
      type_or_value: __pragma(runtime_checks("c", restore))
    - item_type: preproc_def
      name: mhd_SEND_SPIPE_SUPPRESS_NEEDED
      pos:
        line_end: 634
        line_start: 633
        source_file: /src/mhd2/src/incl_priv/mhd_sys_options.h
      type_or_value: '1'
    - item_type: preproc_def
      name: mhd_USE_TLS_DEBUG_MESSAGES
      pos:
        line_end: 643
        line_start: 642
        source_file: /src/mhd2/src/incl_priv/mhd_sys_options.h
      type_or_value: '1'
    - item_type: preproc_def
      name: MHD_AUTH_DIGEST_DEF_TIMEOUT
      pos:
        line_end: 666
        line_start: 665
        source_file: /src/mhd2/src/incl_priv/mhd_sys_options.h
      type_or_value: '90'
    - item_type: preproc_def
      name: MHD_AUTH_DIGEST_DEF_MAX_NC
      pos:
        line_end: 669
        line_start: 668
        source_file: /src/mhd2/src/incl_priv/mhd_sys_options.h
      type_or_value: '1000'
    - item_type: preproc_def
      name: mhd_HAVE_TLS_THREAD_CLEANUP
      pos:
        line_end: 678
        line_start: 677
        source_file: /src/mhd2/src/incl_priv/mhd_sys_options.h
      type_or_value: '1'
    - item_type: preproc_def
      name: MHD_NORETURN_
      pos:
        line_end: 685
        line_start: 684
        source_file: /src/mhd2/src/incl_priv/mhd_sys_options.h
      type_or_value: __attribute__((__noreturn__))
    - item_type: preproc_def
      name: mhd_FALLTHROUGH
      pos:
        line_end: 687
        line_start: 686
        source_file: /src/mhd2/src/incl_priv/mhd_sys_options.h
      type_or_value: ((void) 0)
    - item_type: preproc_def
      name: bool
      pos:
        line_end: 692
        line_start: 691
        source_file: /src/mhd2/src/incl_priv/mhd_sys_options.h
      type_or_value: _Bool
    - item_type: preproc_def
      name: 'true'
      pos:
        line_end: 693
        line_start: 692
        source_file: /src/mhd2/src/incl_priv/mhd_sys_options.h
      type_or_value: '1'
    - item_type: preproc_def
      name: 'false'
      pos:
        line_end: 694
        line_start: 693
        source_file: /src/mhd2/src/incl_priv/mhd_sys_options.h
      type_or_value: '0'
    - item_type: preproc_def
      name: HAVE_STDBOOL_H
      pos:
        line_end: 697
        line_start: 696
        source_file: /src/mhd2/src/incl_priv/mhd_sys_options.h
      type_or_value: '1'
    - item_type: preproc_def
      name: alignof
      pos:
        line_end: 702
        line_start: 701
        source_file: /src/mhd2/src/incl_priv/mhd_sys_options.h
      type_or_value: _Alignof
    - item_type: preproc_def
      name: __auto_type
      pos:
        line_end: 704
        line_start: 703
        source_file: /src/mhd2/src/incl_priv/mhd_sys_options.h
      type_or_value: auto
    structs: []
    typedefs: []
    union: []
- function_names:
  - AIF_GNUC_SET_INIT_AND_DEINIT
  - AIF_INSTRMACRO
  - AIF_STRMACRO
  - AIF_INCONCAT
  - AIF_CONCAT
  - AIF_W32_DECORVARNAME
  - AIF_W32_DECORVARNAME
  - AIF_W32_INITHELPERVARNAME
  - AIF_W32_INITHELPERVARNAMEDECORSTR
  - AIF_W32_INIT_VFPTR_IN_SEG
  - AIF_W32_INIT_IFPTR_IN_SEG
  - AIF_W32_REG_STAT_INIT_C_USER
  - AIF_W32_REG_STAT_INIT_C_LIB
  - AIF_W32_REG_STAT_INIT_CXX_USER
  - AIF_W32_REG_STAT_INIT_CXX_LIB
  - AIF_W32_REG_STAT_INIT_EARLY1
  - AIF_W32_REG_STAT_INIT_EARLY2
  - AIF_W32_REG_STAT_INIT_LATE
  - AIF_W32_DEINITHELPERVARNAME
  - AIF_W32_DEINITHELPERVARNAMEDECORSTR
  - AIF_W32_DEINIT_VFPTR_IN_SEG
  - AIF_W32_REG_STAT_DEINIT_EARLY
  - AIF_W32_REG_STAT_DEINIT_LATE1
  - AIF_W32_REG_STAT_DEINIT_LATE2
  - AIF_W32_REGISTER_STAT_INIT
  - AIF_W32_REGISTER_STAT_DEINIT
  - AIF_W32_REGISTER_STAT_INIT
  - AIF_W32_REGISTER_STAT_DEINIT
  - AIF_W32_REGISTER_STAT_INIT
  - AIF_W32_REGISTER_STAT_DEINIT
  - AIF_W32_SET_STAT_INIT_AND_DEINIT
  - AIF_W32_SET_STAT_INIT_AND_DEINIT
  - AIF_W32_IS_DLL_DEINIT_SAFE
  - AIF_W32_IS_DLL_DEINIT_SAFE
  - AIF_W32_CALL_USER_DLLMAIN
  - AIF_W32_CALL_USER_DLLMAIN
  - AIF_W32_SET_DLL_INIT_AND_DEINIT
  - AIF_SET_INIT_AND_DEINIT_FUNCS
  - AIF_SET_INIT_AND_DEINIT_FUNCS
  - AIF_SET_INIT_AND_DEINIT_FUNCS
  source_file: /src/mhd2/src/incl_priv/autoinit_funcs.h
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: AIF_HEADER_INCLUDED
      pos:
        line_end: 94
        line_start: 93
        source_file: /src/mhd2/src/incl_priv/autoinit_funcs.h
      type_or_value: '1'
    - item_type: preproc_def
      name: AIF_VERSION
      pos:
        line_end: 100
        line_start: 99
        source_file: /src/mhd2/src/incl_priv/autoinit_funcs.h
      type_or_value: '0x02000301'
    - item_type: preproc_def
      name: AUTOINIT_FUNCS_NO_WARNINGS_W32_ARCH
      pos:
        line_end: 106
        line_start: 105
        source_file: /src/mhd2/src/incl_priv/autoinit_funcs.h
      type_or_value: '1'
    - item_type: preproc_def
      name: AUTOINIT_FUNCS_NO_WARNINGS_SUNPRO_C
      pos:
        line_end: 109
        line_start: 108
        source_file: /src/mhd2/src/incl_priv/autoinit_funcs.h
      type_or_value: '1'
    - item_type: preproc_def
      name: AIF_GNUC_ATTR_CONSTR_SUPPORTED
      pos:
        line_end: 116
        line_start: 115
        source_file: /src/mhd2/src/incl_priv/autoinit_funcs.h
      type_or_value: '1'
    - item_type: preproc_def
      name: AIF_GNUC_ATTR_CONSTR_NOT_SUPPORTED
      pos:
        line_end: 118
        line_start: 117
        source_file: /src/mhd2/src/incl_priv/autoinit_funcs.h
      type_or_value: '1'
    - item_type: preproc_def
      name: AIF_GNUC_ATTR_CONSTR_NOT_SUPPORTED
      pos:
        line_end: 125
        line_start: 124
        source_file: /src/mhd2/src/incl_priv/autoinit_funcs.h
      type_or_value: '1'
    - item_type: preproc_def
      name: AIF_W32_INITVARDECL
      pos:
        line_end: 162
        line_start: 161
        source_file: /src/mhd2/src/incl_priv/autoinit_funcs.h
      type_or_value: extern "C"
    - item_type: preproc_def
      name: AIF_W32_INITHELPERFUNCDECL
      pos:
        line_end: 163
        line_start: 162
        source_file: /src/mhd2/src/incl_priv/autoinit_funcs.h
      type_or_value: static
    - item_type: preproc_def
      name: AIF_W32_INITVARDECL
      pos:
        line_end: 165
        line_start: 164
        source_file: /src/mhd2/src/incl_priv/autoinit_funcs.h
      type_or_value: extern
    - item_type: preproc_def
      name: AIF_W32_INITHELPERFUNCDECL
      pos:
        line_end: 166
        line_start: 165
        source_file: /src/mhd2/src/incl_priv/autoinit_funcs.h
      type_or_value: static
    - item_type: preproc_def
      name: AIF_W32_VARDECORPREFIXSTR
      pos:
        line_end: 182
        line_start: 181
        source_file: /src/mhd2/src/incl_priv/autoinit_funcs.h
      type_or_value: '""'
    - item_type: preproc_def
      name: AIF_W32_VARDECORPREFIX
      pos:
        line_end: 184
        line_start: 183
        source_file: /src/mhd2/src/incl_priv/autoinit_funcs.h
      type_or_value: _
    - item_type: preproc_def
      name: AIF_W32_VARDECORPREFIXSTR
      pos:
        line_end: 186
        line_start: 185
        source_file: /src/mhd2/src/incl_priv/autoinit_funcs.h
      type_or_value: '"_"'
    - item_type: preproc_def
      name: AIF_W32_SEG_STAT_INIT_EARLY1
      pos:
        line_end: 202
        line_start: 201
        source_file: /src/mhd2/src/incl_priv/autoinit_funcs.h
      type_or_value: '".CRT$XCT"'
    - item_type: preproc_def
      name: AIF_W32_SEG_STAT_INIT_EARLY2
      pos:
        line_end: 205
        line_start: 204
        source_file: /src/mhd2/src/incl_priv/autoinit_funcs.h
      type_or_value: '".CRT$XCTa"'
    - item_type: preproc_def
      name: AIF_W32_SEG_STAT_INIT_LATE
      pos:
        line_end: 208
        line_start: 207
        source_file: /src/mhd2/src/incl_priv/autoinit_funcs.h
      type_or_value: '".CRT$XCV"'
    - item_type: preproc_def
      name: AIF_W32_SEG_STAT_INIT_CXX_LIB
      pos:
        line_end: 213
        line_start: 212
        source_file: /src/mhd2/src/incl_priv/autoinit_funcs.h
      type_or_value: '".CRT$XCL"'
    - item_type: preproc_def
      name: AIF_W32_SEG_STAT_INIT_CXX_USER
      pos:
        line_end: 215
        line_start: 214
        source_file: /src/mhd2/src/incl_priv/autoinit_funcs.h
      type_or_value: '".CRT$XCU"'
    - item_type: preproc_def
      name: AIF_W32_SEG_STAT_INIT_C_LIB
      pos:
        line_end: 236
        line_start: 235
        source_file: /src/mhd2/src/incl_priv/autoinit_funcs.h
      type_or_value: '".CRT$XIL"'
    - item_type: preproc_def
      name: AIF_W32_SEG_STAT_INIT_C_USER
      pos:
        line_end: 239
        line_start: 238
        source_file: /src/mhd2/src/incl_priv/autoinit_funcs.h
      type_or_value: '".CRT$XIU"'
    - item_type: preproc_def
      name: AIF_W32_SEG_STAT_DEINIT_FIRST
      pos:
        line_end: 289
        line_start: 288
        source_file: /src/mhd2/src/incl_priv/autoinit_funcs.h
      type_or_value: '".CRT$XPAa"'
    - item_type: preproc_def
      name: AIF_W32_SEG_STAT_DEINIT_SECOND
      pos:
        line_end: 293
        line_start: 292
        source_file: /src/mhd2/src/incl_priv/autoinit_funcs.h
      type_or_value: '".CRT$XPAb"'
    - item_type: preproc_def
      name: AIF_W32_SEG_STAT_DEINIT_THIRD
      pos:
        line_end: 297
        line_start: 296
        source_file: /src/mhd2/src/incl_priv/autoinit_funcs.h
      type_or_value: '".CRT$XPAc"'
    - item_type: preproc_def
      name: WIN32_LEAN_AND_MEAN
      pos:
        line_end: 429
        line_start: 428
        source_file: /src/mhd2/src/incl_priv/autoinit_funcs.h
      type_or_value: '1'
    - item_type: preproc_def
      name: AIF_W32_DLL_PROCESS_ATTACH
      pos:
        line_end: 435
        line_start: 434
        source_file: /src/mhd2/src/incl_priv/autoinit_funcs.h
      type_or_value: DLL_PROCESS_ATTACH
    - item_type: preproc_def
      name: AIF_W32_DLL_PROCESS_ATTACH
      pos:
        line_end: 437
        line_start: 436
        source_file: /src/mhd2/src/incl_priv/autoinit_funcs.h
      type_or_value: '1'
    - item_type: preproc_def
      name: AIF_W32_DLL_PROCESS_DETACH
      pos:
        line_end: 440
        line_start: 439
        source_file: /src/mhd2/src/incl_priv/autoinit_funcs.h
      type_or_value: DLL_PROCESS_DETACH
    - item_type: preproc_def
      name: AIF_W32_DLL_PROCESS_DETACH
      pos:
        line_end: 442
        line_start: 441
        source_file: /src/mhd2/src/incl_priv/autoinit_funcs.h
      type_or_value: '0'
    - item_type: preproc_def
      name: AIF_W32_USR_DLLMAIN_NAME
      pos:
        line_end: 475
        line_start: 474
        source_file: /src/mhd2/src/incl_priv/autoinit_funcs.h
      type_or_value: usr_DllMain
    - item_type: preproc_def
      name: AIF_W32_USR_DLLMAIN_NAME
      pos:
        line_end: 477
        line_start: 476
        source_file: /src/mhd2/src/incl_priv/autoinit_funcs.h
      type_or_value: AUTOINIT_FUNCS_USR_DLLMAIN_NAME
    - item_type: preproc_def
      name: AIF_DECL_USR_DLLMAIN
      pos:
        line_end: 484
        line_start: 481
        source_file: /src/mhd2/src/incl_priv/autoinit_funcs.h
      type_or_value: "BOOL WINAPI AIF_W32_USR_DLLMAIN_NAME (HINSTANCE hinst, DWORD
        reason, \\\n                                               LPVOID pReserved);"
    - item_type: preproc_def
      name: AIF_AUTOINIT_FUNCS_ARE_SUPPORTED
      pos:
        line_end: 522
        line_start: 521
        source_file: /src/mhd2/src/incl_priv/autoinit_funcs.h
      type_or_value: '1'
    - item_type: preproc_def
      name: AIF_AUTOINIT_FUNCS_ARE_SUPPORTED
      pos:
        line_end: 529
        line_start: 528
        source_file: /src/mhd2/src/incl_priv/autoinit_funcs.h
      type_or_value: '1'
    - item_type: preproc_def
      name: AIF_AUTOINIT_FUNCS_ARE_SUPPORTED
      pos:
        line_end: 536
        line_start: 535
        source_file: /src/mhd2/src/incl_priv/autoinit_funcs.h
      type_or_value: '1'
    - item_type: preproc_def
      name: AIF_PRAGMA_INIT_SUPPORTED
      pos:
        line_end: 551
        line_start: 550
        source_file: /src/mhd2/src/incl_priv/autoinit_funcs.h
      type_or_value: '1'
    - item_type: preproc_def
      name: AIF_PRAGMA_FINI_SUPPORTED
      pos:
        line_end: 554
        line_start: 553
        source_file: /src/mhd2/src/incl_priv/autoinit_funcs.h
      type_or_value: '1'
    - item_type: preproc_def
      name: AIF_AUTOINIT_FUNCS_ARE_NOT_SUPPORTED
      pos:
        line_end: 564
        line_start: 563
        source_file: /src/mhd2/src/incl_priv/autoinit_funcs.h
      type_or_value: '1'
    structs: []
    typedefs: []
    union: []
- function_names:
  - "(2) MHD_FN_PAR_NONNULL_ (3)\nconst struct MHD_Action *\nreq_cb (void *cls,\n
    \       struct MHD_Request *MHD_RESTRICT request,\n        const struct MHD_String
    *MHD_RESTRICT path,\n        enum MHD_HTTP_Method method,\n        uint_fast64_t
    upload_size)"
  - main
  source_file: /src/mhd2/src/examples2/minimal_auth_basic.c
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - "(2) MHD_FN_PAR_NONNULL_ (3)\nconst struct MHD_Action *\nreq_cb (void *cls,\n
    \       struct MHD_Request *MHD_RESTRICT request,\n        const struct MHD_String
    *MHD_RESTRICT path,\n        enum MHD_HTTP_Method method,\n        uint_fast64_t
    upload_size)"
  - main
  source_file: /src/mhd2/src/examples2/minimal_example2.c
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - handle_upload
  - handle_request
  - sock_reg_update_cb
  - mark_as_html
  - main
  source_file: /src/mhd2/src/examples2/json_echo.c
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: MHD_APP_SOCKET_CNTX_TYPE
      pos:
        line_end: 59
        line_start: 58
        source_file: /src/mhd2/src/examples2/json_echo.c
      type_or_value: struct AppSockContext
    - item_type: preproc_def
      name: BAD_REQUEST_PAGE
      pos:
        line_end: 67
        line_start: 65
        source_file: /src/mhd2/src/examples2/json_echo.c
      type_or_value: '"<html><head><title>Illegal request</title></head><body>Go away.</body></html>"'
    - item_type: preproc_def
      name: FILE_NOT_FOUND_PAGE
      pos:
        line_end: 73
        line_start: 71
        source_file: /src/mhd2/src/examples2/json_echo.c
      type_or_value: '"<html><head><title>Not found</title></head><body>Go away.</body></html>"'
    structs:
    - fields:
      - name: '*next'
        type: struct AppSockContext
      - name: '*prev'
        type: struct AppSockContext
      - name: '*ecb_cntx'
        type: struct MHD_EventUpdateContext
      - name: fd
        type: MHD_Socket
      item_type: struct
      name: AppSockContext
      pos:
        line_end: 83
        line_start: 77
        source_file: /src/mhd2/src/examples2/json_echo.c
    typedefs: []
    union: []
- function_names:
  - my_mutex_init
  - my_mutex_destroy
  - my_mutex_lock
  - my_mutex_unlock
  - my_mutex_init
  - my_mutex_destroy
  - my_mutex_lock
  - my_mutex_unlock
  - my_S_ISREG
  - my_S_ISREG
  - my_mkstemp
  - my_mkstemp
  - my_strdup
  - my_strdup
  - mark_as_html
  - update_cached_response
  - list_directory
  - update_directory
  - stream_reader
  - handle_full_upload
  - done_cb
  - generate_page
  - catcher
  - ignore_sigpipe
  - set_utf8_locale
  - main
  source_file: /src/mhd2/src/examples2/demo.c
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: WIN32_LEAN_AND_MEAN
      pos:
        line_end: 88
        line_start: 87
        source_file: /src/mhd2/src/examples2/demo.c
      type_or_value: '1'
    - item_type: preproc_def
      name: MHD_CPU_COUNT
      pos:
        line_end: 107
        line_start: 106
        source_file: /src/mhd2/src/examples2/demo.c
      type_or_value: '2'
    - item_type: preproc_def
      name: PATH_MAX
      pos:
        line_end: 112
        line_start: 111
        source_file: /src/mhd2/src/examples2/demo.c
      type_or_value: MAX_PATH
    - item_type: preproc_def
      name: PATH_MAX
      pos:
        line_end: 116
        line_start: 115
        source_file: /src/mhd2/src/examples2/demo.c
      type_or_value: '16384'
    - item_type: preproc_def
      name: NUMBER_OF_THREADS
      pos:
        line_end: 124
        line_start: 123
        source_file: /src/mhd2/src/examples2/demo.c
      type_or_value: MHD_CPU_COUNT
    - item_type: preproc_def
      name: MAGIC_HEADER_SIZE
      pos:
        line_end: 132
        line_start: 131
        source_file: /src/mhd2/src/examples2/demo.c
      type_or_value: (16 * 1024)
    - item_type: preproc_def
      name: snprintf
      pos:
        line_end: 137
        line_start: 136
        source_file: /src/mhd2/src/examples2/demo.c
      type_or_value: _snprintf
    - item_type: preproc_def
      name: FILE_NOT_FOUND_PAGE
      pos:
        line_end: 210
        line_start: 208
        source_file: /src/mhd2/src/examples2/demo.c
      type_or_value: '"<html><head><title>File not found</title></head><body>File
        not found</body></html>"'
    - item_type: preproc_def
      name: INTERNAL_ERROR_PAGE
      pos:
        line_end: 217
        line_start: 215
        source_file: /src/mhd2/src/examples2/demo.c
      type_or_value: '"<html><head><title>Internal error</title></head><body>Internal
        error</body></html>"'
    - item_type: preproc_def
      name: REQUEST_REFUSED_PAGE
      pos:
        line_end: 224
        line_start: 222
        source_file: /src/mhd2/src/examples2/demo.c
      type_or_value: '"<html><head><title>Request refused</title></head><body>Request
        refused (file exists?)</body></html>"'
    - item_type: preproc_def
      name: INDEX_PAGE_HEADER
      pos:
        line_end: 252
        line_start: 229
        source_file: /src/mhd2/src/examples2/demo.c
      type_or_value: "\"<html>\\n<head><title>Welcome</title></head>\\n<body>\\n\"
        \\\n        \"<h1>Upload</h1>\\n\" \\\n        \"<form method=\\\"POST\\\"
        enctype=\\\"multipart/form-data\\\" action=\\\"/\\\">\\n\" \\\n        \"<dl><dt>Content
        type:</dt><dd>\" \\\n        \"<input type=\\\"radio\\\" name=\\\"category\\\"
        value=\\\"books\\\">Book</input>\" \\\n        \"<input type=\\\"radio\\\"
        name=\\\"category\\\" value=\\\"images\\\">Image</input>\" \\\n        \"<input
        type=\\\"radio\\\" name=\\\"category\\\" value=\\\"music\\\">Music</input>\"
        \\\n        \"<input type=\\\"radio\\\" name=\\\"category\\\" value=\\\"software\\\">Software</input>\"
        \\\n        \"<input type=\\\"radio\\\" name=\\\"category\\\" value=\\\"videos\\\">Videos</input>\\n\"
        \\\n        \"<input type=\\\"radio\\\" name=\\\"category\\\" value=\\\"other\\\"
        checked>Other</input></dd>\" \\\n        \"<dt>Language:</dt><dd>\" \\\n        \"<input
        type=\\\"radio\\\" name=\\\"language\\\" value=\\\"no-lang\\\" checked>none</input>\"
        \\\n        \"<input type=\\\"radio\\\" name=\\\"language\\\" value=\\\"en\\\">English</input>\"
        \\\n        \"<input type=\\\"radio\\\" name=\\\"language\\\" value=\\\"de\\\">German</input>\"
        \\\n        \"<input type=\\\"radio\\\" name=\\\"language\\\" value=\\\"fr\\\">French</input>\"
        \\\n        \"<input type=\\\"radio\\\" name=\\\"language\\\" value=\\\"es\\\">Spanish</input></dd>\\n\"
        \\\n        \"<dt>File:</dt><dd>\" \\\n        \"<input type=\\\"file\\\"
        name=\\\"upload\\\"/></dd></dl>\" \\\n        \"<input type=\\\"submit\\\"
        value=\\\"Send!\\\"/>\\n\" \\\n        \"</form>\\n\" \\\n        \"<h1>Download</h1>\\n\"
        \\\n        \"<ol>\\n\""
    - item_type: preproc_def
      name: INDEX_PAGE_FOOTER
      pos:
        line_end: 257
        line_start: 256
        source_file: /src/mhd2/src/examples2/demo.c
      type_or_value: '"</ol>\n</body>\n</html>"'
    structs:
    - fields:
      - name: '*dirname'
        type: char
      - name: '*longname'
        type: char
      item_type: struct
      name: Language
      pos:
        line_end: 289
        line_start: 277
        source_file: /src/mhd2/src/examples2/demo.c
    - fields:
      - name: '*buf'
        type: char
      - name: buf_size
        type: size_t
      - name: 'off'
        type: size_t
      item_type: struct
      name: ResponseDataContext
      pos:
        line_end: 399
        line_start: 382
        source_file: /src/mhd2/src/examples2/demo.c
    - fields:
      - name: fd
        type: int
      - name: tmpname[PATH_MAX + 1]
        type: char
      - name: '*filename'
        type: char
      - name: have_file
        type: bool
      - name: error_file
        type: bool
      item_type: struct
      name: UploadContext
      pos:
        line_end: 656
        line_start: 629
        source_file: /src/mhd2/src/examples2/demo.c
    typedefs:
    - item_type: typedef
      name: my_mutex_t
      pos:
        line_end: 81
        line_start: 81
        source_file: /src/mhd2/src/examples2/demo.c
      type: pthread_mutex_t
    - item_type: typedef
      name: my_mutex_t
      pos:
        line_end: 89
        line_start: 89
        source_file: /src/mhd2/src/examples2/demo.c
      type: CRITICAL_SECTION
    union: []
- function_names:
  - "(2) MHD_FN_PAR_NONNULL_ (3)\nconst struct MHD_Action *\nreq_cb (void *cls,\n
    \       struct MHD_Request *MHD_RESTRICT request,\n        const struct MHD_String
    *MHD_RESTRICT path,\n        enum MHD_HTTP_Method method,\n        uint_fast64_t
    upload_size)"
  - main
  - init_entropy_bytes
  source_file: /src/mhd2/src/examples2/minimal_auth_digest.c
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
